(function(global,factory){if(typeof module==="object"&&typeof module.exports==="object"){module.exports=global.document?factory(global,true):function(w){if(!w.document){throw new Error("jQuery requires a window with a document")}return factory(w)}}else{factory(global)}})(typeof window!=="undefined"?window:this,function(window,noGlobal){var arr=[];var slice=arr.slice;var concat=arr.concat;var push=arr.push;var indexOf=arr.indexOf;var class2type={};var toString=class2type.toString;var hasOwn=class2type.hasOwnProperty;var support={};var document=window.document,version="2.1.4",jQuery=function(selector,context){return new jQuery.fn.init(selector,context)},rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,rmsPrefix=/^-ms-/,rdashAlpha=/-([\da-z])/gi,fcamelCase=function(all,letter){return letter.toUpperCase()};jQuery.fn=jQuery.prototype={jquery:version,constructor:jQuery,selector:"",length:0,toArray:function(){return slice.call(this)},get:function(num){return num!=null?num<0?this[num+this.length]:this[num]:slice.call(this)},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);ret.prevObject=this;ret.context=this.context;return ret},each:function(callback,args){return jQuery.each(this,callback,args)},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},slice:function(){return this.pushStack(slice.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(i){var len=this.length,j=+i+(i<0?len:0);return this.pushStack(j>=0&&j<len?[this[j]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:push,sort:arr.sort,splice:arr.splice};jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;if(typeof target==="boolean"){deep=target;target=arguments[i]||{};i++}if(typeof target!=="object"&&!jQuery.isFunction(target)){target={}}if(i===length){target=this;i--}for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){src=target[name];copy=options[name];if(target===copy){continue}if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&jQuery.isArray(src)?src:[]}else{clone=src&&jQuery.isPlainObject(src)?src:{}}target[name]=jQuery.extend(deep,clone,copy)}else if(copy!==undefined){target[name]=copy}}}}return target};jQuery.extend({expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),isReady:true,error:function(msg){throw new Error(msg)},noop:function(){},isFunction:function(obj){return jQuery.type(obj)==="function"},isArray:Array.isArray,isWindow:function(obj){return obj!=null&&obj===obj.window},isNumeric:function(obj){return!jQuery.isArray(obj)&&obj-parseFloat(obj)+1>=0},isPlainObject:function(obj){if(jQuery.type(obj)!=="object"||obj.nodeType||jQuery.isWindow(obj)){return false}if(obj.constructor&&!hasOwn.call(obj.constructor.prototype,"isPrototypeOf")){return false}return true},isEmptyObject:function(obj){var name;for(name in obj){return false}return true},type:function(obj){if(obj==null){return obj+""}return typeof obj==="object"||typeof obj==="function"?class2type[toString.call(obj)]||"object":typeof obj},globalEval:function(code){var script,indirect=eval;code=jQuery.trim(code);if(code){if(code.indexOf("use strict")===1){script=document.createElement("script");script.text=code;document.head.appendChild(script).parentNode.removeChild(script)}else{indirect(code)}}},camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase)},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase()},each:function(obj,callback,args){var value,i=0,length=obj.length,isArray=isArraylike(obj);if(args){if(isArray){for(;i<length;i++){value=callback.apply(obj[i],args);if(value===false){break}}}else{for(i in obj){value=callback.apply(obj[i],args);if(value===false){break}}}}else{if(isArray){for(;i<length;i++){value=callback.call(obj[i],i,obj[i]);if(value===false){break}}}else{for(i in obj){value=callback.call(obj[i],i,obj[i]);if(value===false){break}}}}return obj},trim:function(text){return text==null?"":(text+"").replace(rtrim,"")},makeArray:function(arr,results){var ret=results||[];if(arr!=null){if(isArraylike(Object(arr))){jQuery.merge(ret,typeof arr==="string"?[arr]:arr)}else{push.call(ret,arr)}}return ret},inArray:function(elem,arr,i){return arr==null?-1:indexOf.call(arr,elem,i)},merge:function(first,second){var len=+second.length,j=0,i=first.length;for(;j<len;j++){first[i++]=second[j]}first.length=i;return first},grep:function(elems,callback,invert){var callbackInverse,matches=[],i=0,length=elems.length,callbackExpect=!invert;for(;i<length;i++){callbackInverse=!callback(elems[i],i);if(callbackInverse!==callbackExpect){matches.push(elems[i])}}return matches},map:function(elems,callback,arg){var value,i=0,length=elems.length,isArray=isArraylike(elems),ret=[];if(isArray){for(;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret.push(value)}}}else{for(i in elems){value=callback(elems[i],i,arg);if(value!=null){ret.push(value)}}}return concat.apply([],ret)},guid:1,proxy:function(fn,context){var tmp,args,proxy;if(typeof context==="string"){tmp=fn[context];context=fn;fn=tmp}if(!jQuery.isFunction(fn)){return undefined}args=slice.call(arguments,2);proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)))};proxy.guid=fn.guid=fn.guid||jQuery.guid++;return proxy},now:Date.now,support:support});jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase()});function isArraylike(obj){var length="length"in obj&&obj.length,type=jQuery.type(obj);if(type==="function"||jQuery.isWindow(obj)){return false}if(obj.nodeType===1&&length){return true}return type==="array"||length===0||typeof length==="number"&&length>0&&length-1 in obj}var Sizzle=function(window){var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,setDocument,document,docElem,documentIsHTML,rbuggyQSA,rbuggyMatches,matches,contains,expando="sizzle"+1*new Date,preferredDoc=window.document,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),sortOrder=function(a,b){if(a===b){hasDuplicate=true}return 0},MAX_NEGATIVE=1<<31,hasOwn={}.hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,indexOf=function(list,elem){var i=0,len=list.length;for(;i<len;i++){if(list[i]===elem){return i}}return-1},booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",whitespace="[\\x20\\t\\r\\n\\f]",characterEncoding="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",identifier=characterEncoding.replace("w","w#"),attributes="\\["+whitespace+"*("+characterEncoding+")(?:"+whitespace+"*([*^$|!~]?=)"+whitespace+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+whitespace+"*\\]",pseudos=":("+characterEncoding+")(?:\\(("+"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|"+"((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|"+".*"+")\\)|)",rwhitespace=new RegExp(whitespace+"+","g"),rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g"),rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rcombinators=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+"*"),rattributeQuotes=new RegExp("="+whitespace+"*([^\\]'\"]*?)"+whitespace+"*\\]","g"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={ID:new RegExp("^#("+characterEncoding+")"),CLASS:new RegExp("^\\.("+characterEncoding+")"),TAG:new RegExp("^("+characterEncoding.replace("w","w*")+")"),ATTR:new RegExp("^"+attributes),PSEUDO:new RegExp("^"+pseudos),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),bool:new RegExp("^(?:"+booleans+")$","i"),needsContext:new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,rescape=/'|\\/g,runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function(_,escaped,escapedWhitespace){var high="0x"+escaped-65536;return high!==high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,high&1023|56320)},unloadHandler=function(){setDocument()};try{push.apply(arr=slice.call(preferredDoc.childNodes),preferredDoc.childNodes);arr[preferredDoc.childNodes.length].nodeType}catch(e){push={apply:arr.length?function(target,els){push_native.apply(target,slice.call(els))}:function(target,els){var j=target.length,i=0;while(target[j++]=els[i++]){}target.length=j-1}}}function Sizzle(selector,context,results,seed){var match,elem,m,nodeType,i,groups,old,nid,newContext,newSelector;if((context?context.ownerDocument||context:preferredDoc)!==document){setDocument(context)}context=context||document;results=results||[];nodeType=context.nodeType;if(typeof selector!=="string"||!selector||nodeType!==1&&nodeType!==9&&nodeType!==11){return results}if(!seed&&documentIsHTML){if(nodeType!==11&&(match=rquickExpr.exec(selector))){if(m=match[1]){if(nodeType===9){elem=context.getElementById(m);if(elem&&elem.parentNode){if(elem.id===m){results.push(elem);return results}}else{return results}}else{if(context.ownerDocument&&(elem=context.ownerDocument.getElementById(m))&&contains(context,elem)&&elem.id===m){results.push(elem);return results}}}else if(match[2]){push.apply(results,context.getElementsByTagName(selector));return results}else if((m=match[3])&&support.getElementsByClassName){push.apply(results,context.getElementsByClassName(m));return results}}if(support.qsa&&(!rbuggyQSA||!rbuggyQSA.test(selector))){nid=old=expando;newContext=context;newSelector=nodeType!==1&&selector;if(nodeType===1&&context.nodeName.toLowerCase()!=="object"){groups=tokenize(selector);if(old=context.getAttribute("id")){nid=old.replace(rescape,"\\$&")}else{context.setAttribute("id",nid)}nid="[id='"+nid+"'] ";i=groups.length;while(i--){groups[i]=nid+toSelector(groups[i])}newContext=rsibling.test(selector)&&testContext(context.parentNode)||context;newSelector=groups.join(",")}if(newSelector){try{push.apply(results,newContext.querySelectorAll(newSelector));return results}catch(qsaError){}finally{if(!old){context.removeAttribute("id")}}}}}return select(selector.replace(rtrim,"$1"),context,results,seed)}function createCache(){var keys=[];function cache(key,value){if(keys.push(key+" ")>Expr.cacheLength){delete cache[keys.shift()]}return cache[key+" "]=value}return cache}function markFunction(fn){fn[expando]=true;return fn}function assert(fn){var div=document.createElement("div");try{return!!fn(div)}catch(e){return false}finally{if(div.parentNode){div.parentNode.removeChild(div)}div=null}}function addHandle(attrs,handler){var arr=attrs.split("|"),i=attrs.length;while(i--){Expr.attrHandle[arr[i]]=handler}}function siblingCheck(a,b){var cur=b&&a,diff=cur&&a.nodeType===1&&b.nodeType===1&&(~b.sourceIndex||MAX_NEGATIVE)-(~a.sourceIndex||MAX_NEGATIVE);if(diff){return diff}if(cur){while(cur=cur.nextSibling){if(cur===b){return-1}}}return a?1:-1}function createInputPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type===type}}function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&elem.type===type}}function createPositionalPseudo(fn){return markFunction(function(argument){argument=+argument;return markFunction(function(seed,matches){var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;while(i--){if(seed[j=matchIndexes[i]]){seed[j]=!(matches[j]=seed[j])}}})})}function testContext(context){return context&&typeof context.getElementsByTagName!=="undefined"&&context}support=Sizzle.support={};isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return documentElement?documentElement.nodeName!=="HTML":false};setDocument=Sizzle.setDocument=function(node){var hasCompare,parent,doc=node?node.ownerDocument||node:preferredDoc;if(doc===document||doc.nodeType!==9||!doc.documentElement){return document}document=doc;docElem=doc.documentElement;parent=doc.defaultView;if(parent&&parent!==parent.top){if(parent.addEventListener){parent.addEventListener("unload",unloadHandler,false)}else if(parent.attachEvent){parent.attachEvent("onunload",unloadHandler)}}documentIsHTML=!isXML(doc);support.attributes=assert(function(div){div.className="i";return!div.getAttribute("className")});support.getElementsByTagName=assert(function(div){div.appendChild(doc.createComment(""));return!div.getElementsByTagName("*").length});support.getElementsByClassName=rnative.test(doc.getElementsByClassName);support.getById=assert(function(div){docElem.appendChild(div).id=expando;return!doc.getElementsByName||!doc.getElementsByName(expando).length});if(support.getById){Expr.find["ID"]=function(id,context){if(typeof context.getElementById!=="undefined"&&documentIsHTML){var m=context.getElementById(id);return m&&m.parentNode?[m]:[]}};Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId}}}else{delete Expr.find["ID"];Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return node&&node.value===attrId}}}Expr.find["TAG"]=support.getElementsByTagName?function(tag,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(tag)}else if(support.qsa){return context.querySelectorAll(tag)}}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if(tag==="*"){while(elem=results[i++]){if(elem.nodeType===1){tmp.push(elem)}}return tmp}return results};Expr.find["CLASS"]=support.getElementsByClassName&&function(className,context){if(documentIsHTML){return context.getElementsByClassName(className)}};rbuggyMatches=[];rbuggyQSA=[];if(support.qsa=rnative.test(doc.querySelectorAll)){assert(function(div){docElem.appendChild(div).innerHTML="<a id='"+expando+"'></a>"+"<select id='"+expando+"-\f]' msallowcapture=''>"+"<option selected=''></option></select>";if(div.querySelectorAll("[msallowcapture^='']").length){rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")")}if(!div.querySelectorAll("[selected]").length){rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")")}if(!div.querySelectorAll("[id~="+expando+"-]").length){rbuggyQSA.push("~=")}if(!div.querySelectorAll(":checked").length){rbuggyQSA.push(":checked")}if(!div.querySelectorAll("a#"+expando+"+*").length){rbuggyQSA.push(".#.+[+~]")}});assert(function(div){var input=doc.createElement("input");input.setAttribute("type","hidden");div.appendChild(input).setAttribute("name","D");if(div.querySelectorAll("[name=d]").length){rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?=")}if(!div.querySelectorAll(":enabled").length){rbuggyQSA.push(":enabled",":disabled")}div.querySelectorAll("*,:x");rbuggyQSA.push(",.*:")})}if(support.matchesSelector=rnative.test(matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector)){assert(function(div){support.disconnectedMatch=matches.call(div,"div");matches.call(div,"[s!='']:x");rbuggyMatches.push("!=",pseudos)})}rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|"));rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|"));hasCompare=rnative.test(docElem.compareDocumentPosition);contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=a.nodeType===9?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!!(bup&&bup.nodeType===1&&(adown.contains?adown.contains(bup):a.compareDocumentPosition&&a.compareDocumentPosition(bup)&16))}:function(a,b){if(b){while(b=b.parentNode){if(b===a){return true}}}return false};sortOrder=hasCompare?function(a,b){if(a===b){hasDuplicate=true;return 0}var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;if(compare){return compare}compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1;if(compare&1||!support.sortDetached&&b.compareDocumentPosition(a)===compare){if(a===doc||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)){return-1}if(b===doc||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)){return 1}return sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0}return compare&4?-1:1}:function(a,b){if(a===b){hasDuplicate=true;return 0}var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup){return a===doc?-1:b===doc?1:aup?-1:bup?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0}else if(aup===bup){return siblingCheck(a,b)}cur=a;while(cur=cur.parentNode){ap.unshift(cur)}cur=b;while(cur=cur.parentNode){bp.unshift(cur)}while(ap[i]===bp[i]){i++}return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0};return doc};Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements)};Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document){setDocument(elem)}expr=expr.replace(rattributeQuotes,"='$1']");if(support.matchesSelector&&documentIsHTML&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr))){try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&elem.document.nodeType!==11){return ret}}catch(e){}}return Sizzle(expr,document,null,[elem]).length>0};Sizzle.contains=function(context,elem){if((context.ownerDocument||context)!==document){setDocument(context)}return contains(context,elem)};Sizzle.attr=function(elem,name){if((elem.ownerDocument||elem)!==document){setDocument(elem)}var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):undefined;return val!==undefined?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null};Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg)};Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;hasDuplicate=!support.detectDuplicates;sortInput=!support.sortStable&&results.slice(0);results.sort(sortOrder);if(hasDuplicate){while(elem=results[i++]){if(elem===results[i]){j=duplicates.push(i)}}while(j--){results.splice(duplicates[j],1)}}sortInput=null;return results};getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(!nodeType){while(node=elem[i++]){ret+=getText(node)}}else if(nodeType===1||nodeType===9||nodeType===11){if(typeof elem.textContent==="string"){return elem.textContent}else{for(elem=elem.firstChild;elem;elem=elem.nextSibling){ret+=getText(elem)}}}else if(nodeType===3||nodeType===4){return elem.nodeValue}return ret};Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){match[1]=match[1].replace(runescape,funescape);match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape);if(match[2]==="~="){match[3]=" "+match[3]+" "}return match.slice(0,4)},CHILD:function(match){match[1]=match[1].toLowerCase();if(match[1].slice(0,3)==="nth"){if(!match[3]){Sizzle.error(match[0])}match[4]=+(match[4]?match[5]+(match[6]||1):2*(match[3]==="even"||match[3]==="odd"));match[5]=+(match[7]+match[8]||match[3]==="odd")}else if(match[3]){Sizzle.error(match[0])}return match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];if(matchExpr["CHILD"].test(match[0])){return null}if(match[3]){match[2]=match[4]||match[5]||""}else if(unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,true))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)){match[0]=match[0].slice(0,excess);match[2]=unquoted.slice(0,excess)}return match.slice(0,3)}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return nodeNameSelector==="*"?function(){return true}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName}},CLASS:function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test(typeof elem.className==="string"&&elem.className||typeof elem.getAttribute!=="undefined"&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);if(result==null){return operator==="!="}if(!operator){return true}result+="";return operator==="="?result===check:operator==="!="?result!==check:operator==="^="?check&&result.indexOf(check)===0:operator==="*="?check&&result.indexOf(check)>-1:operator==="$="?check&&result.slice(-check.length)===check:operator==="~="?(" "+result.replace(rwhitespace," ")+" ").indexOf(check)>-1:operator==="|="?result===check||result.slice(0,check.length+1)===check+"-":false}},CHILD:function(type,what,argument,first,last){var simple=type.slice(0,3)!=="nth",forward=type.slice(-4)!=="last",ofType=what==="of-type";return first===1&&last===0?function(elem){return!!elem.parentNode}:function(elem,context,xml){var cache,outerCache,node,diff,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType;if(parent){if(simple){while(dir){node=elem;while(node=node[dir]){if(ofType?node.nodeName.toLowerCase()===name:node.nodeType===1){return false}}start=dir=type==="only"&&!start&&"nextSibling"}return true}start=[forward?parent.firstChild:parent.lastChild];if(forward&&useCache){outerCache=parent[expando]||(parent[expando]={});cache=outerCache[type]||[];nodeIndex=cache[0]===dirruns&&cache[1];diff=cache[0]===dirruns&&cache[2];node=nodeIndex&&parent.childNodes[nodeIndex];while(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop()){if(node.nodeType===1&&++diff&&node===elem){outerCache[type]=[dirruns,nodeIndex,diff];break}}}else if(useCache&&(cache=(elem[expando]||(elem[expando]={}))[type])&&cache[0]===dirruns){diff=cache[1]}else{while(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop()){if((ofType?node.nodeName.toLowerCase()===name:node.nodeType===1)&&++diff){if(useCache){(node[expando]||(node[expando]={}))[type]=[dirruns,diff]}if(node===elem){break}}}}diff-=last;return diff===first||diff%first===0&&diff/first>=0}}},PSEUDO:function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);if(fn[expando]){return fn(argument)}if(fn.length>1){args=[pseudo,pseudo,"",argument];return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){var idx,matched=fn(seed,argument),i=matched.length;while(i--){idx=indexOf(seed,matched[i]);seed[idx]=!(matches[idx]=matched[i])}}):function(elem){return fn(elem,0,args)}}return fn}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;while(i--){if(elem=unmatched[i]){seed[i]=!(matches[i]=elem)}}}):function(elem,context,xml){input[0]=elem;matcher(input,null,xml,results);input[0]=null;return!results.pop()}}),has:markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0}}),contains:markFunction(function(text){text=text.replace(runescape,funescape);return function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1}}),lang:markFunction(function(lang){if(!ridentifier.test(lang||"")){Sizzle.error("unsupported lang: "+lang)}lang=lang.replace(runescape,funescape).toLowerCase();return function(elem){var elemLang;do{if(elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang")){elemLang=elemLang.toLowerCase();return elemLang===lang||elemLang.indexOf(lang+"-")===0}}while((elem=elem.parentNode)&&elem.nodeType===1);return false}}),target:function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id},root:function(elem){return elem===docElem},focus:function(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex)},enabled:function(elem){return elem.disabled===false},disabled:function(elem){return elem.disabled===true},checked:function(elem){var nodeName=elem.nodeName.toLowerCase();return nodeName==="input"&&!!elem.checked||nodeName==="option"&&!!elem.selected},selected:function(elem){if(elem.parentNode){elem.parentNode.selectedIndex}return elem.selected===true},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling){if(elem.nodeType<6){return false}}return true},parent:function(elem){return!Expr.pseudos["empty"](elem)},header:function(elem){return rheader.test(elem.nodeName)},input:function(elem){return rinputs.test(elem.nodeName)},button:function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type==="button"||name==="button"},text:function(elem){var attr;return elem.nodeName.toLowerCase()==="input"&&elem.type==="text"&&((attr=elem.getAttribute("type"))==null||attr.toLowerCase()==="text")},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(matchIndexes,length){return[length-1]}),eq:createPositionalPseudo(function(matchIndexes,length,argument){return[argument<0?argument+length:argument]}),even:createPositionalPseudo(function(matchIndexes,length){var i=0;for(;i<length;i+=2){matchIndexes.push(i)}return matchIndexes}),odd:createPositionalPseudo(function(matchIndexes,length){var i=1;for(;i<length;i+=2){matchIndexes.push(i)}return matchIndexes}),lt:createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;--i>=0;){matchIndexes.push(i)}return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;++i<length;){matchIndexes.push(i)}return matchIndexes})}};Expr.pseudos["nth"]=Expr.pseudos["eq"];for(i in{radio:true,checkbox:true,file:true,password:true,image:true}){Expr.pseudos[i]=createInputPseudo(i)}for(i in{submit:true,reset:true}){Expr.pseudos[i]=createButtonPseudo(i)}function setFilters(){}setFilters.prototype=Expr.filters=Expr.pseudos;Expr.setFilters=new setFilters;tokenize=Sizzle.tokenize=function(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached){return parseOnly?0:cached.slice(0)}soFar=selector;groups=[];preFilters=Expr.preFilter;while(soFar){if(!matched||(match=rcomma.exec(soFar))){if(match){soFar=soFar.slice(match[0].length)||soFar}groups.push(tokens=[])}matched=false;if(match=rcombinators.exec(soFar)){matched=match.shift();tokens.push({value:matched,type:match[0].replace(rtrim," ")});soFar=soFar.slice(matched.length)}for(type in Expr.filter){if((match=matchExpr[type].exec(soFar))&&(!preFilters[type]||(match=preFilters[type](match)))){matched=match.shift();tokens.push({value:matched,type:type,matches:match});soFar=soFar.slice(matched.length)}}if(!matched){break}}return parseOnly?soFar.length:soFar?Sizzle.error(selector):tokenCache(selector,groups).slice(0)};function toSelector(tokens){var i=0,len=tokens.length,selector="";for(;i<len;i++){selector+=tokens[i].value}return selector}function addCombinator(matcher,combinator,base){var dir=combinator.dir,checkNonElements=base&&dir==="parentNode",doneName=done++;return combinator.first?function(elem,context,xml){while(elem=elem[dir]){if(elem.nodeType===1||checkNonElements){return matcher(elem,context,xml)}}}:function(elem,context,xml){var oldCache,outerCache,newCache=[dirruns,doneName];if(xml){while(elem=elem[dir]){if(elem.nodeType===1||checkNonElements){if(matcher(elem,context,xml)){return true}}}}else{while(elem=elem[dir]){if(elem.nodeType===1||checkNonElements){outerCache=elem[expando]||(elem[expando]={});if((oldCache=outerCache[dir])&&oldCache[0]===dirruns&&oldCache[1]===doneName){return newCache[2]=oldCache[2]}else{outerCache[dir]=newCache;if(newCache[2]=matcher(elem,context,xml)){return true}}}}}}}function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){var i=matchers.length;while(i--){if(!matchers[i](elem,context,xml)){return false}}return true}:matchers[0]}function multipleContexts(selector,contexts,results){var i=0,len=contexts.length;for(;i<len;i++){Sizzle(selector,contexts[i],results)}return results}function condense(unmatched,map,filter,context,xml){var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=map!=null;for(;i<len;i++){if(elem=unmatched[i]){if(!filter||filter(elem,context,xml)){newUnmatched.push(elem);if(mapped){map.push(i)}}}}return newUnmatched}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){if(postFilter&&!postFilter[expando]){postFilter=setMatcher(postFilter)}if(postFinder&&!postFinder[expando]){postFinder=setMatcher(postFinder,postSelector)}return markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),matcherIn=preFilter&&(seed||!selector)?condense(elems,preMap,preFilter,context,xml):elems,matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher){matcher(matcherIn,matcherOut,context,xml)}if(postFilter){temp=condense(matcherOut,postMap);postFilter(temp,[],context,xml);i=temp.length;while(i--){if(elem=temp[i]){matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem)}}}if(seed){if(postFinder||preFilter){if(postFinder){temp=[];i=matcherOut.length;while(i--){if(elem=matcherOut[i]){temp.push(matcherIn[i]=elem)}}postFinder(null,matcherOut=[],temp,xml)}i=matcherOut.length;while(i--){if((elem=matcherOut[i])&&(temp=postFinder?indexOf(seed,elem):preMap[i])>-1){seed[temp]=!(results[temp]=elem)}}}}else{matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut);if(postFinder){postFinder(null,results,matcherOut,xml)}else{push.apply(results,matcherOut)}}})}function matcherFromTokens(tokens){var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext},implicitRelative,true),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1},implicitRelative,true),matchers=[function(elem,context,xml){var ret=!leadingRelative&&(xml||context!==outermostContext)||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));checkContext=null;return ret}];for(;i<len;i++){if(matcher=Expr.relative[tokens[i].type]){matchers=[addCombinator(elementMatcher(matchers),matcher)]}else{matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches);if(matcher[expando]){j=++i;for(;j<len;j++){if(Expr.relative[tokens[j].type]){break}}return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:tokens[i-2].type===" "?"*":""})).replace(rtrim,"$1"),matcher,i<j&&matcherFromTokens(tokens.slice(i,j)),j<len&&matcherFromTokens(tokens=tokens.slice(j)),j<len&&toSelector(tokens))
}matchers.push(matcher)}}return elementMatcher(matchers)}function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find["TAG"]("*",outermost),dirrunsUnique=dirruns+=contextBackup==null?1:Math.random()||.1,len=elems.length;if(outermost){outermostContext=context!==document&&context}for(;i!==len&&(elem=elems[i])!=null;i++){if(byElement&&elem){j=0;while(matcher=elementMatchers[j++]){if(matcher(elem,context,xml)){results.push(elem);break}}if(outermost){dirruns=dirrunsUnique}}if(bySet){if(elem=!matcher&&elem){matchedCount--}if(seed){unmatched.push(elem)}}}matchedCount+=i;if(bySet&&i!==matchedCount){j=0;while(matcher=setMatchers[j++]){matcher(unmatched,setMatched,context,xml)}if(seed){if(matchedCount>0){while(i--){if(!(unmatched[i]||setMatched[i])){setMatched[i]=pop.call(results)}}}setMatched=condense(setMatched)}push.apply(results,setMatched);if(outermost&&!seed&&setMatched.length>0&&matchedCount+setMatchers.length>1){Sizzle.uniqueSort(results)}}if(outermost){dirruns=dirrunsUnique;outermostContext=contextBackup}return unmatched};return bySet?markFunction(superMatcher):superMatcher}compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){if(!match){match=tokenize(selector)}i=match.length;while(i--){cached=matcherFromTokens(match[i]);if(cached[expando]){setMatchers.push(cached)}else{elementMatchers.push(cached)}}cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers));cached.selector=selector}return cached};select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled=typeof selector==="function"&&selector,match=!seed&&tokenize(selector=compiled.selector||selector);results=results||[];if(match.length===1){tokens=match[0]=match[0].slice(0);if(tokens.length>2&&(token=tokens[0]).type==="ID"&&support.getById&&context.nodeType===9&&documentIsHTML&&Expr.relative[tokens[1].type]){context=(Expr.find["ID"](token.matches[0].replace(runescape,funescape),context)||[])[0];if(!context){return results}else if(compiled){context=context.parentNode}selector=selector.slice(tokens.shift().value.length)}i=matchExpr["needsContext"].test(selector)?0:tokens.length;while(i--){token=tokens[i];if(Expr.relative[type=token.type]){break}if(find=Expr.find[type]){if(seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context)){tokens.splice(i,1);selector=seed.length&&toSelector(tokens);if(!selector){push.apply(results,seed);return results}break}}}}(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,rsibling.test(selector)&&testContext(context.parentNode)||context);return results};support.sortStable=expando.split("").sort(sortOrder).join("")===expando;support.detectDuplicates=!!hasDuplicate;setDocument();support.sortDetached=assert(function(div1){return div1.compareDocumentPosition(document.createElement("div"))&1});if(!assert(function(div){div.innerHTML="<a href='#'></a>";return div.firstChild.getAttribute("href")==="#"})){addHandle("type|href|height|width",function(elem,name,isXML){if(!isXML){return elem.getAttribute(name,name.toLowerCase()==="type"?1:2)}})}if(!support.attributes||!assert(function(div){div.innerHTML="<input/>";div.firstChild.setAttribute("value","");return div.firstChild.getAttribute("value")===""})){addHandle("value",function(elem,name,isXML){if(!isXML&&elem.nodeName.toLowerCase()==="input"){return elem.defaultValue}})}if(!assert(function(div){return div.getAttribute("disabled")==null})){addHandle(booleans,function(elem,name,isXML){var val;if(!isXML){return elem[name]===true?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null}})}return Sizzle}(window);jQuery.find=Sizzle;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.pseudos;jQuery.unique=Sizzle.uniqueSort;jQuery.text=Sizzle.getText;jQuery.isXMLDoc=Sizzle.isXML;jQuery.contains=Sizzle.contains;var rneedsContext=jQuery.expr.match.needsContext;var rsingleTag=/^<(\w+)\s*\/?>(?:<\/\1>|)$/;var risSimple=/^.[^:#\[\.,]*$/;function winnow(elements,qualifier,not){if(jQuery.isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not})}if(qualifier.nodeType){return jQuery.grep(elements,function(elem){return elem===qualifier!==not})}if(typeof qualifier==="string"){if(risSimple.test(qualifier)){return jQuery.filter(qualifier,elements,not)}qualifier=jQuery.filter(qualifier,elements)}return jQuery.grep(elements,function(elem){return indexOf.call(qualifier,elem)>=0!==not})}jQuery.filter=function(expr,elems,not){var elem=elems[0];if(not){expr=":not("+expr+")"}return elems.length===1&&elem.nodeType===1?jQuery.find.matchesSelector(elem,expr)?[elem]:[]:jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return elem.nodeType===1}))};jQuery.fn.extend({find:function(selector){var i,len=this.length,ret=[],self=this;if(typeof selector!=="string"){return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++){if(jQuery.contains(self[i],this)){return true}}}))}for(i=0;i<len;i++){jQuery.find(selector,self[i],ret)}ret=this.pushStack(len>1?jQuery.unique(ret):ret);ret.selector=this.selector?this.selector+" "+selector:selector;return ret},filter:function(selector){return this.pushStack(winnow(this,selector||[],false))},not:function(selector){return this.pushStack(winnow(this,selector||[],true))},is:function(selector){return!!winnow(this,typeof selector==="string"&&rneedsContext.test(selector)?jQuery(selector):selector||[],false).length}});var rootjQuery,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,init=jQuery.fn.init=function(selector,context){var match,elem;if(!selector){return this}if(typeof selector==="string"){if(selector[0]==="<"&&selector[selector.length-1]===">"&&selector.length>=3){match=[null,selector,null]}else{match=rquickExpr.exec(selector)}if(match&&(match[1]||!context)){if(match[1]){context=context instanceof jQuery?context[0]:context;jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,true));if(rsingleTag.test(match[1])&&jQuery.isPlainObject(context)){for(match in context){if(jQuery.isFunction(this[match])){this[match](context[match])}else{this.attr(match,context[match])}}}return this}else{elem=document.getElementById(match[2]);if(elem&&elem.parentNode){this.length=1;this[0]=elem}this.context=document;this.selector=selector;return this}}else if(!context||context.jquery){return(context||rootjQuery).find(selector)}else{return this.constructor(context).find(selector)}}else if(selector.nodeType){this.context=this[0]=selector;this.length=1;return this}else if(jQuery.isFunction(selector)){return typeof rootjQuery.ready!=="undefined"?rootjQuery.ready(selector):selector(jQuery)}if(selector.selector!==undefined){this.selector=selector.selector;this.context=selector.context}return jQuery.makeArray(selector,this)};init.prototype=jQuery.fn;rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:true,contents:true,next:true,prev:true};jQuery.extend({dir:function(elem,dir,until){var matched=[],truncate=until!==undefined;while((elem=elem[dir])&&elem.nodeType!==9){if(elem.nodeType===1){if(truncate&&jQuery(elem).is(until)){break}matched.push(elem)}}return matched},sibling:function(n,elem){var matched=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){matched.push(n)}}return matched}});jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){var i=0;for(;i<l;i++){if(jQuery.contains(this,targets[i])){return true}}})},closest:function(selectors,context){var cur,i=0,l=this.length,matched=[],pos=rneedsContext.test(selectors)||typeof selectors!=="string"?jQuery(selectors,context||this.context):0;for(;i<l;i++){for(cur=this[i];cur&&cur!==context;cur=cur.parentNode){if(cur.nodeType<11&&(pos?pos.index(cur)>-1:cur.nodeType===1&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break}}}return this.pushStack(matched.length>1?jQuery.unique(matched):matched)},index:function(elem){if(!elem){return this[0]&&this[0].parentNode?this.first().prevAll().length:-1}if(typeof elem==="string"){return indexOf.call(jQuery(elem),this[0])}return indexOf.call(this,elem.jquery?elem[0]:elem)},add:function(selector,context){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),jQuery(selector,context))))},addBack:function(selector){return this.add(selector==null?this.prevObject:this.prevObject.filter(selector))}});function sibling(cur,dir){while((cur=cur[dir])&&cur.nodeType!==1){}return cur}jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null},parents:function(elem){return jQuery.dir(elem,"parentNode")},parentsUntil:function(elem,i,until){return jQuery.dir(elem,"parentNode",until)},next:function(elem){return sibling(elem,"nextSibling")},prev:function(elem){return sibling(elem,"previousSibling")},nextAll:function(elem){return jQuery.dir(elem,"nextSibling")},prevAll:function(elem){return jQuery.dir(elem,"previousSibling")},nextUntil:function(elem,i,until){return jQuery.dir(elem,"nextSibling",until)},prevUntil:function(elem,i,until){return jQuery.dir(elem,"previousSibling",until)},siblings:function(elem){return jQuery.sibling((elem.parentNode||{}).firstChild,elem)},children:function(elem){return jQuery.sibling(elem.firstChild)},contents:function(elem){return elem.contentDocument||jQuery.merge([],elem.childNodes)}},function(name,fn){jQuery.fn[name]=function(until,selector){var matched=jQuery.map(this,fn,until);if(name.slice(-5)!=="Until"){selector=until}if(selector&&typeof selector==="string"){matched=jQuery.filter(selector,matched)}if(this.length>1){if(!guaranteedUnique[name]){jQuery.unique(matched)}if(rparentsprev.test(name)){matched.reverse()}}return this.pushStack(matched)}});var rnotwhite=/\S+/g;var optionsCache={};function createOptions(options){var object=optionsCache[options]={};jQuery.each(options.match(rnotwhite)||[],function(_,flag){object[flag]=true});return object}jQuery.Callbacks=function(options){options=typeof options==="string"?optionsCache[options]||createOptions(options):jQuery.extend({},options);var memory,fired,firing,firingStart,firingLength,firingIndex,list=[],stack=!options.once&&[],fire=function(data){memory=options.memory&&data;fired=true;firingIndex=firingStart||0;firingStart=0;firingLength=list.length;firing=true;for(;list&&firingIndex<firingLength;firingIndex++){if(list[firingIndex].apply(data[0],data[1])===false&&options.stopOnFalse){memory=false;break}}firing=false;if(list){if(stack){if(stack.length){fire(stack.shift())}}else if(memory){list=[]}else{self.disable()}}},self={add:function(){if(list){var start=list.length;(function add(args){jQuery.each(args,function(_,arg){var type=jQuery.type(arg);if(type==="function"){if(!options.unique||!self.has(arg)){list.push(arg)}}else if(arg&&arg.length&&type!=="string"){add(arg)}})})(arguments);if(firing){firingLength=list.length}else if(memory){firingStart=start;fire(memory)}}return this},remove:function(){if(list){jQuery.each(arguments,function(_,arg){var index;while((index=jQuery.inArray(arg,list,index))>-1){list.splice(index,1);if(firing){if(index<=firingLength){firingLength--}if(index<=firingIndex){firingIndex--}}}})}return this},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:!!(list&&list.length)},empty:function(){list=[];firingLength=0;return this},disable:function(){list=stack=memory=undefined;return this},disabled:function(){return!list},lock:function(){stack=undefined;if(!memory){self.disable()}return this},locked:function(){return!stack},fireWith:function(context,args){if(list&&(!fired||stack)){args=args||[];args=[context,args.slice?args.slice():args];if(firing){stack.push(args)}else{fire(args)}}return this},fire:function(){self.fireWith(this,arguments);return this},fired:function(){return!!fired}};return self};jQuery.extend({Deferred:function(func){var tuples=[["resolve","done",jQuery.Callbacks("once memory"),"resolved"],["reject","fail",jQuery.Callbacks("once memory"),"rejected"],["notify","progress",jQuery.Callbacks("memory")]],state="pending",promise={state:function(){return state},always:function(){deferred.done(arguments).fail(arguments);return this},then:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var fn=jQuery.isFunction(fns[i])&&fns[i];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);if(returned&&jQuery.isFunction(returned.promise)){returned.promise().done(newDefer.resolve).fail(newDefer.reject).progress(newDefer.notify)}else{newDefer[tuple[0]+"With"](this===promise?newDefer.promise():this,fn?[returned]:arguments)}})});fns=null}).promise()},promise:function(obj){return obj!=null?jQuery.extend(obj,promise):promise}},deferred={};promise.pipe=promise.then;jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[3];promise[tuple[1]]=list.add;if(stateString){list.add(function(){state=stateString},tuples[i^1][2].disable,tuples[2][2].lock)}deferred[tuple[0]]=function(){deferred[tuple[0]+"With"](this===deferred?promise:this,arguments);return this};deferred[tuple[0]+"With"]=list.fireWith});promise.promise(deferred);if(func){func.call(deferred,deferred)}return deferred},when:function(subordinate){var i=0,resolveValues=slice.call(arguments),length=resolveValues.length,remaining=length!==1||subordinate&&jQuery.isFunction(subordinate.promise)?length:0,deferred=remaining===1?subordinate:jQuery.Deferred(),updateFunc=function(i,contexts,values){return function(value){contexts[i]=this;values[i]=arguments.length>1?slice.call(arguments):value;if(values===progressValues){deferred.notifyWith(contexts,values)}else if(!--remaining){deferred.resolveWith(contexts,values)}}},progressValues,progressContexts,resolveContexts;if(length>1){progressValues=new Array(length);progressContexts=new Array(length);resolveContexts=new Array(length);for(;i<length;i++){if(resolveValues[i]&&jQuery.isFunction(resolveValues[i].promise)){resolveValues[i].promise().done(updateFunc(i,resolveContexts,resolveValues)).fail(deferred.reject).progress(updateFunc(i,progressContexts,progressValues))}else{--remaining}}}if(!remaining){deferred.resolveWith(resolveContexts,resolveValues)}return deferred.promise()}});var readyList;jQuery.fn.ready=function(fn){jQuery.ready.promise().done(fn);return this};jQuery.extend({isReady:false,readyWait:1,holdReady:function(hold){if(hold){jQuery.readyWait++}else{jQuery.ready(true)}},ready:function(wait){if(wait===true?--jQuery.readyWait:jQuery.isReady){return}jQuery.isReady=true;if(wait!==true&&--jQuery.readyWait>0){return}readyList.resolveWith(document,[jQuery]);if(jQuery.fn.triggerHandler){jQuery(document).triggerHandler("ready");jQuery(document).off("ready")}}});function completed(){document.removeEventListener("DOMContentLoaded",completed,false);window.removeEventListener("load",completed,false);jQuery.ready()}jQuery.ready.promise=function(obj){if(!readyList){readyList=jQuery.Deferred();if(document.readyState==="complete"){setTimeout(jQuery.ready)}else{document.addEventListener("DOMContentLoaded",completed,false);window.addEventListener("load",completed,false)}}return readyList.promise(obj)};jQuery.ready.promise();var access=jQuery.access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=key==null;if(jQuery.type(key)==="object"){chainable=true;for(i in key){jQuery.access(elems,fn,i,key[i],true,emptyGet,raw)}}else if(value!==undefined){chainable=true;if(!jQuery.isFunction(value)){raw=true}if(bulk){if(raw){fn.call(elems,value);fn=null}else{bulk=fn;fn=function(elem,key,value){return bulk.call(jQuery(elem),value)}}}if(fn){for(;i<len;i++){fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)))}}}return chainable?elems:bulk?fn.call(elems):len?fn(elems[0],key):emptyGet};jQuery.acceptData=function(owner){return owner.nodeType===1||owner.nodeType===9||!+owner.nodeType};function Data(){Object.defineProperty(this.cache={},0,{get:function(){return{}}});this.expando=jQuery.expando+Data.uid++}Data.uid=1;Data.accepts=jQuery.acceptData;Data.prototype={key:function(owner){if(!Data.accepts(owner)){return 0}var descriptor={},unlock=owner[this.expando];if(!unlock){unlock=Data.uid++;try{descriptor[this.expando]={value:unlock};Object.defineProperties(owner,descriptor)}catch(e){descriptor[this.expando]=unlock;jQuery.extend(owner,descriptor)}}if(!this.cache[unlock]){this.cache[unlock]={}}return unlock},set:function(owner,data,value){var prop,unlock=this.key(owner),cache=this.cache[unlock];if(typeof data==="string"){cache[data]=value}else{if(jQuery.isEmptyObject(cache)){jQuery.extend(this.cache[unlock],data)}else{for(prop in data){cache[prop]=data[prop]}}}return cache},get:function(owner,key){var cache=this.cache[this.key(owner)];return key===undefined?cache:cache[key]},access:function(owner,key,value){var stored;if(key===undefined||key&&typeof key==="string"&&value===undefined){stored=this.get(owner,key);return stored!==undefined?stored:this.get(owner,jQuery.camelCase(key))}this.set(owner,key,value);return value!==undefined?value:key},remove:function(owner,key){var i,name,camel,unlock=this.key(owner),cache=this.cache[unlock];if(key===undefined){this.cache[unlock]={}}else{if(jQuery.isArray(key)){name=key.concat(key.map(jQuery.camelCase))}else{camel=jQuery.camelCase(key);if(key in cache){name=[key,camel]}else{name=camel;name=name in cache?[name]:name.match(rnotwhite)||[]}}i=name.length;while(i--){delete cache[name[i]]}}},hasData:function(owner){return!jQuery.isEmptyObject(this.cache[owner[this.expando]]||{})},discard:function(owner){if(owner[this.expando]){delete this.cache[owner[this.expando]]}}};var data_priv=new Data;var data_user=new Data;var rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/([A-Z])/g;function dataAttr(elem,key,data){var name;if(data===undefined&&elem.nodeType===1){name="data-"+key.replace(rmultiDash,"-$1").toLowerCase();data=elem.getAttribute(name);if(typeof data==="string"){try{data=data==="true"?true:data==="false"?false:data==="null"?null:+data+""===data?+data:rbrace.test(data)?jQuery.parseJSON(data):data}catch(e){}data_user.set(elem,key,data)}else{data=undefined}}return data}jQuery.extend({hasData:function(elem){return data_user.hasData(elem)||data_priv.hasData(elem)},data:function(elem,name,data){return data_user.access(elem,name,data)},removeData:function(elem,name){data_user.remove(elem,name)},_data:function(elem,name,data){return data_priv.access(elem,name,data)},_removeData:function(elem,name){data_priv.remove(elem,name)}});jQuery.fn.extend({data:function(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;if(key===undefined){if(this.length){data=data_user.get(elem);if(elem.nodeType===1&&!data_priv.get(elem,"hasDataAttrs")){i=attrs.length;while(i--){if(attrs[i]){name=attrs[i].name;if(name.indexOf("data-")===0){name=jQuery.camelCase(name.slice(5));dataAttr(elem,name,data[name])}}}data_priv.set(elem,"hasDataAttrs",true)}}return data}if(typeof key==="object"){return this.each(function(){data_user.set(this,key)})}return access(this,function(value){var data,camelKey=jQuery.camelCase(key);if(elem&&value===undefined){data=data_user.get(elem,key);if(data!==undefined){return data}data=data_user.get(elem,camelKey);if(data!==undefined){return data}data=dataAttr(elem,camelKey,undefined);if(data!==undefined){return data}return}this.each(function(){var data=data_user.get(this,camelKey);data_user.set(this,camelKey,value);if(key.indexOf("-")!==-1&&data!==undefined){data_user.set(this,key,value)}})},null,value,arguments.length>1,null,true)},removeData:function(key){return this.each(function(){data_user.remove(this,key)})}});jQuery.extend({queue:function(elem,type,data){var queue;if(elem){type=(type||"fx")+"queue";queue=data_priv.get(elem,type);if(data){if(!queue||jQuery.isArray(data)){queue=data_priv.access(elem,type,jQuery.makeArray(data))}else{queue.push(data)}}return queue||[]}},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type)};if(fn==="inprogress"){fn=queue.shift();startLength--}if(fn){if(type==="fx"){queue.unshift("inprogress")}delete hooks.stop;fn.call(elem,next,hooks)}if(!startLength&&hooks){hooks.empty.fire()}},_queueHooks:function(elem,type){var key=type+"queueHooks";return data_priv.get(elem,key)||data_priv.access(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){data_priv.remove(elem,[type+"queue",key])})})}});jQuery.fn.extend({queue:function(type,data){var setter=2;if(typeof type!=="string"){data=type;type="fx";setter--}if(arguments.length<setter){return jQuery.queue(this[0],type)}return data===undefined?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type)}})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},clearQueue:function(type){return this.queue(type||"fx",[])},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){if(!--count){defer.resolveWith(elements,[elements])}};if(typeof type!=="string"){obj=type;type=undefined}type=type||"fx";while(i--){tmp=data_priv.get(elements[i],type+"queueHooks");if(tmp&&tmp.empty){count++;tmp.empty.add(resolve)}}resolve();return defer.promise(obj)}});var pnum=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source;var cssExpand=["Top","Right","Bottom","Left"];var isHidden=function(elem,el){elem=el||elem;return jQuery.css(elem,"display")==="none"||!jQuery.contains(elem.ownerDocument,elem)};var rcheckableType=/^(?:checkbox|radio)$/i;(function(){var fragment=document.createDocumentFragment(),div=fragment.appendChild(document.createElement("div")),input=document.createElement("input");input.setAttribute("type","radio");input.setAttribute("checked","checked");input.setAttribute("name","t");div.appendChild(input);support.checkClone=div.cloneNode(true).cloneNode(true).lastChild.checked;div.innerHTML="<textarea>x</textarea>";support.noCloneChecked=!!div.cloneNode(true).lastChild.defaultValue})();var strundefined=typeof undefined;support.focusinBubbles="onfocusin"in window;var rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu)|click/,rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,rtypenamespace=/^([^.]*)(?:\.(.+)|)$/;function returnTrue(){return true}function returnFalse(){return false}function safeActiveElement(){try{return document.activeElement}catch(err){}}jQuery.event={global:{},add:function(elem,types,handler,data,selector){var handleObjIn,eventHandle,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=data_priv.get(elem);if(!elemData){return}if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler;selector=handleObjIn.selector}if(!handler.guid){handler.guid=jQuery.guid++}if(!(events=elemData.events)){events=elemData.events={}}if(!(eventHandle=elemData.handle)){eventHandle=elemData.handle=function(e){return typeof jQuery!==strundefined&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):undefined}}types=(types||"").match(rnotwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type){continue}special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;special=jQuery.event.special[type]||{};handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn);if(!(handlers=events[type])){handlers=events[type]=[];handlers.delegateCount=0;if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){if(elem.addEventListener){elem.addEventListener(type,eventHandle,false)}}}if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid){handleObj.handler.guid=handler.guid}}if(selector){handlers.splice(handlers.delegateCount++,0,handleObj)}else{handlers.push(handleObj)}jQuery.event.global[type]=true}},remove:function(elem,types,handler,selector,mappedTypes){var j,origCount,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=data_priv.hasData(elem)&&data_priv.get(elem);if(!elemData||!(events=elemData.events)){return}types=(types||"").match(rnotwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type){for(type in events){jQuery.event.remove(elem,type+types[t],handler,selector,true)}continue}special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;handlers=events[type]||[];tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)");origCount=j=handlers.length;while(j--){handleObj=handlers[j];if((mappedTypes||origType===handleObj.origType)&&(!handler||handler.guid===handleObj.guid)&&(!tmp||tmp.test(handleObj.namespace))&&(!selector||selector===handleObj.selector||selector==="**"&&handleObj.selector)){handlers.splice(j,1);if(handleObj.selector){handlers.delegateCount--}if(special.remove){special.remove.call(elem,handleObj)}}}if(origCount&&!handlers.length){if(!special.teardown||special.teardown.call(elem,namespaces,elemData.handle)===false){jQuery.removeEvent(elem,type,elemData.handle)}delete events[type]}}if(jQuery.isEmptyObject(events)){delete elemData.handle;data_priv.remove(elem,"events")}},trigger:function(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];cur=tmp=elem=elem||document;if(elem.nodeType===3||elem.nodeType===8){return}if(rfocusMorph.test(type+jQuery.event.triggered)){return}if(type.indexOf(".")>=0){namespaces=type.split(".");type=namespaces.shift();namespaces.sort()}ontype=type.indexOf(":")<0&&"on"+type;event=event[jQuery.expando]?event:new jQuery.Event(type,typeof event==="object"&&event);event.isTrigger=onlyHandlers?2:3;event.namespace=namespaces.join(".");event.namespace_re=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;event.result=undefined;if(!event.target){event.target=elem}data=data==null?[event]:jQuery.makeArray(data,[event]);special=jQuery.event.special[type]||{};if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false){return}if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){bubbleType=special.delegateType||type;if(!rfocusMorph.test(bubbleType+type)){cur=cur.parentNode}for(;cur;cur=cur.parentNode){eventPath.push(cur);tmp=cur}if(tmp===(elem.ownerDocument||document)){eventPath.push(tmp.defaultView||tmp.parentWindow||window)}}i=0;while((cur=eventPath[i++])&&!event.isPropagationStopped()){event.type=i>1?bubbleType:special.bindType||type;handle=(data_priv.get(cur,"events")||{})[event.type]&&data_priv.get(cur,"handle");if(handle){handle.apply(cur,data)}handle=ontype&&cur[ontype];if(handle&&handle.apply&&jQuery.acceptData(cur)){event.result=handle.apply(cur,data);if(event.result===false){event.preventDefault()}}}event.type=type;if(!onlyHandlers&&!event.isDefaultPrevented()){if((!special._default||special._default.apply(eventPath.pop(),data)===false)&&jQuery.acceptData(elem)){if(ontype&&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)){tmp=elem[ontype];if(tmp){elem[ontype]=null}jQuery.event.triggered=type;elem[type]();jQuery.event.triggered=undefined;if(tmp){elem[ontype]=tmp}}}}return event.result},dispatch:function(event){event=jQuery.event.fix(event);var i,j,ret,matched,handleObj,handlerQueue=[],args=slice.call(arguments),handlers=(data_priv.get(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};args[0]=event;event.delegateTarget=this;if(special.preDispatch&&special.preDispatch.call(this,event)===false){return}handlerQueue=jQuery.event.handlers.call(this,event,handlers);i=0;while((matched=handlerQueue[i++])&&!event.isPropagationStopped()){event.currentTarget=matched.elem;j=0;while((handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped()){if(!event.namespace_re||event.namespace_re.test(handleObj.namespace)){event.handleObj=handleObj;event.data=handleObj.data;ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args);if(ret!==undefined){if((event.result=ret)===false){event.preventDefault();event.stopPropagation()}}}}}if(special.postDispatch){special.postDispatch.call(this,event)}return event.result},handlers:function(event,handlers){var i,matches,sel,handleObj,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&(!event.button||event.type!=="click")){for(;cur!==this;cur=cur.parentNode||this){if(cur.disabled!==true||event.type!=="click"){matches=[];for(i=0;i<delegateCount;i++){handleObj=handlers[i];sel=handleObj.selector+" ";if(matches[sel]===undefined){matches[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>=0:jQuery.find(sel,this,null,[cur]).length}if(matches[sel]){matches.push(handleObj)}}if(matches.length){handlerQueue.push({elem:cur,handlers:matches})}}}}if(delegateCount<handlers.length){handlerQueue.push({elem:this,handlers:handlers.slice(delegateCount)})}return handlerQueue},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(event,original){if(event.which==null){event.which=original.charCode!=null?original.charCode:original.keyCode}return event}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(event,original){var eventDoc,doc,body,button=original.button;if(event.pageX==null&&original.clientX!=null){eventDoc=event.target.ownerDocument||document;doc=eventDoc.documentElement;body=eventDoc.body;event.pageX=original.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=original.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)}if(!event.which&&button!==undefined){event.which=button&1?1:button&2?3:button&4?2:0}return event}},fix:function(event){if(event[jQuery.expando]){return event}var i,prop,copy,type=event.type,originalEvent=event,fixHook=this.fixHooks[type];if(!fixHook){this.fixHooks[type]=fixHook=rmouseEvent.test(type)?this.mouseHooks:rkeyEvent.test(type)?this.keyHooks:{}}copy=fixHook.props?this.props.concat(fixHook.props):this.props;event=new jQuery.Event(originalEvent);i=copy.length;while(i--){prop=copy[i];event[prop]=originalEvent[prop]}if(!event.target){event.target=document}if(event.target.nodeType===3){event.target=event.target.parentNode}return fixHook.filter?fixHook.filter(event,originalEvent):event},special:{load:{noBubble:true},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus){this.focus();return false}},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur){this.blur();return false}},delegateType:"focusout"},click:{trigger:function(){if(this.type==="checkbox"&&this.click&&jQuery.nodeName(this,"input")){this.click();return false}},_default:function(event){return jQuery.nodeName(event.target,"a")}},beforeunload:{postDispatch:function(event){if(event.result!==undefined&&event.originalEvent){event.originalEvent.returnValue=event.result
}}}},simulate:function(type,elem,event,bubble){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:true,originalEvent:{}});if(bubble){jQuery.event.trigger(e,null,elem)}else{jQuery.event.dispatch.call(elem,e)}if(e.isDefaultPrevented()){event.preventDefault()}}};jQuery.removeEvent=function(elem,type,handle){if(elem.removeEventListener){elem.removeEventListener(type,handle,false)}};jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event)){return new jQuery.Event(src,props)}if(src&&src.type){this.originalEvent=src;this.type=src.type;this.isDefaultPrevented=src.defaultPrevented||src.defaultPrevented===undefined&&src.returnValue===false?returnTrue:returnFalse}else{this.type=src}if(props){jQuery.extend(this,props)}this.timeStamp=src&&src.timeStamp||jQuery.now();this[jQuery.expando]=true};jQuery.Event.prototype={isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue;if(e&&e.preventDefault){e.preventDefault()}},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue;if(e&&e.stopPropagation){e.stopPropagation()}},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue;if(e&&e.stopImmediatePropagation){e.stopImmediatePropagation()}this.stopPropagation()}};jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;if(!related||related!==target&&!jQuery.contains(target,related)){event.type=handleObj.origType;ret=handleObj.handler.apply(this,arguments);event.type=fix}return ret}}});if(!support.focusinBubbles){jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event),true)};jQuery.event.special[fix]={setup:function(){var doc=this.ownerDocument||this,attaches=data_priv.access(doc,fix);if(!attaches){doc.addEventListener(orig,handler,true)}data_priv.access(doc,fix,(attaches||0)+1)},teardown:function(){var doc=this.ownerDocument||this,attaches=data_priv.access(doc,fix)-1;if(!attaches){doc.removeEventListener(orig,handler,true);data_priv.remove(doc,fix)}else{data_priv.access(doc,fix,attaches)}}}})}jQuery.fn.extend({on:function(types,selector,data,fn,one){var origFn,type;if(typeof types==="object"){if(typeof selector!=="string"){data=data||selector;selector=undefined}for(type in types){this.on(type,selector,data,types[type],one)}return this}if(data==null&&fn==null){fn=selector;data=selector=undefined}else if(fn==null){if(typeof selector==="string"){fn=data;data=undefined}else{fn=data;data=selector;selector=undefined}}if(fn===false){fn=returnFalse}else if(!fn){return this}if(one===1){origFn=fn;fn=function(event){jQuery().off(event);return origFn.apply(this,arguments)};fn.guid=origFn.guid||(origFn.guid=jQuery.guid++)}return this.each(function(){jQuery.event.add(this,types,fn,data,selector)})},one:function(types,selector,data,fn){return this.on(types,selector,data,fn,1)},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj){handleObj=types.handleObj;jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler);return this}if(typeof types==="object"){for(type in types){this.off(type,selector,types[type])}return this}if(selector===false||typeof selector==="function"){fn=selector;selector=undefined}if(fn===false){fn=returnFalse}return this.each(function(){jQuery.event.remove(this,types,fn,selector)})},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){var elem=this[0];if(elem){return jQuery.event.trigger(type,data,elem,true)}}});var rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,rtagName=/<([\w:]+)/,rhtml=/<|&#?\w+;/,rnoInnerhtml=/<(?:script|style|link)/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptType=/^$|\/(?:java|ecma)script/i,rscriptTypeMasked=/^true\/(.*)/,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td;function manipulationTarget(elem,content){return jQuery.nodeName(elem,"table")&&jQuery.nodeName(content.nodeType!==11?content:content.firstChild,"tr")?elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody")):elem}function disableScript(elem){elem.type=(elem.getAttribute("type")!==null)+"/"+elem.type;return elem}function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);if(match){elem.type=match[1]}else{elem.removeAttribute("type")}return elem}function setGlobalEval(elems,refElements){var i=0,l=elems.length;for(;i<l;i++){data_priv.set(elems[i],"globalEval",!refElements||data_priv.get(refElements[i],"globalEval"))}}function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(dest.nodeType!==1){return}if(data_priv.hasData(src)){pdataOld=data_priv.access(src);pdataCur=data_priv.set(dest,pdataOld);events=pdataOld.events;if(events){delete pdataCur.handle;pdataCur.events={};for(type in events){for(i=0,l=events[type].length;i<l;i++){jQuery.event.add(dest,type,events[type][i])}}}}if(data_user.hasData(src)){udataOld=data_user.access(src);udataCur=jQuery.extend({},udataOld);data_user.set(dest,udataCur)}}function getAll(context,tag){var ret=context.getElementsByTagName?context.getElementsByTagName(tag||"*"):context.querySelectorAll?context.querySelectorAll(tag||"*"):[];return tag===undefined||tag&&jQuery.nodeName(context,tag)?jQuery.merge([context],ret):ret}function fixInput(src,dest){var nodeName=dest.nodeName.toLowerCase();if(nodeName==="input"&&rcheckableType.test(src.type)){dest.checked=src.checked}else if(nodeName==="input"||nodeName==="textarea"){dest.defaultValue=src.defaultValue}}jQuery.extend({clone:function(elem,dataAndEvents,deepDataAndEvents){var i,l,srcElements,destElements,clone=elem.cloneNode(true),inPage=jQuery.contains(elem.ownerDocument,elem);if(!support.noCloneChecked&&(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){destElements=getAll(clone);srcElements=getAll(elem);for(i=0,l=srcElements.length;i<l;i++){fixInput(srcElements[i],destElements[i])}}if(dataAndEvents){if(deepDataAndEvents){srcElements=srcElements||getAll(elem);destElements=destElements||getAll(clone);for(i=0,l=srcElements.length;i<l;i++){cloneCopyEvent(srcElements[i],destElements[i])}}else{cloneCopyEvent(elem,clone)}}destElements=getAll(clone,"script");if(destElements.length>0){setGlobalEval(destElements,!inPage&&getAll(elem,"script"))}return clone},buildFragment:function(elems,context,scripts,selection){var elem,tmp,tag,wrap,contains,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;for(;i<l;i++){elem=elems[i];if(elem||elem===0){if(jQuery.type(elem)==="object"){jQuery.merge(nodes,elem.nodeType?[elem]:elem)}else if(!rhtml.test(elem)){nodes.push(context.createTextNode(elem))}else{tmp=tmp||fragment.appendChild(context.createElement("div"));tag=(rtagName.exec(elem)||["",""])[1].toLowerCase();wrap=wrapMap[tag]||wrapMap._default;tmp.innerHTML=wrap[1]+elem.replace(rxhtmlTag,"<$1></$2>")+wrap[2];j=wrap[0];while(j--){tmp=tmp.lastChild}jQuery.merge(nodes,tmp.childNodes);tmp=fragment.firstChild;tmp.textContent=""}}}fragment.textContent="";i=0;while(elem=nodes[i++]){if(selection&&jQuery.inArray(elem,selection)!==-1){continue}contains=jQuery.contains(elem.ownerDocument,elem);tmp=getAll(fragment.appendChild(elem),"script");if(contains){setGlobalEval(tmp)}if(scripts){j=0;while(elem=tmp[j++]){if(rscriptType.test(elem.type||"")){scripts.push(elem)}}}}return fragment},cleanData:function(elems){var data,elem,type,key,special=jQuery.event.special,i=0;for(;(elem=elems[i])!==undefined;i++){if(jQuery.acceptData(elem)){key=elem[data_priv.expando];if(key&&(data=data_priv.cache[key])){if(data.events){for(type in data.events){if(special[type]){jQuery.event.remove(elem,type)}else{jQuery.removeEvent(elem,type,data.handle)}}}if(data_priv.cache[key]){delete data_priv.cache[key]}}}delete data_user.cache[elem[data_user.expando]]}}});jQuery.fn.extend({text:function(value){return access(this,function(value){return value===undefined?jQuery.text(this):this.empty().each(function(){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.textContent=value}})},null,value,arguments.length)},append:function(){return this.domManip(arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.appendChild(elem)}})},prepend:function(){return this.domManip(arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild)}})},before:function(){return this.domManip(arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this)}})},after:function(){return this.domManip(arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this.nextSibling)}})},remove:function(selector,keepData){var elem,elems=selector?jQuery.filter(selector,this):this,i=0;for(;(elem=elems[i])!=null;i++){if(!keepData&&elem.nodeType===1){jQuery.cleanData(getAll(elem))}if(elem.parentNode){if(keepData&&jQuery.contains(elem.ownerDocument,elem)){setGlobalEval(getAll(elem,"script"))}elem.parentNode.removeChild(elem)}}return this},empty:function(){var elem,i=0;for(;(elem=this[i])!=null;i++){if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.textContent=""}}return this},clone:function(dataAndEvents,deepDataAndEvents){dataAndEvents=dataAndEvents==null?false:dataAndEvents;deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;return this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(value===undefined&&elem.nodeType===1){return elem.innerHTML}if(typeof value==="string"&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=value.replace(rxhtmlTag,"<$1></$2>");try{for(;i<l;i++){elem=this[i]||{};if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.innerHTML=value}}elem=0}catch(e){}}if(elem){this.empty().append(value)}},null,value,arguments.length)},replaceWith:function(){var arg=arguments[0];this.domManip(arguments,function(elem){arg=this.parentNode;jQuery.cleanData(getAll(this));if(arg){arg.replaceChild(elem,this)}});return arg&&(arg.length||arg.nodeType)?this:this.remove()},detach:function(selector){return this.remove(selector,true)},domManip:function(args,callback){args=concat.apply([],args);var fragment,first,scripts,hasScripts,node,doc,i=0,l=this.length,set=this,iNoClone=l-1,value=args[0],isFunction=jQuery.isFunction(value);if(isFunction||l>1&&typeof value==="string"&&!support.checkClone&&rchecked.test(value)){return this.each(function(index){var self=set.eq(index);if(isFunction){args[0]=value.call(this,index,self.html())}self.domManip(args,callback)})}if(l){fragment=jQuery.buildFragment(args,this[0].ownerDocument,false,this);first=fragment.firstChild;if(fragment.childNodes.length===1){fragment=first}if(first){scripts=jQuery.map(getAll(fragment,"script"),disableScript);hasScripts=scripts.length;for(;i<l;i++){node=fragment;if(i!==iNoClone){node=jQuery.clone(node,true,true);if(hasScripts){jQuery.merge(scripts,getAll(node,"script"))}}callback.call(this[i],node,i)}if(hasScripts){doc=scripts[scripts.length-1].ownerDocument;jQuery.map(scripts,restoreScript);for(i=0;i<hasScripts;i++){node=scripts[i];if(rscriptType.test(node.type||"")&&!data_priv.access(node,"globalEval")&&jQuery.contains(doc,node)){if(node.src){if(jQuery._evalUrl){jQuery._evalUrl(node.src)}}else{jQuery.globalEval(node.textContent.replace(rcleanScript,""))}}}}}}return this}});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;for(;i<=last;i++){elems=i===last?this:this.clone(true);jQuery(insert[i])[original](elems);push.apply(ret,elems.get())}return this.pushStack(ret)}});var iframe,elemdisplay={};function actualDisplay(name,doc){var style,elem=jQuery(doc.createElement(name)).appendTo(doc.body),display=window.getDefaultComputedStyle&&(style=window.getDefaultComputedStyle(elem[0]))?style.display:jQuery.css(elem[0],"display");elem.detach();return display}function defaultDisplay(nodeName){var doc=document,display=elemdisplay[nodeName];if(!display){display=actualDisplay(nodeName,doc);if(display==="none"||!display){iframe=(iframe||jQuery("<iframe frameborder='0' width='0' height='0'/>")).appendTo(doc.documentElement);doc=iframe[0].contentDocument;doc.write();doc.close();display=actualDisplay(nodeName,doc);iframe.detach()}elemdisplay[nodeName]=display}return display}var rmargin=/^margin/;var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i");var getStyles=function(elem){if(elem.ownerDocument.defaultView.opener){return elem.ownerDocument.defaultView.getComputedStyle(elem,null)}return window.getComputedStyle(elem,null)};function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;computed=computed||getStyles(elem);if(computed){ret=computed.getPropertyValue(name)||computed[name]}if(computed){if(ret===""&&!jQuery.contains(elem.ownerDocument,elem)){ret=jQuery.style(elem,name)}if(rnumnonpx.test(ret)&&rmargin.test(name)){width=style.width;minWidth=style.minWidth;maxWidth=style.maxWidth;style.minWidth=style.maxWidth=style.width=ret;ret=computed.width;style.width=width;style.minWidth=minWidth;style.maxWidth=maxWidth}}return ret!==undefined?ret+"":ret}function addGetHookIf(conditionFn,hookFn){return{get:function(){if(conditionFn()){delete this.get;return}return(this.get=hookFn).apply(this,arguments)}}}(function(){var pixelPositionVal,boxSizingReliableVal,docElem=document.documentElement,container=document.createElement("div"),div=document.createElement("div");if(!div.style){return}div.style.backgroundClip="content-box";div.cloneNode(true).style.backgroundClip="";support.clearCloneStyle=div.style.backgroundClip==="content-box";container.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;"+"position:absolute";container.appendChild(div);function computePixelPositionAndBoxSizingReliable(){div.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;"+"box-sizing:border-box;display:block;margin-top:1%;top:1%;"+"border:1px;padding:1px;width:4px;position:absolute";div.innerHTML="";docElem.appendChild(container);var divStyle=window.getComputedStyle(div,null);pixelPositionVal=divStyle.top!=="1%";boxSizingReliableVal=divStyle.width==="4px";docElem.removeChild(container)}if(window.getComputedStyle){jQuery.extend(support,{pixelPosition:function(){computePixelPositionAndBoxSizingReliable();return pixelPositionVal},boxSizingReliable:function(){if(boxSizingReliableVal==null){computePixelPositionAndBoxSizingReliable()}return boxSizingReliableVal},reliableMarginRight:function(){var ret,marginDiv=div.appendChild(document.createElement("div"));marginDiv.style.cssText=div.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;"+"box-sizing:content-box;display:block;margin:0;border:0;padding:0";marginDiv.style.marginRight=marginDiv.style.width="0";div.style.width="1px";docElem.appendChild(container);ret=!parseFloat(window.getComputedStyle(marginDiv,null).marginRight);docElem.removeChild(container);div.removeChild(marginDiv);return ret}})}})();jQuery.swap=function(elem,options,callback,args){var ret,name,old={};for(name in options){old[name]=elem.style[name];elem.style[name]=options[name]}ret=callback.apply(elem,args||[]);for(name in options){elem.style[name]=old[name]}return ret};var rdisplayswap=/^(none|table(?!-c[ea]).+)/,rnumsplit=new RegExp("^("+pnum+")(.*)$","i"),rrelNum=new RegExp("^([+-])=("+pnum+")","i"),cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"},cssPrefixes=["Webkit","O","Moz","ms"];function vendorPropName(style,name){if(name in style){return name}var capName=name[0].toUpperCase()+name.slice(1),origName=name,i=cssPrefixes.length;while(i--){name=cssPrefixes[i]+capName;if(name in style){return name}}return origName}function setPositiveNumber(elem,value,subtract){var matches=rnumsplit.exec(value);return matches?Math.max(0,matches[1]-(subtract||0))+(matches[2]||"px"):value}function augmentWidthOrHeight(elem,name,extra,isBorderBox,styles){var i=extra===(isBorderBox?"border":"content")?4:name==="width"?1:0,val=0;for(;i<4;i+=2){if(extra==="margin"){val+=jQuery.css(elem,extra+cssExpand[i],true,styles)}if(isBorderBox){if(extra==="content"){val-=jQuery.css(elem,"padding"+cssExpand[i],true,styles)}if(extra!=="margin"){val-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles)}}else{val+=jQuery.css(elem,"padding"+cssExpand[i],true,styles);if(extra!=="padding"){val+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles)}}}return val}function getWidthOrHeight(elem,name,extra){var valueIsBorderBox=true,val=name==="width"?elem.offsetWidth:elem.offsetHeight,styles=getStyles(elem),isBorderBox=jQuery.css(elem,"boxSizing",false,styles)==="border-box";if(val<=0||val==null){val=curCSS(elem,name,styles);if(val<0||val==null){val=elem.style[name]}if(rnumnonpx.test(val)){return val}valueIsBorderBox=isBorderBox&&(support.boxSizingReliable()||val===elem.style[name]);val=parseFloat(val)||0}return val+augmentWidthOrHeight(elem,name,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles)+"px"}function showHide(elements,show){var display,elem,hidden,values=[],index=0,length=elements.length;for(;index<length;index++){elem=elements[index];if(!elem.style){continue}values[index]=data_priv.get(elem,"olddisplay");display=elem.style.display;if(show){if(!values[index]&&display==="none"){elem.style.display=""}if(elem.style.display===""&&isHidden(elem)){values[index]=data_priv.access(elem,"olddisplay",defaultDisplay(elem.nodeName))}}else{hidden=isHidden(elem);if(display!=="none"||!hidden){data_priv.set(elem,"olddisplay",hidden?display:jQuery.css(elem,"display"))}}}for(index=0;index<length;index++){elem=elements[index];if(!elem.style){continue}if(!show||elem.style.display==="none"||elem.style.display===""){elem.style.display=show?values[index]||"":"none"}}return elements}jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return ret===""?"1":ret}}}},cssNumber:{columnCount:true,fillOpacity:true,flexGrow:true,flexShrink:true,fontWeight:true,lineHeight:true,opacity:true,order:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{float:"cssFloat"},style:function(elem,name,value,extra){if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){return}var ret,type,hooks,origName=jQuery.camelCase(name),style=elem.style;name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(style,origName));hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(value!==undefined){type=typeof value;if(type==="string"&&(ret=rrelNum.exec(value))){value=(ret[1]+1)*ret[2]+parseFloat(jQuery.css(elem,name));type="number"}if(value==null||value!==value){return}if(type==="number"&&!jQuery.cssNumber[origName]){value+="px"}if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0){style[name]="inherit"}if(!hooks||!("set"in hooks)||(value=hooks.set(elem,value,extra))!==undefined){style[name]=value}}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){return ret}return style[name]}},css:function(elem,name,extra,styles){var val,num,hooks,origName=jQuery.camelCase(name);name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(elem.style,origName));hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(hooks&&"get"in hooks){val=hooks.get(elem,true,extra)}if(val===undefined){val=curCSS(elem,name,styles)}if(val==="normal"&&name in cssNormalTransform){val=cssNormalTransform[name]}if(extra===""||extra){num=parseFloat(val);return extra===true||jQuery.isNumeric(num)?num||0:val}return val}});jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){if(computed){return rdisplayswap.test(jQuery.css(elem,"display"))&&elem.offsetWidth===0?jQuery.swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra)}):getWidthOrHeight(elem,name,extra)}},set:function(elem,value,extra){var styles=extra&&getStyles(elem);return setPositiveNumber(elem,value,extra?augmentWidthOrHeight(elem,name,extra,jQuery.css(elem,"boxSizing",false,styles)==="border-box",styles):0)}}});jQuery.cssHooks.marginRight=addGetHookIf(support.reliableMarginRight,function(elem,computed){if(computed){return jQuery.swap(elem,{display:"inline-block"},curCSS,[elem,"marginRight"])}});jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){var i=0,expanded={},parts=typeof value==="string"?value.split(" "):[value];for(;i<4;i++){expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0]}return expanded}};if(!rmargin.test(prefix)){jQuery.cssHooks[prefix+suffix].set=setPositiveNumber}});jQuery.fn.extend({css:function(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(jQuery.isArray(name)){styles=getStyles(elem);len=name.length;for(;i<len;i++){map[name[i]]=jQuery.css(elem,name[i],false,styles)}return map}return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)},show:function(){return showHide(this,true)},hide:function(){return showHide(this)},toggle:function(state){if(typeof state==="boolean"){return state?this.show():this.hide()}return this.each(function(){if(isHidden(this)){jQuery(this).show()}else{jQuery(this).hide()}})}});function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing)}jQuery.Tween=Tween;Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem;this.prop=prop;this.easing=easing||"swing";this.options=options;this.start=this.now=this.cur();this.end=end;this.unit=unit||(jQuery.cssNumber[prop]?"":"px")},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this)},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];if(this.options.duration){this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration)}else{this.pos=eased=percent}this.now=(this.end-this.start)*eased+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this)}if(hooks&&hooks.set){hooks.set(this)}else{Tween.propHooks._default.set(this)}return this}};Tween.prototype.init.prototype=Tween.prototype;Tween.propHooks={_default:{get:function(tween){var result;if(tween.elem[tween.prop]!=null&&(!tween.elem.style||tween.elem.style[tween.prop]==null)){return tween.elem[tween.prop]}result=jQuery.css(tween.elem,tween.prop,"");return!result||result==="auto"?0:result},set:function(tween){if(jQuery.fx.step[tween.prop]){jQuery.fx.step[tween.prop](tween)}else if(tween.elem.style&&(tween.elem.style[jQuery.cssProps[tween.prop]]!=null||jQuery.cssHooks[tween.prop])){jQuery.style(tween.elem,tween.prop,tween.now+tween.unit)}else{tween.elem[tween.prop]=tween.now}}}};Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){if(tween.elem.nodeType&&tween.elem.parentNode){tween.elem[tween.prop]=tween.now}}};jQuery.easing={linear:function(p){return p},swing:function(p){return.5-Math.cos(p*Math.PI)/2}};jQuery.fx=Tween.prototype.init;jQuery.fx.step={};var fxNow,timerId,rfxtypes=/^(?:toggle|show|hide)$/,rfxnum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i"),rrun=/queueHooks$/,animationPrefilters=[defaultPrefilter],tweeners={"*":[function(prop,value){var tween=this.createTween(prop,value),target=tween.cur(),parts=rfxnum.exec(value),unit=parts&&parts[3]||(jQuery.cssNumber[prop]?"":"px"),start=(jQuery.cssNumber[prop]||unit!=="px"&&+target)&&rfxnum.exec(jQuery.css(tween.elem,prop)),scale=1,maxIterations=20;if(start&&start[3]!==unit){unit=unit||start[3];parts=parts||[];start=+target||1;do{scale=scale||".5";start=start/scale;jQuery.style(tween.elem,prop,start+unit)}while(scale!==(scale=tween.cur()/target)&&scale!==1&&--maxIterations)}if(parts){start=tween.start=+start||+target||0;tween.unit=unit;tween.end=parts[1]?start+(parts[1]+1)*parts[2]:+parts[2]}return tween}]};function createFxNow(){setTimeout(function(){fxNow=undefined});return fxNow=jQuery.now()}function genFx(type,includeWidth){var which,i=0,attrs={height:type};includeWidth=includeWidth?1:0;for(;i<4;i+=2-includeWidth){which=cssExpand[i];attrs["margin"+which]=attrs["padding"+which]=type}if(includeWidth){attrs.opacity=attrs.width=type}return attrs}function createTween(value,prop,animation){var tween,collection=(tweeners[prop]||[]).concat(tweeners["*"]),index=0,length=collection.length;for(;index<length;index++){if(tween=collection[index].call(animation,prop,value)){return tween}}}function defaultPrefilter(elem,props,opts){var prop,value,toggle,tween,hooks,oldfire,display,checkDisplay,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHidden(elem),dataShow=data_priv.get(elem,"fxshow");if(!opts.queue){hooks=jQuery._queueHooks(elem,"fx");if(hooks.unqueued==null){hooks.unqueued=0;oldfire=hooks.empty.fire;hooks.empty.fire=function(){if(!hooks.unqueued){oldfire()}}}hooks.unqueued++;anim.always(function(){anim.always(function(){hooks.unqueued--;if(!jQuery.queue(elem,"fx").length){hooks.empty.fire()}})})}if(elem.nodeType===1&&("height"in props||"width"in props)){opts.overflow=[style.overflow,style.overflowX,style.overflowY];display=jQuery.css(elem,"display");checkDisplay=display==="none"?data_priv.get(elem,"olddisplay")||defaultDisplay(elem.nodeName):display;if(checkDisplay==="inline"&&jQuery.css(elem,"float")==="none"){style.display="inline-block"}}if(opts.overflow){style.overflow="hidden";anim.always(function(){style.overflow=opts.overflow[0];style.overflowX=opts.overflow[1];style.overflowY=opts.overflow[2]})}for(prop in props){value=props[prop];if(rfxtypes.exec(value)){delete props[prop];toggle=toggle||value==="toggle";if(value===(hidden?"hide":"show")){if(value==="show"&&dataShow&&dataShow[prop]!==undefined){hidden=true}else{continue}}orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop)}else{display=undefined}}if(!jQuery.isEmptyObject(orig)){if(dataShow){if("hidden"in dataShow){hidden=dataShow.hidden}}else{dataShow=data_priv.access(elem,"fxshow",{})}if(toggle){dataShow.hidden=!hidden}if(hidden){jQuery(elem).show()}else{anim.done(function(){jQuery(elem).hide()})}anim.done(function(){var prop;data_priv.remove(elem,"fxshow");for(prop in orig){jQuery.style(elem,prop,orig[prop])}});for(prop in orig){tween=createTween(hidden?dataShow[prop]:0,prop,anim);if(!(prop in dataShow)){dataShow[prop]=tween.start;if(hidden){tween.end=tween.start;tween.start=prop==="width"||prop==="height"?1:0}}}}else if((display==="none"?defaultDisplay(elem.nodeName):display)==="inline"){style.display=display}}function propFilter(props,specialEasing){var index,name,easing,value,hooks;for(index in props){name=jQuery.camelCase(index);easing=specialEasing[name];value=props[index];if(jQuery.isArray(value)){easing=value[1];value=props[index]=value[0]}if(index!==name){props[name]=value;delete props[index]}hooks=jQuery.cssHooks[name];if(hooks&&"expand"in hooks){value=hooks.expand(value);delete props[name];for(index in value){if(!(index in props)){props[index]=value[index];specialEasing[index]=easing}}}else{specialEasing[name]=easing}}}function Animation(elem,properties,options){var result,stopped,index=0,length=animationPrefilters.length,deferred=jQuery.Deferred().always(function(){delete tick.elem}),tick=function(){if(stopped){return false}var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),temp=remaining/animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;for(;index<length;index++){animation.tweens[index].run(percent)}deferred.notifyWith(elem,[animation,percent,remaining]);if(percent<1&&length){return remaining}else{deferred.resolveWith(elem,[animation]);return false}},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(true,{specialEasing:{}},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);animation.tweens.push(tween);return tween},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped){return this}stopped=true;for(;index<length;index++){animation.tweens[index].run(1)}if(gotoEnd){deferred.resolveWith(elem,[animation,gotoEnd])}else{deferred.rejectWith(elem,[animation,gotoEnd])}return this}}),props=animation.props;propFilter(props,animation.opts.specialEasing);for(;index<length;index++){result=animationPrefilters[index].call(animation,elem,props,animation.opts);if(result){return result}}jQuery.map(props,createTween,animation);if(jQuery.isFunction(animation.opts.start)){animation.opts.start.call(elem,animation)}jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue}));return animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always)}jQuery.Animation=jQuery.extend(Animation,{tweener:function(props,callback){if(jQuery.isFunction(props)){callback=props;props=["*"]}else{props=props.split(" ")}var prop,index=0,length=props.length;for(;index<length;index++){prop=props[index];tweeners[prop]=tweeners[prop]||[];tweeners[prop].unshift(callback)}},prefilter:function(callback,prepend){if(prepend){animationPrefilters.unshift(callback)}else{animationPrefilters.push(callback)}}});jQuery.speed=function(speed,easing,fn){var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default;if(opt.queue==null||opt.queue===true){opt.queue="fx"}opt.old=opt.complete;opt.complete=function(){if(jQuery.isFunction(opt.old)){opt.old.call(this)}if(opt.queue){jQuery.dequeue(this,opt.queue)}};return opt};jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHidden).css("opacity",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);if(empty||data_priv.get(this,"finish")){anim.stop(true)}};doAnimation.finish=doAnimation;return empty||optall.queue===false?this.each(doAnimation):this.queue(optall.queue,doAnimation)},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;
delete hooks.stop;stop(gotoEnd)};if(typeof type!=="string"){gotoEnd=clearQueue;clearQueue=type;type=undefined}if(clearQueue&&type!==false){this.queue(type||"fx",[])}return this.each(function(){var dequeue=true,index=type!=null&&type+"queueHooks",timers=jQuery.timers,data=data_priv.get(this);if(index){if(data[index]&&data[index].stop){stopQueue(data[index])}}else{for(index in data){if(data[index]&&data[index].stop&&rrun.test(index)){stopQueue(data[index])}}}for(index=timers.length;index--;){if(timers[index].elem===this&&(type==null||timers[index].queue===type)){timers[index].anim.stop(gotoEnd);dequeue=false;timers.splice(index,1)}}if(dequeue||!gotoEnd){jQuery.dequeue(this,type)}})},finish:function(type){if(type!==false){type=type||"fx"}return this.each(function(){var index,data=data_priv.get(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;data.finish=true;jQuery.queue(this,type,[]);if(hooks&&hooks.stop){hooks.stop.call(this,true)}for(index=timers.length;index--;){if(timers[index].elem===this&&timers[index].queue===type){timers[index].anim.stop(true);timers.splice(index,1)}}for(index=0;index<length;index++){if(queue[index]&&queue[index].finish){queue[index].finish.call(this)}}delete data.finish})}});jQuery.each(["toggle","show","hide"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return speed==null||typeof speed==="boolean"?cssFn.apply(this,arguments):this.animate(genFx(name,true),speed,easing,callback)}});jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}});jQuery.timers=[];jQuery.fx.tick=function(){var timer,i=0,timers=jQuery.timers;fxNow=jQuery.now();for(;i<timers.length;i++){timer=timers[i];if(!timer()&&timers[i]===timer){timers.splice(i--,1)}}if(!timers.length){jQuery.fx.stop()}fxNow=undefined};jQuery.fx.timer=function(timer){jQuery.timers.push(timer);if(timer()){jQuery.fx.start()}else{jQuery.timers.pop()}};jQuery.fx.interval=13;jQuery.fx.start=function(){if(!timerId){timerId=setInterval(jQuery.fx.tick,jQuery.fx.interval)}};jQuery.fx.stop=function(){clearInterval(timerId);timerId=null};jQuery.fx.speeds={slow:600,fast:200,_default:400};jQuery.fn.delay=function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(next,hooks){var timeout=setTimeout(next,time);hooks.stop=function(){clearTimeout(timeout)}})};(function(){var input=document.createElement("input"),select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));input.type="checkbox";support.checkOn=input.value!=="";support.optSelected=opt.selected;select.disabled=true;support.optDisabled=!opt.disabled;input=document.createElement("input");input.value="t";input.type="radio";support.radioValue=input.value==="t"})();var nodeHook,boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,arguments.length>1)},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name)})}});jQuery.extend({attr:function(elem,name,value){var hooks,ret,nType=elem.nodeType;if(!elem||nType===3||nType===8||nType===2){return}if(typeof elem.getAttribute===strundefined){return jQuery.prop(elem,name,value)}if(nType!==1||!jQuery.isXMLDoc(elem)){name=name.toLowerCase();hooks=jQuery.attrHooks[name]||(jQuery.expr.match.bool.test(name)?boolHook:nodeHook)}if(value!==undefined){if(value===null){jQuery.removeAttr(elem,name)}else if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret}else{elem.setAttribute(name,value+"");return value}}else if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){return ret}else{ret=jQuery.find.attr(elem,name);return ret==null?undefined:ret}},removeAttr:function(elem,value){var name,propName,i=0,attrNames=value&&value.match(rnotwhite);if(attrNames&&elem.nodeType===1){while(name=attrNames[i++]){propName=jQuery.propFix[name]||name;if(jQuery.expr.match.bool.test(name)){elem[propName]=false}elem.removeAttribute(name)}}},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&value==="radio"&&jQuery.nodeName(elem,"input")){var val=elem.value;elem.setAttribute("type",value);if(val){elem.value=val}return value}}}}});boolHook={set:function(elem,value,name){if(value===false){jQuery.removeAttr(elem,name)}else{elem.setAttribute(name,name)}return name}};jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(i,name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem,name,isXML){var ret,handle;if(!isXML){handle=attrHandle[name];attrHandle[name]=ret;ret=getter(elem,name,isXML)!=null?name.toLowerCase():null;attrHandle[name]=handle}return ret}});var rfocusable=/^(?:input|select|textarea|button)$/i;jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,arguments.length>1)},removeProp:function(name){return this.each(function(){delete this[jQuery.propFix[name]||name]})}});jQuery.extend({propFix:{for:"htmlFor",class:"className"},prop:function(elem,name,value){var ret,hooks,notxml,nType=elem.nodeType;if(!elem||nType===3||nType===8||nType===2){return}notxml=nType!==1||!jQuery.isXMLDoc(elem);if(notxml){name=jQuery.propFix[name]||name;hooks=jQuery.propHooks[name]}if(value!==undefined){return hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined?ret:elem[name]=value}else{return hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null?ret:elem[name]}},propHooks:{tabIndex:{get:function(elem){return elem.hasAttribute("tabindex")||rfocusable.test(elem.nodeName)||elem.href?elem.tabIndex:-1}}}});if(!support.optSelected){jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;if(parent&&parent.parentNode){parent.parentNode.selectedIndex}return null}}}jQuery.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this});var rclass=/[\t\r\n\f]/g;jQuery.fn.extend({addClass:function(value){var classes,elem,cur,clazz,j,finalValue,proceed=typeof value==="string"&&value,i=0,len=this.length;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).addClass(value.call(this,j,this.className))})}if(proceed){classes=(value||"").match(rnotwhite)||[];for(;i<len;i++){elem=this[i];cur=elem.nodeType===1&&(elem.className?(" "+elem.className+" ").replace(rclass," "):" ");if(cur){j=0;while(clazz=classes[j++]){if(cur.indexOf(" "+clazz+" ")<0){cur+=clazz+" "}}finalValue=jQuery.trim(cur);if(elem.className!==finalValue){elem.className=finalValue}}}}return this},removeClass:function(value){var classes,elem,cur,clazz,j,finalValue,proceed=arguments.length===0||typeof value==="string"&&value,i=0,len=this.length;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).removeClass(value.call(this,j,this.className))})}if(proceed){classes=(value||"").match(rnotwhite)||[];for(;i<len;i++){elem=this[i];cur=elem.nodeType===1&&(elem.className?(" "+elem.className+" ").replace(rclass," "):"");if(cur){j=0;while(clazz=classes[j++]){while(cur.indexOf(" "+clazz+" ")>=0){cur=cur.replace(" "+clazz+" "," ")}}finalValue=value?jQuery.trim(cur):"";if(elem.className!==finalValue){elem.className=finalValue}}}}return this},toggleClass:function(value,stateVal){var type=typeof value;if(typeof stateVal==="boolean"&&type==="string"){return stateVal?this.addClass(value):this.removeClass(value)}if(jQuery.isFunction(value)){return this.each(function(i){jQuery(this).toggleClass(value.call(this,i,this.className,stateVal),stateVal)})}return this.each(function(){if(type==="string"){var className,i=0,self=jQuery(this),classNames=value.match(rnotwhite)||[];while(className=classNames[i++]){if(self.hasClass(className)){self.removeClass(className)}else{self.addClass(className)}}}else if(type===strundefined||type==="boolean"){if(this.className){data_priv.set(this,"__className__",this.className)}this.className=this.className||value===false?"":data_priv.get(this,"__className__")||""}})},hasClass:function(selector){var className=" "+selector+" ",i=0,l=this.length;for(;i<l;i++){if(this[i].nodeType===1&&(" "+this[i].className+" ").replace(rclass," ").indexOf(className)>=0){return true}}return false}});var rreturn=/\r/g;jQuery.fn.extend({val:function(value){var hooks,ret,isFunction,elem=this[0];if(!arguments.length){if(elem){hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()];if(hooks&&"get"in hooks&&(ret=hooks.get(elem,"value"))!==undefined){return ret}ret=elem.value;return typeof ret==="string"?ret.replace(rreturn,""):ret==null?"":ret}return}isFunction=jQuery.isFunction(value);return this.each(function(i){var val;if(this.nodeType!==1){return}if(isFunction){val=value.call(this,i,jQuery(this).val())}else{val=value}if(val==null){val=""}else if(typeof val==="number"){val+=""}else if(jQuery.isArray(val)){val=jQuery.map(val,function(value){return value==null?"":value+""})}hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){this.value=val}})}});jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return val!=null?val:jQuery.trim(jQuery.text(elem))}},select:{get:function(elem){var value,option,options=elem.options,index=elem.selectedIndex,one=elem.type==="select-one"||index<0,values=one?null:[],max=one?index+1:options.length,i=index<0?max:one?index:0;for(;i<max;i++){option=options[i];if((option.selected||i===index)&&(support.optDisabled?!option.disabled:option.getAttribute("disabled")===null)&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){value=jQuery(option).val();if(one){return value}values.push(value)}}return values},set:function(elem,value){var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;while(i--){option=options[i];if(option.selected=jQuery.inArray(option.value,values)>=0){optionSet=true}}if(!optionSet){elem.selectedIndex=-1}return values}}}});jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function(elem,value){if(jQuery.isArray(value)){return elem.checked=jQuery.inArray(jQuery(elem).val(),value)>=0}}};if(!support.checkOn){jQuery.valHooks[this].get=function(elem){return elem.getAttribute("value")===null?"on":elem.value}}});jQuery.each(("blur focus focusin focusout load resize scroll unload click dblclick "+"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+"change select submit keydown keypress keyup error contextmenu").split(" "),function(i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name)}});jQuery.fn.extend({hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)},bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return arguments.length===1?this.off(selector,"**"):this.off(types,selector||"**",fn)}});var nonce=jQuery.now();var rquery=/\?/;jQuery.parseJSON=function(data){return JSON.parse(data+"")};jQuery.parseXML=function(data){var xml,tmp;if(!data||typeof data!=="string"){return null}try{tmp=new DOMParser;xml=tmp.parseFromString(data,"text/xml")}catch(e){xml=undefined}if(!xml||xml.getElementsByTagName("parsererror").length){jQuery.error("Invalid XML: "+data)}return xml};var rhash=/#.*$/,rts=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)$/gm,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,rurl=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,prefilters={},transports={},allTypes="*/".concat("*"),ajaxLocation=window.location.href,ajaxLocParts=rurl.exec(ajaxLocation.toLowerCase())||[];function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){if(typeof dataTypeExpression!=="string"){func=dataTypeExpression;dataTypeExpression="*"}var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnotwhite)||[];if(jQuery.isFunction(func)){while(dataType=dataTypes[i++]){if(dataType[0]==="+"){dataType=dataType.slice(1)||"*";(structure[dataType]=structure[dataType]||[]).unshift(func)}else{(structure[dataType]=structure[dataType]||[]).push(func)}}}}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){var inspected={},seekingTransport=structure===transports;function inspect(dataType){var selected;inspected[dataType]=true;jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);if(typeof dataTypeOrTransport==="string"&&!seekingTransport&&!inspected[dataTypeOrTransport]){options.dataTypes.unshift(dataTypeOrTransport);inspect(dataTypeOrTransport);return false}else if(seekingTransport){return!(selected=dataTypeOrTransport)}});return selected}return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*")}function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src){if(src[key]!==undefined){(flatOptions[key]?target:deep||(deep={}))[key]=src[key]}}if(deep){jQuery.extend(true,target,deep)}return target}function ajaxHandleResponses(s,jqXHR,responses){var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;while(dataTypes[0]==="*"){dataTypes.shift();if(ct===undefined){ct=s.mimeType||jqXHR.getResponseHeader("Content-Type")}}if(ct){for(type in contents){if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break}}}if(dataTypes[0]in responses){finalDataType=dataTypes[0]}else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break}if(!firstDataType){firstDataType=type}}finalDataType=finalDataType||firstDataType}if(finalDataType){if(finalDataType!==dataTypes[0]){dataTypes.unshift(finalDataType)}return responses[finalDataType]}}function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},dataTypes=s.dataTypes.slice();if(dataTypes[1]){for(conv in s.converters){converters[conv.toLowerCase()]=s.converters[conv]}}current=dataTypes.shift();while(current){if(s.responseFields[current]){jqXHR[s.responseFields[current]]=response}if(!prev&&isSuccess&&s.dataFilter){response=s.dataFilter(response,s.dataType)}prev=current;current=dataTypes.shift();if(current){if(current==="*"){current=prev}else if(prev!=="*"&&prev!==current){conv=converters[prev+" "+current]||converters["* "+current];if(!conv){for(conv2 in converters){tmp=conv2.split(" ");if(tmp[1]===current){conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]];if(conv){if(conv===true){conv=converters[conv2]}else if(converters[conv2]!==true){current=tmp[0];dataTypes.unshift(tmp[1])}break}}}}if(conv!==true){if(conv&&s["throws"]){response=conv(response)}else{try{response=conv(response)}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current}}}}}}}return{state:"success",data:response}}jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ajaxLocation,type:"GET",isLocal:rlocalProtocol.test(ajaxLocParts[1]),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":true,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target)},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){if(typeof url==="object"){options=url;url=undefined}options=options||{};var transport,cacheURL,responseHeadersString,responseHeaders,timeoutTimer,parts,fireGlobals,i,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},requestHeaders={},requestHeadersNames={},state=0,strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(state===2){if(!responseHeaders){responseHeaders={};while(match=rheaders.exec(responseHeadersString)){responseHeaders[match[1].toLowerCase()]=match[2]}}match=responseHeaders[key.toLowerCase()]}return match==null?null:match},getAllResponseHeaders:function(){return state===2?responseHeadersString:null},setRequestHeader:function(name,value){var lname=name.toLowerCase();if(!state){name=requestHeadersNames[lname]=requestHeadersNames[lname]||name;requestHeaders[name]=value}return this},overrideMimeType:function(type){if(!state){s.mimeType=type}return this},statusCode:function(map){var code;if(map){if(state<2){for(code in map){statusCode[code]=[statusCode[code],map[code]]}}else{jqXHR.always(map[jqXHR.status])}}return this},abort:function(statusText){var finalText=statusText||strAbort;if(transport){transport.abort(finalText)}done(0,finalText);return this}};deferred.promise(jqXHR).complete=completeDeferred.add;jqXHR.success=jqXHR.done;jqXHR.error=jqXHR.fail;s.url=((url||s.url||ajaxLocation)+"").replace(rhash,"").replace(rprotocol,ajaxLocParts[1]+"//");s.type=options.method||options.type||s.method||s.type;s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().match(rnotwhite)||[""];if(s.crossDomain==null){parts=rurl.exec(s.url.toLowerCase());s.crossDomain=!!(parts&&(parts[1]!==ajaxLocParts[1]||parts[2]!==ajaxLocParts[2]||(parts[3]||(parts[1]==="http:"?"80":"443"))!==(ajaxLocParts[3]||(ajaxLocParts[1]==="http:"?"80":"443"))))}if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional)}inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);if(state===2){return jqXHR}fireGlobals=jQuery.event&&s.global;if(fireGlobals&&jQuery.active++===0){jQuery.event.trigger("ajaxStart")}s.type=s.type.toUpperCase();s.hasContent=!rnoContent.test(s.type);cacheURL=s.url;if(!s.hasContent){if(s.data){cacheURL=s.url+=(rquery.test(cacheURL)?"&":"?")+s.data;delete s.data}if(s.cache===false){s.url=rts.test(cacheURL)?cacheURL.replace(rts,"$1_="+nonce++):cacheURL+(rquery.test(cacheURL)?"&":"?")+"_="+nonce++}}if(s.ifModified){if(jQuery.lastModified[cacheURL]){jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL])}if(jQuery.etag[cacheURL]){jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL])}}if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){jqXHR.setRequestHeader("Content-Type",s.contentType)}jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers){jqXHR.setRequestHeader(i,s.headers[i])}if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===false||state===2)){return jqXHR.abort()}strAbort="abort";for(i in{success:1,error:1,complete:1}){jqXHR[i](s[i])}transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);if(!transport){done(-1,"No Transport")}else{jqXHR.readyState=1;if(fireGlobals){globalEventContext.trigger("ajaxSend",[jqXHR,s])}if(s.async&&s.timeout>0){timeoutTimer=setTimeout(function(){jqXHR.abort("timeout")},s.timeout)}try{state=1;transport.send(requestHeaders,done)}catch(e){if(state<2){done(-1,e)}else{throw e}}}function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;if(state===2){return}state=2;if(timeoutTimer){clearTimeout(timeoutTimer)}transport=undefined;responseHeadersString=headers||"";jqXHR.readyState=status>0?4:0;isSuccess=status>=200&&status<300||status===304;if(responses){response=ajaxHandleResponses(s,jqXHR,responses)}response=ajaxConvert(s,response,jqXHR,isSuccess);if(isSuccess){if(s.ifModified){modified=jqXHR.getResponseHeader("Last-Modified");if(modified){jQuery.lastModified[cacheURL]=modified}modified=jqXHR.getResponseHeader("etag");if(modified){jQuery.etag[cacheURL]=modified}}if(status===204||s.type==="HEAD"){statusText="nocontent"}else if(status===304){statusText="notmodified"}else{statusText=response.state;success=response.data;error=response.error;isSuccess=!error}}else{error=statusText;if(status||!statusText){statusText="error";if(status<0){status=0}}}jqXHR.status=status;jqXHR.statusText=(nativeStatusText||statusText)+"";if(isSuccess){deferred.resolveWith(callbackContext,[success,statusText,jqXHR])}else{deferred.rejectWith(callbackContext,[jqXHR,statusText,error])}jqXHR.statusCode(statusCode);statusCode=undefined;if(fireGlobals){globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error])}completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);if(fireGlobals){globalEventContext.trigger("ajaxComplete",[jqXHR,s]);if(!--jQuery.active){jQuery.event.trigger("ajaxStop")}}}return jqXHR},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},getScript:function(url,callback){return jQuery.get(url,undefined,callback,"script")}});jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;callback=data;data=undefined}return jQuery.ajax({url:url,type:method,dataType:type,data:data,success:callback})}});jQuery._evalUrl=function(url){return jQuery.ajax({url:url,type:"GET",dataType:"script",async:false,global:false,throws:true})};jQuery.fn.extend({wrapAll:function(html){var wrap;if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapAll(html.call(this,i))})}if(this[0]){wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0])}wrap.map(function(){var elem=this;while(elem.firstElementChild){elem=elem.firstElementChild}return elem}).append(this)}return this},wrapInner:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapInner(html.call(this,i))})}return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html)}else{self.append(html)}})},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html)})},unwrap:function(){return this.parent().each(function(){if(!jQuery.nodeName(this,"body")){jQuery(this).replaceWith(this.childNodes)}}).end()}});jQuery.expr.filters.hidden=function(elem){return elem.offsetWidth<=0&&elem.offsetHeight<=0};jQuery.expr.filters.visible=function(elem){return!jQuery.expr.filters.hidden(elem)};var r20=/%20/g,rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;function buildParams(prefix,obj,traditional,add){var name;if(jQuery.isArray(obj)){jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){add(prefix,v)}else{buildParams(prefix+"["+(typeof v==="object"?i:"")+"]",v,traditional,add)}})}else if(!traditional&&jQuery.type(obj)==="object"){for(name in obj){buildParams(prefix+"["+name+"]",obj[name],traditional,add)}}else{add(prefix,obj)}}jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,value){value=jQuery.isFunction(value)?value():value==null?"":value;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value)};if(traditional===undefined){traditional=jQuery.ajaxSettings&&jQuery.ajaxSettings.traditional}if(jQuery.isArray(a)||a.jquery&&!jQuery.isPlainObject(a)){jQuery.each(a,function(){add(this.name,this.value)})}else{for(prefix in a){buildParams(prefix,a[prefix],traditional,add)}}return s.join("&").replace(r20,"+")};jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this}).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type))}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")}}):{name:elem.name,value:val.replace(rCRLF,"\r\n")}}).get()}});jQuery.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var xhrId=0,xhrCallbacks={},xhrSuccessStatus={0:200,1223:204},xhrSupported=jQuery.ajaxSettings.xhr();if(window.attachEvent){window.attachEvent("onunload",function(){for(var key in xhrCallbacks){xhrCallbacks[key]()}})}support.cors=!!xhrSupported&&"withCredentials"in xhrSupported;support.ajax=xhrSupported=!!xhrSupported;jQuery.ajaxTransport(function(options){var callback;if(support.cors||xhrSupported&&!options.crossDomain){return{send:function(headers,complete){var i,xhr=options.xhr(),id=++xhrId;xhr.open(options.type,options.url,options.async,options.username,options.password);if(options.xhrFields){for(i in options.xhrFields){xhr[i]=options.xhrFields[i]}}if(options.mimeType&&xhr.overrideMimeType){xhr.overrideMimeType(options.mimeType)}if(!options.crossDomain&&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest"}for(i in headers){xhr.setRequestHeader(i,headers[i])}callback=function(type){return function(){if(callback){delete xhrCallbacks[id];callback=xhr.onload=xhr.onerror=null;if(type==="abort"){xhr.abort()}else if(type==="error"){complete(xhr.status,xhr.statusText)}else{complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,typeof xhr.responseText==="string"?{text:xhr.responseText}:undefined,xhr.getAllResponseHeaders())}}}};xhr.onload=callback();xhr.onerror=callback("error");callback=xhrCallbacks[id]=callback("abort");try{xhr.send(options.hasContent&&options.data||null)}catch(e){if(callback){throw e}}},abort:function(){if(callback){callback()}}}}});jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(text){jQuery.globalEval(text);return text}}});jQuery.ajaxPrefilter("script",function(s){if(s.cache===undefined){s.cache=false}if(s.crossDomain){s.type="GET"}});jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,callback;return{send:function(_,complete){script=jQuery("<script>").prop({async:true,charset:s.scriptCharset,src:s.url}).on("load error",callback=function(evt){script.remove();callback=null;if(evt){complete(evt.type==="error"?404:200,evt.type)}});document.head.appendChild(script[0])},abort:function(){if(callback){callback()}}}}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+nonce++;this[callback]=true;return callback}});jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=s.jsonp!==false&&(rjsonp.test(s.url)?"url":typeof s.data==="string"&&!(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&rjsonp.test(s.data)&&"data");if(jsonProp||s.dataTypes[0]==="jsonp"){callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback;if(jsonProp){s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName)}else if(s.jsonp!==false){s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName}s.converters["script json"]=function(){if(!responseContainer){jQuery.error(callbackName+" was not called")}return responseContainer[0]};s.dataTypes[0]="json";overwritten=window[callbackName];window[callbackName]=function(){responseContainer=arguments};jqXHR.always(function(){window[callbackName]=overwritten;if(s[callbackName]){s.jsonpCallback=originalSettings.jsonpCallback;oldCallbacks.push(callbackName)}if(responseContainer&&jQuery.isFunction(overwritten)){overwritten(responseContainer[0])}responseContainer=overwritten=undefined});return"script"}});jQuery.parseHTML=function(data,context,keepScripts){if(!data||typeof data!=="string"){return null}if(typeof context==="boolean"){keepScripts=context;context=false}context=context||document;var parsed=rsingleTag.exec(data),scripts=!keepScripts&&[];if(parsed){return[context.createElement(parsed[1])]}parsed=jQuery.buildFragment([data],context,scripts);if(scripts&&scripts.length){jQuery(scripts).remove()}return jQuery.merge([],parsed.childNodes)};var _load=jQuery.fn.load;jQuery.fn.load=function(url,params,callback){if(typeof url!=="string"&&_load){return _load.apply(this,arguments)}var selector,type,response,self=this,off=url.indexOf(" ");if(off>=0){selector=jQuery.trim(url.slice(off));url=url.slice(0,off)}if(jQuery.isFunction(params)){callback=params;params=undefined}else if(params&&typeof params==="object"){type="POST"}if(self.length>0){jQuery.ajax({url:url,type:type,dataType:"html",data:params}).done(function(responseText){response=arguments;self.html(selector?jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):responseText)}).complete(callback&&function(jqXHR,status){self.each(callback,response||[jqXHR.responseText,status,jqXHR])})}return this};jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}});jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length};var docElem=window.document.documentElement;function getWindow(elem){return jQuery.isWindow(elem)?elem:elem.nodeType===9&&elem.defaultView}jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};if(position==="static"){elem.style.position="relative"}curOffset=curElem.offset();curCSSTop=jQuery.css(elem,"top");curCSSLeft=jQuery.css(elem,"left");calculatePosition=(position==="absolute"||position==="fixed")&&(curCSSTop+curCSSLeft).indexOf("auto")>-1;if(calculatePosition){curPosition=curElem.position();curTop=curPosition.top;curLeft=curPosition.left}else{curTop=parseFloat(curCSSTop)||0;curLeft=parseFloat(curCSSLeft)||0}if(jQuery.isFunction(options)){options=options.call(elem,i,curOffset)}if(options.top!=null){props.top=options.top-curOffset.top+curTop}if(options.left!=null){props.left=options.left-curOffset.left+curLeft}if("using"in options){options.using.call(elem,props)}else{curElem.css(props)}}};jQuery.fn.extend({offset:function(options){if(arguments.length){return options===undefined?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)})}var docElem,win,elem=this[0],box={top:0,left:0},doc=elem&&elem.ownerDocument;if(!doc){return}docElem=doc.documentElement;if(!jQuery.contains(docElem,elem)){return box}if(typeof elem.getBoundingClientRect!==strundefined){box=elem.getBoundingClientRect()}win=getWindow(doc);return{top:box.top+win.pageYOffset-docElem.clientTop,left:box.left+win.pageXOffset-docElem.clientLeft}},position:function(){if(!this[0]){return}var offsetParent,offset,elem=this[0],parentOffset={top:0,left:0};if(jQuery.css(elem,"position")==="fixed"){offset=elem.getBoundingClientRect()}else{offsetParent=this.offsetParent();offset=this.offset();
if(!jQuery.nodeName(offsetParent[0],"html")){parentOffset=offsetParent.offset()}parentOffset.top+=jQuery.css(offsetParent[0],"borderTopWidth",true);parentOffset.left+=jQuery.css(offsetParent[0],"borderLeftWidth",true)}return{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",true),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",true)}},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent||docElem;while(offsetParent&&(!jQuery.nodeName(offsetParent,"html")&&jQuery.css(offsetParent,"position")==="static")){offsetParent=offsetParent.offsetParent}return offsetParent||docElem})}});jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top="pageYOffset"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win=getWindow(elem);if(val===undefined){return win?win[prop]:elem[method]}if(win){win.scrollTo(!top?val:window.pageXOffset,top?val:window.pageYOffset)}else{elem[method]=val}},method,val,arguments.length,null)}});jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed){computed=curCSS(elem,prop);return rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed}})});jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||typeof margin!=="boolean"),extra=defaultExtra||(margin===true||value===true?"margin":"border");return access(this,function(elem,type,value){var doc;if(jQuery.isWindow(elem)){return elem.document.documentElement["client"+name]}if(elem.nodeType===9){doc=elem.documentElement;return Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])}return value===undefined?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:undefined,chainable,null)}})});jQuery.fn.size=function(){return this.length};jQuery.fn.andSelf=jQuery.fn.addBack;if(typeof define==="function"&&define.amd){define("jquery",[],function(){return jQuery})}var _jQuery=window.jQuery,_$=window.$;jQuery.noConflict=function(deep){if(window.$===jQuery){window.$=_$}if(deep&&window.jQuery===jQuery){window.jQuery=_jQuery}return jQuery};if(typeof noGlobal===strundefined){window.jQuery=window.$=jQuery}return jQuery});(function(){"use strict";function setup($){$.fn._fadeIn=$.fn.fadeIn;var noOp=$.noop||function(){};var msie=/MSIE/.test(navigator.userAgent);var ie6=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent);var mode=document.documentMode||0;var setExpr=$.isFunction(document.createElement("div").style.setExpression);$.blockUI=function(opts){install(window,opts)};$.unblockUI=function(opts){remove(window,opts)};$.growlUI=function(title,message,timeout,onClose){var $m=$('<div class="growlUI"></div>');if(title)$m.append("<h1>"+title+"</h1>");if(message)$m.append("<h2>"+message+"</h2>");if(timeout===undefined)timeout=3e3;var callBlock=function(opts){opts=opts||{};$.blockUI({message:$m,fadeIn:typeof opts.fadeIn!=="undefined"?opts.fadeIn:700,fadeOut:typeof opts.fadeOut!=="undefined"?opts.fadeOut:1e3,timeout:typeof opts.timeout!=="undefined"?opts.timeout:timeout,centerY:false,showOverlay:false,onUnblock:onClose,css:$.blockUI.defaults.growlCSS})};callBlock();var nonmousedOpacity=$m.css("opacity");$m.mouseover(function(){callBlock({fadeIn:0,timeout:3e4});var displayBlock=$(".blockMsg");displayBlock.stop();displayBlock.fadeTo(300,1)}).mouseout(function(){$(".blockMsg").fadeOut(1e3)})};$.fn.block=function(opts){if(this[0]===window){$.blockUI(opts);return this}var fullOpts=$.extend({},$.blockUI.defaults,opts||{});this.each(function(){var $el=$(this);if(fullOpts.ignoreIfBlocked&&$el.data("blockUI.isBlocked"))return;$el.unblock({fadeOut:0})});return this.each(function(){if($.css(this,"position")=="static"){this.style.position="relative";$(this).data("blockUI.static",true)}this.style.zoom=1;install(this,opts)})};$.fn.unblock=function(opts){if(this[0]===window){$.unblockUI(opts);return this}return this.each(function(){remove(this,opts)})};$.blockUI.version=2.7;$.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:true,theme:false,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:false,baseZ:1e3,centerX:true,centerY:true,allowBodyStretch:true,bindEvents:true,constrainTabKey:true,fadeIn:200,fadeOut:400,timeout:0,showOverlay:true,focusInput:true,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:false};var pageBlock=null;var pageBlockEls=[];function install(el,opts){var css,themedCSS;var full=el==window;var msg=opts&&opts.message!==undefined?opts.message:undefined;opts=$.extend({},$.blockUI.defaults,opts||{});if(opts.ignoreIfBlocked&&$(el).data("blockUI.isBlocked"))return;opts.overlayCSS=$.extend({},$.blockUI.defaults.overlayCSS,opts.overlayCSS||{});css=$.extend({},$.blockUI.defaults.css,opts.css||{});if(opts.onOverlayClick)opts.overlayCSS.cursor="pointer";themedCSS=$.extend({},$.blockUI.defaults.themedCSS,opts.themedCSS||{});msg=msg===undefined?opts.message:msg;if(full&&pageBlock)remove(window,{fadeOut:0});if(msg&&typeof msg!="string"&&(msg.parentNode||msg.jquery)){var node=msg.jquery?msg[0]:msg;var data={};$(el).data("blockUI.history",data);data.el=node;data.parent=node.parentNode;data.display=node.style.display;data.position=node.style.position;if(data.parent)data.parent.removeChild(node)}$(el).data("blockUI.onUnblock",opts.onUnblock);var z=opts.baseZ;var lyr1,lyr2,lyr3,s;if(msie||opts.forceIframe)lyr1=$('<iframe class="blockUI" style="z-index:'+z++ +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>');else lyr1=$('<div class="blockUI" style="display:none"></div>');if(opts.theme)lyr2=$('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+z++ +';display:none"></div>');else lyr2=$('<div class="blockUI blockOverlay" style="z-index:'+z++ +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');if(opts.theme&&full){s='<div class="blockUI '+opts.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:fixed">';if(opts.title){s+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title||"&nbsp;")+"</div>"}s+='<div class="ui-widget-content ui-dialog-content"></div>';s+="</div>"}else if(opts.theme){s='<div class="blockUI '+opts.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:absolute">';if(opts.title){s+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title||"&nbsp;")+"</div>"}s+='<div class="ui-widget-content ui-dialog-content"></div>';s+="</div>"}else if(full){s='<div class="blockUI '+opts.blockMsgClass+' blockPage" style="z-index:'+(z+10)+';display:none;position:fixed"></div>'}else{s='<div class="blockUI '+opts.blockMsgClass+' blockElement" style="z-index:'+(z+10)+';display:none;position:absolute"></div>'}lyr3=$(s);if(msg){if(opts.theme){lyr3.css(themedCSS);lyr3.addClass("ui-widget-content")}else lyr3.css(css)}if(!opts.theme)lyr2.css(opts.overlayCSS);lyr2.css("position",full?"fixed":"absolute");if(msie||opts.forceIframe)lyr1.css("opacity",0);var layers=[lyr1,lyr2,lyr3],$par=full?$("body"):$(el);$.each(layers,function(){this.appendTo($par)});if(opts.theme&&opts.draggable&&$.fn.draggable){lyr3.draggable({handle:".ui-dialog-titlebar",cancel:"li"})}var expr=setExpr&&(!$.support.boxModel||$("object,embed",full?null:el).length>0);if(ie6||expr){if(full&&opts.allowBodyStretch&&$.support.boxModel)$("html,body").css("height","100%");if((ie6||!$.support.boxModel)&&!full){var t=sz(el,"borderTopWidth"),l=sz(el,"borderLeftWidth");var fixT=t?"(0 - "+t+")":0;var fixL=l?"(0 - "+l+")":0}$.each(layers,function(i,o){var s=o[0].style;s.position="absolute";if(i<2){if(full)s.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+opts.quirksmodeOffsetHack+') + "px"');else s.setExpression("height",'this.parentNode.offsetHeight + "px"');if(full)s.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"');else s.setExpression("width",'this.parentNode.offsetWidth + "px"');if(fixL)s.setExpression("left",fixL);if(fixT)s.setExpression("top",fixT)}else if(opts.centerY){if(full)s.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');s.marginTop=0}else if(!opts.centerY&&full){var top=opts.css&&opts.css.top?parseInt(opts.css.top,10):0;var expression="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+top+') + "px"';s.setExpression("top",expression)}})}if(msg){if(opts.theme)lyr3.find(".ui-widget-content").append(msg);else lyr3.append(msg);if(msg.jquery||msg.nodeType)$(msg).show()}if((msie||opts.forceIframe)&&opts.showOverlay)lyr1.show();if(opts.fadeIn){var cb=opts.onBlock?opts.onBlock:noOp;var cb1=opts.showOverlay&&!msg?cb:noOp;var cb2=msg?cb:noOp;if(opts.showOverlay)lyr2._fadeIn(opts.fadeIn,cb1);if(msg)lyr3._fadeIn(opts.fadeIn,cb2)}else{if(opts.showOverlay)lyr2.show();if(msg)lyr3.show();if(opts.onBlock)opts.onBlock.bind(lyr3)()}bind(1,el,opts);if(full){pageBlock=lyr3[0];pageBlockEls=$(opts.focusableElements,pageBlock);if(opts.focusInput)setTimeout(focus,20)}else center(lyr3[0],opts.centerX,opts.centerY);if(opts.timeout){var to=setTimeout(function(){if(full)$.unblockUI(opts);else $(el).unblock(opts)},opts.timeout);$(el).data("blockUI.timeout",to)}}function remove(el,opts){var count;var full=el==window;var $el=$(el);var data=$el.data("blockUI.history");var to=$el.data("blockUI.timeout");if(to){clearTimeout(to);$el.removeData("blockUI.timeout")}opts=$.extend({},$.blockUI.defaults,opts||{});bind(0,el,opts);if(opts.onUnblock===null){opts.onUnblock=$el.data("blockUI.onUnblock");$el.removeData("blockUI.onUnblock")}var els;if(full)els=$("body").children().filter(".blockUI").add("body > .blockUI");else els=$el.find(">.blockUI");if(opts.cursorReset){if(els.length>1)els[1].style.cursor=opts.cursorReset;if(els.length>2)els[2].style.cursor=opts.cursorReset}if(full)pageBlock=pageBlockEls=null;if(opts.fadeOut){count=els.length;els.stop().fadeOut(opts.fadeOut,function(){if(--count===0)reset(els,data,opts,el)})}else reset(els,data,opts,el)}function reset(els,data,opts,el){var $el=$(el);if($el.data("blockUI.isBlocked"))return;els.each(function(i,o){if(this.parentNode)this.parentNode.removeChild(this)});if(data&&data.el){data.el.style.display=data.display;data.el.style.position=data.position;data.el.style.cursor="default";if(data.parent)data.parent.appendChild(data.el);$el.removeData("blockUI.history")}if($el.data("blockUI.static")){$el.css("position","static")}if(typeof opts.onUnblock=="function")opts.onUnblock(el,opts);var body=$(document.body),w=body.width(),cssW=body[0].style.width;body.width(w-1).width(w);body[0].style.width=cssW}function bind(b,el,opts){var full=el==window,$el=$(el);if(!b&&(full&&!pageBlock||!full&&!$el.data("blockUI.isBlocked")))return;$el.data("blockUI.isBlocked",b);if(!full||!opts.bindEvents||b&&!opts.showOverlay)return;var events="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";if(b)$(document).bind(events,opts,handler);else $(document).unbind(events,handler)}function handler(e){if(e.type==="keydown"&&e.keyCode&&e.keyCode==9){if(pageBlock&&e.data.constrainTabKey){var els=pageBlockEls;var fwd=!e.shiftKey&&e.target===els[els.length-1];var back=e.shiftKey&&e.target===els[0];if(fwd||back){setTimeout(function(){focus(back)},10);return false}}}var opts=e.data;var target=$(e.target);if(target.hasClass("blockOverlay")&&opts.onOverlayClick)opts.onOverlayClick(e);if(target.parents("div."+opts.blockMsgClass).length>0)return true;return target.parents().children().filter("div.blockUI").length===0}function focus(back){if(!pageBlockEls)return;var e=pageBlockEls[back===true?pageBlockEls.length-1:0];if(e)e.focus()}function center(el,x,y){var p=el.parentNode,s=el.style;var l=(p.offsetWidth-el.offsetWidth)/2-sz(p,"borderLeftWidth");var t=(p.offsetHeight-el.offsetHeight)/2-sz(p,"borderTopWidth");if(x)s.left=l>0?l+"px":"0";if(y)s.top=t>0?t+"px":"0"}function sz(el,p){return parseInt($.css(el,p),10)||0}}if(typeof define==="function"&&define.amd&&define.amd.jQuery){define(["jquery"],setup)}else{setup(jQuery)}})();(function($){var plugin={};var defaults={mode:"horizontal",slideSelector:"",infiniteLoop:true,hideControlOnEnd:false,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:false,captions:false,ticker:false,tickerHover:false,adaptiveHeight:false,adaptiveHeightSpeed:500,video:false,useCSS:true,preloadImages:"visible",responsive:true,touchEnabled:true,swipeThreshold:50,oneToOneTouch:true,preventDefaultSwipeX:true,preventDefaultSwipeY:false,pager:true,pagerType:"full",pagerShortSeparator:" / ",pagerSelector:null,buildPager:null,pagerCustom:null,controls:true,nextText:"Next",prevText:"Prev",nextSelector:null,prevSelector:null,autoControls:false,startText:"Start",stopText:"Stop",autoControlsCombine:false,autoControlsSelector:null,auto:false,pause:4e3,autoStart:true,autoDirection:"next",autoHover:false,autoDelay:0,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,onSliderLoad:function(){},onSlideBefore:function(){},onSlideAfter:function(){},onSlideNext:function(){},onSlidePrev:function(){}};$.fn.bxSlider=function(options){if(this.length==0)return this;if(this.length>1){this.each(function(){$(this).bxSlider(options)});return this}var slider={};var el=this;plugin.el=this;var windowWidth=$(window).width();var windowHeight=$(window).height();var init=function(){slider.settings=$.extend({},defaults,options);slider.settings.slideWidth=parseInt(slider.settings.slideWidth);slider.children=el.children(slider.settings.slideSelector);if(slider.children.length<slider.settings.minSlides)slider.settings.minSlides=slider.children.length;if(slider.children.length<slider.settings.maxSlides)slider.settings.maxSlides=slider.children.length;if(slider.settings.randomStart)slider.settings.startSlide=Math.floor(Math.random()*slider.children.length);slider.active={index:slider.settings.startSlide};slider.carousel=slider.settings.minSlides>1||slider.settings.maxSlides>1;if(slider.carousel)slider.settings.preloadImages="all";slider.minThreshold=slider.settings.minSlides*slider.settings.slideWidth+(slider.settings.minSlides-1)*slider.settings.slideMargin;slider.maxThreshold=slider.settings.maxSlides*slider.settings.slideWidth+(slider.settings.maxSlides-1)*slider.settings.slideMargin;slider.working=false;slider.controls={};slider.interval=null;slider.animProp=slider.settings.mode=="vertical"?"top":"left";slider.usingCSS=slider.settings.useCSS&&slider.settings.mode!="fade"&&function(){var div=document.createElement("div");var props=["WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var i in props){if(div.style[props[i]]!==undefined){slider.cssPrefix=props[i].replace("Perspective","").toLowerCase();slider.animProp="-"+slider.cssPrefix+"-transform";return true}}return false}();if(slider.settings.mode=="vertical")slider.settings.maxSlides=slider.settings.minSlides;el.data("origStyle",el.attr("style"));el.children(slider.settings.slideSelector).each(function(){$(this).data("origStyle",$(this).attr("style"))});setup()};var setup=function(){el.wrap('<div class="bx-wrapper"><div class="bx-viewport"></div></div>');slider.viewport=el.parent();slider.loader=$('<div class="bx-loading" />');slider.viewport.prepend(slider.loader);el.css({width:slider.settings.mode=="horizontal"?slider.children.length*100+215+"%":"auto",position:"relative"});if(slider.usingCSS&&slider.settings.easing){el.css("-"+slider.cssPrefix+"-transition-timing-function",slider.settings.easing)}else if(!slider.settings.easing){slider.settings.easing="swing"}var slidesShowing=getNumberSlidesShowing();slider.viewport.css({width:"100%",overflow:"hidden",position:"relative"});slider.viewport.parent().css({maxWidth:getViewportMaxWidth()});if(!slider.settings.pager){slider.viewport.parent().css({margin:"0 auto 0px"})}slider.children.css({float:slider.settings.mode=="horizontal"?"left":"none",listStyle:"none",position:"relative"});slider.children.css("width",getSlideWidth());if(slider.settings.mode=="horizontal"&&slider.settings.slideMargin>0)slider.children.css("marginRight",slider.settings.slideMargin);if(slider.settings.mode=="vertical"&&slider.settings.slideMargin>0)slider.children.css("marginBottom",slider.settings.slideMargin);if(slider.settings.mode=="fade"){slider.children.css({position:"absolute",zIndex:0,display:"none"});slider.children.eq(slider.settings.startSlide).css({zIndex:50,display:"block"})}slider.controls.el=$('<div class="bx-controls" />');if(slider.settings.captions)appendCaptions();slider.active.last=slider.settings.startSlide==getPagerQty()-1;if(slider.settings.video)el.fitVids();var preloadSelector=slider.children.eq(slider.settings.startSlide);if(slider.settings.preloadImages=="all")preloadSelector=slider.children;if(!slider.settings.ticker){if(slider.settings.pager)appendPager();if(slider.settings.controls)appendControls();if(slider.settings.auto&&slider.settings.autoControls)appendControlsAuto();if(slider.settings.controls||slider.settings.autoControls||slider.settings.pager)slider.viewport.after(slider.controls.el)}else{slider.settings.pager=false}loadElements(preloadSelector,start)};var loadElements=function(selector,callback){var total=selector.find("img, iframe").length;if(total==0){callback();return}var count=0;selector.find("img, iframe").each(function(){$(this).one("load",function(){if(++count==total)callback()}).each(function(){if(this.complete)$(this).load()})})};var start=function(){if(slider.settings.infiniteLoop&&slider.settings.mode!="fade"&&!slider.settings.ticker){var slice=slider.settings.mode=="vertical"?slider.settings.minSlides:slider.settings.maxSlides;var sliceAppend=slider.children.slice(0,slice).clone().addClass("bx-clone");var slicePrepend=slider.children.slice(-slice).clone().addClass("bx-clone");el.append(sliceAppend).prepend(slicePrepend)}slider.loader.remove();setSlidePosition();if(slider.settings.mode=="vertical")slider.settings.adaptiveHeight=true;slider.viewport.height(getViewportHeight());el.redrawSlider();slider.settings.onSliderLoad(slider.active.index);slider.initialized=true;if(slider.settings.responsive)$(window).bind("resize",resizeWindow);if(slider.settings.auto&&slider.settings.autoStart)initAuto();if(slider.settings.ticker)initTicker();if(slider.settings.pager)updatePagerActive(slider.settings.startSlide);if(slider.settings.controls)updateDirectionControls();if(slider.settings.touchEnabled&&!slider.settings.ticker)initTouch()};var getViewportHeight=function(){var height=0;var children=$();if(slider.settings.mode!="vertical"&&!slider.settings.adaptiveHeight){children=slider.children}else{if(!slider.carousel){children=slider.children.eq(slider.active.index)}else{var currentIndex=slider.settings.moveSlides==1?slider.active.index:slider.active.index*getMoveBy();children=slider.children.eq(currentIndex);for(i=1;i<=slider.settings.maxSlides-1;i++){if(currentIndex+i>=slider.children.length){children=children.add(slider.children.eq(i-1))}else{children=children.add(slider.children.eq(currentIndex+i))}}}}if(slider.settings.mode=="vertical"){children.each(function(index){height+=$(this).outerHeight()});if(slider.settings.slideMargin>0){height+=slider.settings.slideMargin*(slider.settings.minSlides-1)}}else{height=Math.max.apply(Math,children.map(function(){return $(this).outerHeight(false)}).get())}return height};var getViewportMaxWidth=function(){var width="100%";if(slider.settings.slideWidth>0){if(slider.settings.mode=="horizontal"){width=slider.settings.maxSlides*slider.settings.slideWidth+(slider.settings.maxSlides-1)*slider.settings.slideMargin}else{width=slider.settings.slideWidth}}return width};var getSlideWidth=function(){var newElWidth=slider.settings.slideWidth;var wrapWidth=slider.viewport.width();if(slider.settings.slideWidth==0||slider.settings.slideWidth>wrapWidth&&!slider.carousel||slider.settings.mode=="vertical"){newElWidth=wrapWidth}else if(slider.settings.maxSlides>1&&slider.settings.mode=="horizontal"){if(wrapWidth>slider.maxThreshold){}else if(wrapWidth<slider.minThreshold){newElWidth=(wrapWidth-slider.settings.slideMargin*(slider.settings.minSlides-1))/slider.settings.minSlides}}return newElWidth};var getNumberSlidesShowing=function(){var slidesShowing=1;if(slider.settings.mode=="horizontal"&&slider.settings.slideWidth>0){if(slider.viewport.width()<slider.minThreshold){slidesShowing=slider.settings.minSlides}else if(slider.viewport.width()>slider.maxThreshold){slidesShowing=slider.settings.maxSlides}else{var childWidth=slider.children.first().width();slidesShowing=Math.floor(slider.viewport.width()/childWidth)}}else if(slider.settings.mode=="vertical"){slidesShowing=slider.settings.minSlides}return slidesShowing};var getPagerQty=function(){var pagerQty=0;if(slider.settings.moveSlides>0){if(slider.settings.infiniteLoop){pagerQty=slider.children.length/getMoveBy()}else{var breakPoint=0;var counter=0;while(breakPoint<slider.children.length){++pagerQty;breakPoint=counter+getNumberSlidesShowing();counter+=slider.settings.moveSlides<=getNumberSlidesShowing()?slider.settings.moveSlides:getNumberSlidesShowing()}}}else{pagerQty=Math.ceil(slider.children.length/getNumberSlidesShowing())}return pagerQty};var getMoveBy=function(){if(slider.settings.moveSlides>0&&slider.settings.moveSlides<=getNumberSlidesShowing()){return slider.settings.moveSlides}return getNumberSlidesShowing()};var setSlidePosition=function(){if(slider.children.length>slider.settings.maxSlides&&slider.active.last&&!slider.settings.infiniteLoop){if(slider.settings.mode=="horizontal"){var lastChild=slider.children.last();var position=lastChild.position();setPositionProperty(-(position.left-(slider.viewport.width()-lastChild.width())),"reset",0)}else if(slider.settings.mode=="vertical"){var lastShowingIndex=slider.children.length-slider.settings.minSlides;var position=slider.children.eq(lastShowingIndex).position();setPositionProperty(-position.top,"reset",0)}}else{var position=slider.children.eq(slider.active.index*getMoveBy()).position();if(slider.active.index==getPagerQty()-1)slider.active.last=true;if(position!=undefined){if(slider.settings.mode=="horizontal")setPositionProperty(-position.left,"reset",0);else if(slider.settings.mode=="vertical")setPositionProperty(-position.top,"reset",0)}}};var setPositionProperty=function(value,type,duration,params){if(slider.usingCSS){var propValue=slider.settings.mode=="vertical"?"translate3d(0, "+value+"px, 0)":"translate3d("+value+"px, 0, 0)";el.css("-"+slider.cssPrefix+"-transition-duration",duration/1e3+"s");if(type=="slide"){el.css(slider.animProp,propValue);el.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){el.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd");updateAfterSlideTransition()})}else if(type=="reset"){el.css(slider.animProp,propValue)}else if(type=="ticker"){el.css("-"+slider.cssPrefix+"-transition-timing-function","linear");el.css(slider.animProp,propValue);el.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){el.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd");setPositionProperty(params["resetValue"],"reset",0);tickerLoop()})}}else{var animateObj={};animateObj[slider.animProp]=value;if(type=="slide"){el.animate(animateObj,duration,slider.settings.easing,function(){updateAfterSlideTransition()})}else if(type=="reset"){el.css(slider.animProp,value)}else if(type=="ticker"){el.animate(animateObj,speed,"linear",function(){setPositionProperty(params["resetValue"],"reset",0);tickerLoop()})}}};var populatePager=function(){var pagerHtml="";var pagerQty=getPagerQty();for(var i=0;i<pagerQty;i++){var linkContent="";if(slider.settings.buildPager&&$.isFunction(slider.settings.buildPager)){linkContent=slider.settings.buildPager(i);slider.pagerEl.addClass("bx-custom-pager")}else{linkContent=i+1;slider.pagerEl.addClass("bx-default-pager")}pagerHtml+='<div class="bx-pager-item"><a href="" data-slide-index="'+i+'" class="bx-pager-link">'+linkContent+"</a></div>"}slider.pagerEl.html(pagerHtml)};var appendPager=function(){if(!slider.settings.pagerCustom){slider.pagerEl=$('<div class="bx-pager" />');if(slider.settings.pagerSelector){$(slider.settings.pagerSelector).html(slider.pagerEl)}else{slider.controls.el.addClass("bx-has-pager").append(slider.pagerEl)}populatePager()}else{slider.pagerEl=$(slider.settings.pagerCustom)}slider.pagerEl.delegate("a","click",clickPagerBind)};var appendControls=function(){slider.controls.next=$('<a class="bx-next" href="">'+slider.settings.nextText+"</a>");slider.controls.prev=$('<a class="bx-prev" href="">'+slider.settings.prevText+"</a>");slider.controls.next.bind("click",clickNextBind);slider.controls.prev.bind("click",clickPrevBind);if(slider.settings.nextSelector){$(slider.settings.nextSelector).append(slider.controls.next)}if(slider.settings.prevSelector){$(slider.settings.prevSelector).append(slider.controls.prev)}if(!slider.settings.nextSelector&&!slider.settings.prevSelector){slider.controls.directionEl=$('<div class="bx-controls-direction" />');slider.controls.directionEl.append(slider.controls.prev).append(slider.controls.next);slider.controls.el.addClass("bx-has-controls-direction").append(slider.controls.directionEl)}};var appendControlsAuto=function(){slider.controls.start=$('<div class="bx-controls-auto-item"><a class="bx-start" href="">'+slider.settings.startText+"</a></div>");slider.controls.stop=$('<div class="bx-controls-auto-item"><a class="bx-stop" href="">'+slider.settings.stopText+"</a></div>");slider.controls.autoEl=$('<div class="bx-controls-auto" />');slider.controls.autoEl.delegate(".bx-start","click",clickStartBind);slider.controls.autoEl.delegate(".bx-stop","click",clickStopBind);if(slider.settings.autoControlsCombine){slider.controls.autoEl.append(slider.controls.start)}else{slider.controls.autoEl.append(slider.controls.start).append(slider.controls.stop)}if(slider.settings.autoControlsSelector){$(slider.settings.autoControlsSelector).html(slider.controls.autoEl)}else{slider.controls.el.addClass("bx-has-controls-auto").append(slider.controls.autoEl)}updateAutoControls(slider.settings.autoStart?"stop":"start")};var appendCaptions=function(){slider.children.each(function(index){var title=$(this).find("img:first").attr("title");if(title!=undefined&&(""+title).length){$(this).append('<div class="bx-caption"><span>'+title+"</span></div>")}})};var clickNextBind=function(e){if(slider.settings.auto)el.stopAuto();el.goToNextSlide();e.preventDefault()};var clickPrevBind=function(e){if(slider.settings.auto)el.stopAuto();el.goToPrevSlide();e.preventDefault()};var clickStartBind=function(e){el.startAuto();e.preventDefault()};var clickStopBind=function(e){el.stopAuto();e.preventDefault()};var clickPagerBind=function(e){if(slider.settings.auto)el.stopAuto();var pagerLink=$(e.currentTarget);var pagerIndex=parseInt(pagerLink.attr("data-slide-index"));if(pagerIndex!=slider.active.index)el.goToSlide(pagerIndex);e.preventDefault()};var updatePagerActive=function(slideIndex){var len=slider.children.length;if(slider.settings.pagerType=="short"){if(slider.settings.maxSlides>1){len=Math.ceil(slider.children.length/slider.settings.maxSlides)}slider.pagerEl.html(slideIndex+1+slider.settings.pagerShortSeparator+len);return}slider.pagerEl.find("a").removeClass("active");slider.pagerEl.each(function(i,el){$(el).find("a").eq(slideIndex).addClass("active")})};var updateAfterSlideTransition=function(){if(slider.settings.infiniteLoop){var position="";if(slider.active.index==0){position=slider.children.eq(0).position()}else if(slider.active.index==getPagerQty()-1&&slider.carousel){position=slider.children.eq((getPagerQty()-1)*getMoveBy()).position()}else if(slider.active.index==slider.children.length-1){position=slider.children.eq(slider.children.length-1).position()}if(slider.settings.mode=="horizontal"){setPositionProperty(-position.left,"reset",0)}else if(slider.settings.mode=="vertical"){setPositionProperty(-position.top,"reset",0)}}slider.working=false;slider.settings.onSlideAfter(slider.children.eq(slider.active.index),slider.oldIndex,slider.active.index)};var updateAutoControls=function(state){if(slider.settings.autoControlsCombine){slider.controls.autoEl.html(slider.controls[state])}else{slider.controls.autoEl.find("a").removeClass("active");slider.controls.autoEl.find("a:not(.bx-"+state+")").addClass("active")}};var updateDirectionControls=function(){if(getPagerQty()==1){slider.controls.prev.addClass("disabled");slider.controls.next.addClass("disabled")}else if(!slider.settings.infiniteLoop&&slider.settings.hideControlOnEnd){if(slider.active.index==0){slider.controls.prev.addClass("disabled");slider.controls.next.removeClass("disabled")}else if(slider.active.index==getPagerQty()-1){slider.controls.next.addClass("disabled");slider.controls.prev.removeClass("disabled")}else{slider.controls.prev.removeClass("disabled");slider.controls.next.removeClass("disabled")}}};var initAuto=function(){if(slider.settings.autoDelay>0){var timeout=setTimeout(el.startAuto,slider.settings.autoDelay)}else{el.startAuto()}if(slider.settings.autoHover){el.hover(function(){if(slider.interval){el.stopAuto(true);slider.autoPaused=true}},function(){if(slider.autoPaused){el.startAuto(true);slider.autoPaused=null}})}};var initTicker=function(){var startPosition=0;if(slider.settings.autoDirection=="next"){el.append(slider.children.clone().addClass("bx-clone"))}else{el.prepend(slider.children.clone().addClass("bx-clone"));var position=slider.children.first().position();startPosition=slider.settings.mode=="horizontal"?-position.left:-position.top}setPositionProperty(startPosition,"reset",0);slider.settings.pager=false;slider.settings.controls=false;slider.settings.autoControls=false;if(slider.settings.tickerHover&&!slider.usingCSS){slider.viewport.hover(function(){el.stop()},function(){var totalDimens=0;slider.children.each(function(index){totalDimens+=slider.settings.mode=="horizontal"?$(this).outerWidth(true):$(this).outerHeight(true)});var ratio=slider.settings.speed/totalDimens;var property=slider.settings.mode=="horizontal"?"left":"top";var newSpeed=ratio*(totalDimens-Math.abs(parseInt(el.css(property))));tickerLoop(newSpeed)})}tickerLoop()};var tickerLoop=function(resumeSpeed){speed=resumeSpeed?resumeSpeed:slider.settings.speed;var position={left:0,top:0};var reset={left:0,top:0};if(slider.settings.autoDirection=="next"){position=el.find(".bx-clone").first().position()}else{reset=slider.children.first().position()}var animateProperty=slider.settings.mode=="horizontal"?-position.left:-position.top;var resetValue=slider.settings.mode=="horizontal"?-reset.left:-reset.top;
var params={resetValue:resetValue};setPositionProperty(animateProperty,"ticker",speed,params)};var initTouch=function(){slider.touch={start:{x:0,y:0},end:{x:0,y:0}};slider.viewport.bind("touchstart",onTouchStart)};var onTouchStart=function(e){if(slider.working){e.preventDefault()}else{slider.touch.originalPos=el.position();var orig=e.originalEvent;slider.touch.start.x=orig.changedTouches[0].pageX;slider.touch.start.y=orig.changedTouches[0].pageY;slider.viewport.bind("touchmove",onTouchMove);slider.viewport.bind("touchend",onTouchEnd)}};var onTouchMove=function(e){var orig=e.originalEvent;var xMovement=Math.abs(orig.changedTouches[0].pageX-slider.touch.start.x);var yMovement=Math.abs(orig.changedTouches[0].pageY-slider.touch.start.y);if(xMovement*3>yMovement&&slider.settings.preventDefaultSwipeX){e.preventDefault()}else if(yMovement*3>xMovement&&slider.settings.preventDefaultSwipeY){e.preventDefault()}if(slider.settings.mode!="fade"&&slider.settings.oneToOneTouch){var value=0;if(slider.settings.mode=="horizontal"){var change=orig.changedTouches[0].pageX-slider.touch.start.x;value=slider.touch.originalPos.left+change}else{var change=orig.changedTouches[0].pageY-slider.touch.start.y;value=slider.touch.originalPos.top+change}setPositionProperty(value,"reset",0)}};var onTouchEnd=function(e){slider.viewport.unbind("touchmove",onTouchMove);var orig=e.originalEvent;var value=0;slider.touch.end.x=orig.changedTouches[0].pageX;slider.touch.end.y=orig.changedTouches[0].pageY;if(slider.settings.mode=="fade"){var distance=Math.abs(slider.touch.start.x-slider.touch.end.x);if(distance>=slider.settings.swipeThreshold){slider.touch.start.x>slider.touch.end.x?el.goToNextSlide():el.goToPrevSlide();el.stopAuto()}}else{var distance=0;if(slider.settings.mode=="horizontal"){distance=slider.touch.end.x-slider.touch.start.x;value=slider.touch.originalPos.left}else{distance=slider.touch.end.y-slider.touch.start.y;value=slider.touch.originalPos.top}if(!slider.settings.infiniteLoop&&(slider.active.index==0&&distance>0||slider.active.last&&distance<0)){setPositionProperty(value,"reset",200)}else{if(Math.abs(distance)>=slider.settings.swipeThreshold){distance<0?el.goToNextSlide():el.goToPrevSlide();el.stopAuto()}else{setPositionProperty(value,"reset",200)}}}slider.viewport.unbind("touchend",onTouchEnd)};var resizeWindow=function(e){var windowWidthNew=$(window).width();var windowHeightNew=$(window).height();if(windowWidth!=windowWidthNew||windowHeight!=windowHeightNew){windowWidth=windowWidthNew;windowHeight=windowHeightNew;el.redrawSlider()}};el.goToSlide=function(slideIndex,direction){if(slider.working||slider.active.index==slideIndex)return;slider.working=true;slider.oldIndex=slider.active.index;if(slideIndex<0){slider.active.index=getPagerQty()-1}else if(slideIndex>=getPagerQty()){slider.active.index=0}else{slider.active.index=slideIndex}slider.settings.onSlideBefore(slider.children.eq(slider.active.index),slider.oldIndex,slider.active.index);if(direction=="next"){slider.settings.onSlideNext(slider.children.eq(slider.active.index),slider.oldIndex,slider.active.index)}else if(direction=="prev"){slider.settings.onSlidePrev(slider.children.eq(slider.active.index),slider.oldIndex,slider.active.index)}slider.active.last=slider.active.index>=getPagerQty()-1;if(slider.settings.pager)updatePagerActive(slider.active.index);if(slider.settings.controls)updateDirectionControls();if(slider.settings.mode=="fade"){if(slider.settings.adaptiveHeight&&slider.viewport.height()!=getViewportHeight()){slider.viewport.animate({height:getViewportHeight()},slider.settings.adaptiveHeightSpeed)}slider.children.filter(":visible").fadeOut(slider.settings.speed).css({zIndex:0});slider.children.eq(slider.active.index).css("zIndex",51).fadeIn(slider.settings.speed,function(){$(this).css("zIndex",50);updateAfterSlideTransition()})}else{if(slider.settings.adaptiveHeight&&slider.viewport.height()!=getViewportHeight()){slider.viewport.animate({height:getViewportHeight()},slider.settings.adaptiveHeightSpeed)}var moveBy=0;var position={left:0,top:0};if(!slider.settings.infiniteLoop&&slider.carousel&&slider.active.last){if(slider.settings.mode=="horizontal"){var lastChild=slider.children.eq(slider.children.length-1);position=lastChild.position();moveBy=slider.viewport.width()-lastChild.outerWidth()}else{var lastShowingIndex=slider.children.length-slider.settings.minSlides;position=slider.children.eq(lastShowingIndex).position()}}else if(slider.carousel&&slider.active.last&&direction=="prev"){var eq=slider.settings.moveSlides==1?slider.settings.maxSlides-getMoveBy():(getPagerQty()-1)*getMoveBy()-(slider.children.length-slider.settings.maxSlides);var lastChild=el.children(".bx-clone").eq(eq);position=lastChild.position()}else if(direction=="next"&&slider.active.index==0){position=el.find("> .bx-clone").eq(slider.settings.maxSlides).position();slider.active.last=false}else if(slideIndex>=0){var requestEl=slideIndex*getMoveBy();position=slider.children.eq(requestEl).position()}if("undefined"!==typeof position){var value=slider.settings.mode=="horizontal"?-(position.left-moveBy):-position.top;setPositionProperty(value,"slide",slider.settings.speed)}}};el.goToNextSlide=function(){if(!slider.settings.infiniteLoop&&slider.active.last)return;var pagerIndex=parseInt(slider.active.index)+1;el.goToSlide(pagerIndex,"next")};el.goToPrevSlide=function(){if(!slider.settings.infiniteLoop&&slider.active.index==0)return;var pagerIndex=parseInt(slider.active.index)-1;el.goToSlide(pagerIndex,"prev")};el.startAuto=function(preventControlUpdate){if(slider.interval)return;slider.interval=setInterval(function(){slider.settings.autoDirection=="next"?el.goToNextSlide():el.goToPrevSlide()},slider.settings.pause);if(slider.settings.autoControls&&preventControlUpdate!=true)updateAutoControls("stop")};el.stopAuto=function(preventControlUpdate){if(!slider.interval)return;clearInterval(slider.interval);slider.interval=null;if(slider.settings.autoControls&&preventControlUpdate!=true)updateAutoControls("start")};el.getCurrentSlide=function(){return slider.active.index};el.getSlideCount=function(){return slider.children.length};el.redrawSlider=function(){slider.children.add(el.find(".bx-clone")).outerWidth(getSlideWidth());slider.viewport.css("height",getViewportHeight());if(!slider.settings.ticker)setSlidePosition();if(slider.active.last)slider.active.index=getPagerQty()-1;if(slider.active.index>=getPagerQty())slider.active.last=true;if(slider.settings.pager&&!slider.settings.pagerCustom){populatePager();updatePagerActive(slider.active.index)}};el.destroySlider=function(){if(!slider.initialized)return;slider.initialized=false;$(".bx-clone",this).remove();slider.children.each(function(){$(this).data("origStyle")!=undefined?$(this).attr("style",$(this).data("origStyle")):$(this).removeAttr("style")});$(this).data("origStyle")!=undefined?this.attr("style",$(this).data("origStyle")):$(this).removeAttr("style");$(this).unwrap().unwrap();if(slider.controls.el)slider.controls.el.remove();if(slider.controls.next)slider.controls.next.remove();if(slider.controls.prev)slider.controls.prev.remove();if(slider.pagerEl)slider.pagerEl.remove();$(".bx-caption",this).remove();if(slider.controls.autoEl)slider.controls.autoEl.remove();clearInterval(slider.interval);if(slider.settings.responsive)$(window).unbind("resize",resizeWindow)};el.reloadSlider=function(settings){if(settings!=undefined)options=settings;el.destroySlider();init()};init();return this}})(jQuery);(function(){var $,AbstractChosen,Chosen,SelectParser,_ref,__hasProp={}.hasOwnProperty,__extends=function(child,parent){for(var key in parent){if(__hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child};SelectParser=function(){function SelectParser(){this.options_index=0;this.parsed=[]}SelectParser.prototype.add_node=function(child){if(child.nodeName.toUpperCase()==="OPTGROUP"){return this.add_group(child)}else{return this.add_option(child)}};SelectParser.prototype.add_group=function(group){var group_position,option,_i,_len,_ref,_results;group_position=this.parsed.length;this.parsed.push({array_index:group_position,group:true,label:this.escapeExpression(group.label),children:0,disabled:group.disabled});_ref=group.childNodes;_results=[];for(_i=0,_len=_ref.length;_i<_len;_i++){option=_ref[_i];_results.push(this.add_option(option,group_position,group.disabled))}return _results};SelectParser.prototype.add_option=function(option,group_position,group_disabled){if(option.nodeName.toUpperCase()==="OPTION"){if(option.text!==""){if(group_position!=null){this.parsed[group_position].children+=1}this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:option.value,text:option.text,html:option.innerHTML,selected:option.selected,disabled:group_disabled===true?group_disabled:option.disabled,group_array_index:group_position,classes:option.className,style:option.style.cssText})}else{this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:true})}return this.options_index+=1}};SelectParser.prototype.escapeExpression=function(text){var map,unsafe_chars;if(text==null||text===false){return""}if(!/[\&\<\>\"\'\`]/.test(text)){return text}map={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"};unsafe_chars=/&(?!\w+;)|[\<\>\"\'\`]/g;return text.replace(unsafe_chars,function(chr){return map[chr]||"&amp;"})};return SelectParser}();SelectParser.select_to_array=function(select){var child,parser,_i,_len,_ref;parser=new SelectParser;_ref=select.childNodes;for(_i=0,_len=_ref.length;_i<_len;_i++){child=_ref[_i];parser.add_node(child)}return parser.parsed};AbstractChosen=function(){function AbstractChosen(form_field,options){this.form_field=form_field;this.options=options!=null?options:{};if(!AbstractChosen.browser_is_supported()){return}this.is_multiple=this.form_field.multiple;this.set_default_text();this.set_default_values();this.setup();this.set_up_html();this.register_observers()}AbstractChosen.prototype.set_default_values=function(){var _this=this;this.click_test_action=function(evt){return _this.test_active_click(evt)};this.activate_action=function(evt){return _this.activate_field(evt)};this.active_field=false;this.mouse_on_container=false;this.results_showing=false;this.result_highlighted=null;this.result_single_selected=null;this.allow_single_deselect=this.options.allow_single_deselect!=null&&this.form_field.options[0]!=null&&this.form_field.options[0].text===""?this.options.allow_single_deselect:false;this.disable_search_threshold=this.options.disable_search_threshold||0;this.disable_search=this.options.disable_search||false;this.enable_split_word_search=this.options.enable_split_word_search!=null?this.options.enable_split_word_search:true;this.group_search=this.options.group_search!=null?this.options.group_search:true;this.search_contains=this.options.search_contains||false;this.single_backstroke_delete=this.options.single_backstroke_delete!=null?this.options.single_backstroke_delete:true;this.max_selected_options=this.options.max_selected_options||Infinity;this.inherit_select_classes=this.options.inherit_select_classes||false;this.display_selected_options=this.options.display_selected_options!=null?this.options.display_selected_options:true;return this.display_disabled_options=this.options.display_disabled_options!=null?this.options.display_disabled_options:true};AbstractChosen.prototype.set_default_text=function(){if(this.form_field.getAttribute("data-placeholder")){this.default_text=this.form_field.getAttribute("data-placeholder")}else if(this.is_multiple){this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||AbstractChosen.default_multiple_text}else{this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.default_single_text}return this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||AbstractChosen.default_no_result_text};AbstractChosen.prototype.mouse_enter=function(){return this.mouse_on_container=true};AbstractChosen.prototype.mouse_leave=function(){return this.mouse_on_container=false};AbstractChosen.prototype.input_focus=function(evt){var _this=this;if(this.is_multiple){if(!this.active_field){return setTimeout(function(){return _this.container_mousedown()},50)}}else{if(!this.active_field){return this.activate_field()}}};AbstractChosen.prototype.input_blur=function(evt){var _this=this;if(!this.mouse_on_container){this.active_field=false;return setTimeout(function(){return _this.blur_test()},100)}};AbstractChosen.prototype.results_option_build=function(options){var content,data,_i,_len,_ref;content="";_ref=this.results_data;for(_i=0,_len=_ref.length;_i<_len;_i++){data=_ref[_i];if(data.group){content+=this.result_add_group(data)}else{content+=this.result_add_option(data)}if(options!=null?options.first:void 0){if(data.selected&&this.is_multiple){this.choice_build(data)}else if(data.selected&&!this.is_multiple){this.single_set_selected_text(data.text)}}}return content};AbstractChosen.prototype.result_add_option=function(option){var classes,style;if(!option.search_match){return""}if(!this.include_option_in_results(option)){return""}classes=[];if(!option.disabled&&!(option.selected&&this.is_multiple)){classes.push("active-result")}if(option.disabled&&!(option.selected&&this.is_multiple)){classes.push("disabled-result")}if(option.selected){classes.push("result-selected")}if(option.group_array_index!=null){classes.push("group-option")}if(option.classes!==""){classes.push(option.classes)}style=option.style.cssText!==""?' style="'+option.style+'"':"";return'<li class="'+classes.join(" ")+'"'+style+' data-option-array-index="'+option.array_index+'">'+option.search_text+"</li>"};AbstractChosen.prototype.result_add_group=function(group){if(!(group.search_match||group.group_match)){return""}if(!(group.active_options>0)){return""}return'<li class="group-result">'+group.search_text+"</li>"};AbstractChosen.prototype.results_update_field=function(){this.set_default_text();if(!this.is_multiple){this.results_reset_cleanup()}this.result_clear_highlight();this.result_single_selected=null;this.results_build();if(this.results_showing){return this.winnow_results()}};AbstractChosen.prototype.results_toggle=function(){if(this.results_showing){return this.results_hide()}else{return this.results_show()}};AbstractChosen.prototype.results_search=function(evt){if(this.results_showing){return this.winnow_results()}else{return this.results_show()}};AbstractChosen.prototype.winnow_results=function(){var escapedSearchText,option,regex,regexAnchor,results,results_group,searchText,startpos,text,zregex,_i,_len,_ref;this.no_results_clear();results=0;searchText=this.get_search_text();escapedSearchText=searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");regexAnchor=this.search_contains?"":"^";regex=new RegExp(regexAnchor+escapedSearchText,"i");zregex=new RegExp(escapedSearchText,"i");_ref=this.results_data;for(_i=0,_len=_ref.length;_i<_len;_i++){option=_ref[_i];option.search_match=false;results_group=null;if(this.include_option_in_results(option)){if(option.group){option.group_match=false;option.active_options=0}if(option.group_array_index!=null&&this.results_data[option.group_array_index]){results_group=this.results_data[option.group_array_index];if(results_group.active_options===0&&results_group.search_match){results+=1}results_group.active_options+=1}if(!(option.group&&!this.group_search)){option.search_text=option.group?option.label:option.html;option.search_match=this.search_string_match(option.search_text,regex);if(option.search_match&&!option.group){results+=1}if(option.search_match){if(searchText.length){startpos=option.search_text.search(zregex);text=option.search_text.substr(0,startpos+searchText.length)+"</em>"+option.search_text.substr(startpos+searchText.length);option.search_text=text.substr(0,startpos)+"<em>"+text.substr(startpos)}if(results_group!=null){results_group.group_match=true}}else if(option.group_array_index!=null&&this.results_data[option.group_array_index].search_match){option.search_match=true}}}}this.result_clear_highlight();if(results<1&&searchText.length){this.update_results_content("");return this.no_results(searchText)}else{this.update_results_content(this.results_option_build());return this.winnow_results_set_highlight()}};AbstractChosen.prototype.search_string_match=function(search_string,regex){var part,parts,_i,_len;if(regex.test(search_string)){return true}else if(this.enable_split_word_search&&(search_string.indexOf(" ")>=0||search_string.indexOf("[")===0)){parts=search_string.replace(/\[|\]/g,"").split(" ");if(parts.length){for(_i=0,_len=parts.length;_i<_len;_i++){part=parts[_i];if(regex.test(part)){return true}}}}};AbstractChosen.prototype.choices_count=function(){var option,_i,_len,_ref;if(this.selected_option_count!=null){return this.selected_option_count}this.selected_option_count=0;_ref=this.form_field.options;for(_i=0,_len=_ref.length;_i<_len;_i++){option=_ref[_i];if(option.selected){this.selected_option_count+=1}}return this.selected_option_count};AbstractChosen.prototype.choices_click=function(evt){evt.preventDefault();if(!(this.results_showing||this.is_disabled)){return this.results_show()}};AbstractChosen.prototype.keyup_checker=function(evt){var stroke,_ref;stroke=(_ref=evt.which)!=null?_ref:evt.keyCode;this.search_field_scale();switch(stroke){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0){return this.keydown_backstroke()}else if(!this.pending_backstroke){this.result_clear_highlight();return this.results_search()}break;case 13:evt.preventDefault();if(this.results_showing){return this.result_select(evt)}break;case 27:if(this.results_showing){this.results_hide()}return true;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}};AbstractChosen.prototype.container_width=function(){if(this.options.width!=null){return this.options.width}else{return""+this.form_field.offsetWidth+"px"}};AbstractChosen.prototype.include_option_in_results=function(option){if(this.is_multiple&&(!this.display_selected_options&&option.selected)){return false}if(!this.display_disabled_options&&option.disabled){return false}if(option.empty){return false}return true};AbstractChosen.browser_is_supported=function(){if(window.navigator.appName==="Microsoft Internet Explorer"){return document.documentMode>=8}if(/iP(od|hone)/i.test(window.navigator.userAgent)){return false}if(/Android/i.test(window.navigator.userAgent)){if(/Mobile/i.test(window.navigator.userAgent)){return false}}return true};AbstractChosen.default_multiple_text="Select Some Options";AbstractChosen.default_single_text="Select an Option";AbstractChosen.default_no_result_text="No results match";return AbstractChosen}();$=jQuery;$.fn.extend({chosen:function(options){if(!AbstractChosen.browser_is_supported()){return this}return this.each(function(input_field){var $this,chosen;$this=$(this);chosen=$this.data("chosen");if(options==="destroy"&&chosen){chosen.destroy()}else if(!chosen){$this.data("chosen",new Chosen(this,options))}})}});Chosen=function(_super){__extends(Chosen,_super);function Chosen(){_ref=Chosen.__super__.constructor.apply(this,arguments);return _ref}Chosen.prototype.setup=function(){this.form_field_jq=$(this.form_field);this.current_selectedIndex=this.form_field.selectedIndex;return this.is_rtl=this.form_field_jq.hasClass("chosen-rtl")};Chosen.prototype.set_up_html=function(){var container_classes,container_props;container_classes=["chosen-container"];container_classes.push("chosen-container-"+(this.is_multiple?"multi":"single"));if(this.inherit_select_classes&&this.form_field.className){container_classes.push(this.form_field.className)}if(this.is_rtl){container_classes.push("chosen-rtl")}container_props={class:container_classes.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title};if(this.form_field.id.length){container_props.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"}this.container=$("<div />",container_props);if(this.is_multiple){this.container.html('<ul class="chosen-choices"><li class="search-field"><input type="text" value="'+this.default_text+'" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>')}else{this.container.html('<a class="chosen-single chosen-default" tabindex="-1"><span>'+this.default_text+'</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off" /></div><ul class="chosen-results"></ul></div>')}this.form_field_jq.hide().after(this.container);this.dropdown=this.container.find("div.chosen-drop").first();this.search_field=this.container.find("input").first();this.search_results=this.container.find("ul.chosen-results").first();this.search_field_scale();this.search_no_results=this.container.find("li.no-results").first();if(this.is_multiple){this.search_choices=this.container.find("ul.chosen-choices").first();this.search_container=this.container.find("li.search-field").first()}else{this.search_container=this.container.find("div.chosen-search").first();this.selected_item=this.container.find(".chosen-single").first()}this.results_build();this.set_tab_index();this.set_label_behavior();return this.form_field_jq.trigger("chosen:ready",{chosen:this})};Chosen.prototype.register_observers=function(){var _this=this;this.container.bind("mousedown.chosen",function(evt){_this.container_mousedown(evt)});this.container.bind("mouseup.chosen",function(evt){_this.container_mouseup(evt)});this.container.bind("mouseenter.chosen",function(evt){_this.mouse_enter(evt)});this.container.bind("mouseleave.chosen",function(evt){_this.mouse_leave(evt)});this.search_results.bind("mouseup.chosen",function(evt){_this.search_results_mouseup(evt)});this.search_results.bind("mouseover.chosen",function(evt){_this.search_results_mouseover(evt)});this.search_results.bind("mouseout.chosen",function(evt){_this.search_results_mouseout(evt)});this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(evt){_this.search_results_mousewheel(evt)});this.form_field_jq.bind("chosen:updated.chosen",function(evt){_this.results_update_field(evt)});this.form_field_jq.bind("chosen:activate.chosen",function(evt){_this.activate_field(evt)});this.form_field_jq.bind("chosen:open.chosen",function(evt){_this.container_mousedown(evt)});this.search_field.bind("blur.chosen",function(evt){_this.input_blur(evt)});this.search_field.bind("keyup.chosen",function(evt){_this.keyup_checker(evt)});this.search_field.bind("keydown.chosen",function(evt){_this.keydown_checker(evt)});this.search_field.bind("focus.chosen",function(evt){_this.input_focus(evt)});if(this.is_multiple){return this.search_choices.bind("click.chosen",function(evt){_this.choices_click(evt)})}else{return this.container.bind("click.chosen",function(evt){evt.preventDefault()})}};Chosen.prototype.destroy=function(){$(document).unbind("click.chosen",this.click_test_action);if(this.search_field[0].tabIndex){this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex}this.container.remove();this.form_field_jq.removeData("chosen");return this.form_field_jq.show()};Chosen.prototype.search_field_disabled=function(){this.is_disabled=this.form_field_jq[0].disabled;if(this.is_disabled){this.container.addClass("chosen-disabled");this.search_field[0].disabled=true;if(!this.is_multiple){this.selected_item.unbind("focus.chosen",this.activate_action)}return this.close_field()}else{this.container.removeClass("chosen-disabled");this.search_field[0].disabled=false;if(!this.is_multiple){return this.selected_item.bind("focus.chosen",this.activate_action)}}};Chosen.prototype.container_mousedown=function(evt){if(!this.is_disabled){if(evt&&evt.type==="mousedown"&&!this.results_showing){evt.preventDefault()}if(!(evt!=null&&$(evt.target).hasClass("search-choice-close"))){if(!this.active_field){if(this.is_multiple){this.search_field.val("")}$(document).bind("click.chosen",this.click_test_action);this.results_show()}else if(!this.is_multiple&&evt&&($(evt.target)[0]===this.selected_item[0]||$(evt.target).parents("a.chosen-single").length)){evt.preventDefault();this.results_toggle()}return this.activate_field()}}};Chosen.prototype.container_mouseup=function(evt){if(evt.target.nodeName==="ABBR"&&!this.is_disabled){return this.results_reset(evt)}};Chosen.prototype.search_results_mousewheel=function(evt){var delta,_ref1,_ref2;delta=-((_ref1=evt.originalEvent)!=null?_ref1.wheelDelta:void 0)||((_ref2=evt.originialEvent)!=null?_ref2.detail:void 0);if(delta!=null){evt.preventDefault();if(evt.type==="DOMMouseScroll"){delta=delta*40}return this.search_results.scrollTop(delta+this.search_results.scrollTop())}};Chosen.prototype.blur_test=function(evt){if(!this.active_field&&this.container.hasClass("chosen-container-active")){return this.close_field()}};Chosen.prototype.close_field=function(){$(document).unbind("click.chosen",this.click_test_action);this.active_field=false;this.results_hide();this.container.removeClass("chosen-container-active");this.clear_backstroke();this.show_search_field_default();return this.search_field_scale()};Chosen.prototype.activate_field=function(){this.container.addClass("chosen-container-active");this.active_field=true;this.search_field.val(this.search_field.val());return this.search_field.focus()};Chosen.prototype.test_active_click=function(evt){if(this.container.is($(evt.target).closest(".chosen-container"))){return this.active_field=true}else{return this.close_field()}};Chosen.prototype.results_build=function(){this.parsing=true;this.selected_option_count=null;this.results_data=SelectParser.select_to_array(this.form_field);if(this.is_multiple){this.search_choices.find("li.search-choice").remove()}else if(!this.is_multiple){this.single_set_selected_text();if(this.disable_search||this.form_field.options.length<=this.disable_search_threshold){this.search_field[0].readOnly=true;this.container.addClass("chosen-container-single-nosearch")}else{this.search_field[0].readOnly=false;this.container.removeClass("chosen-container-single-nosearch")}}this.update_results_content(this.results_option_build({first:true}));this.search_field_disabled();this.show_search_field_default();this.search_field_scale();return this.parsing=false};Chosen.prototype.result_do_highlight=function(el){var high_bottom,high_top,maxHeight,visible_bottom,visible_top;if(el.length){this.result_clear_highlight();this.result_highlight=el;this.result_highlight.addClass("highlighted");maxHeight=parseInt(this.search_results.css("maxHeight"),10);visible_top=this.search_results.scrollTop();visible_bottom=maxHeight+visible_top;high_top=this.result_highlight.position().top+this.search_results.scrollTop();high_bottom=high_top+this.result_highlight.outerHeight();if(high_bottom>=visible_bottom){return this.search_results.scrollTop(high_bottom-maxHeight>0?high_bottom-maxHeight:0)}else if(high_top<visible_top){return this.search_results.scrollTop(high_top)}}};Chosen.prototype.result_clear_highlight=function(){if(this.result_highlight){this.result_highlight.removeClass("highlighted")}return this.result_highlight=null};Chosen.prototype.results_show=function(){if(this.is_multiple&&this.max_selected_options<=this.choices_count()){this.form_field_jq.trigger("chosen:maxselected",{chosen:this});return false}this.container.addClass("chosen-with-drop");this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this});this.results_showing=true;this.search_field.focus();this.search_field.val(this.search_field.val());return this.winnow_results()};Chosen.prototype.update_results_content=function(content){return this.search_results.html(content)};Chosen.prototype.results_hide=function(){if(this.results_showing){this.result_clear_highlight();this.container.removeClass("chosen-with-drop");this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})}return this.results_showing=false};Chosen.prototype.set_tab_index=function(el){var ti;if(this.form_field.tabIndex){ti=this.form_field.tabIndex;this.form_field.tabIndex=-1;return this.search_field[0].tabIndex=ti}};Chosen.prototype.set_label_behavior=function(){var _this=this;this.form_field_label=this.form_field_jq.parents("label");if(!this.form_field_label.length&&this.form_field.id.length){this.form_field_label=$("label[for='"+this.form_field.id+"']")}if(this.form_field_label.length>0){return this.form_field_label.bind("click.chosen",function(evt){if(_this.is_multiple){return _this.container_mousedown(evt)}else{return _this.activate_field()}})}};Chosen.prototype.show_search_field_default=function(){if(this.is_multiple&&this.choices_count()<1&&!this.active_field){this.search_field.val(this.default_text);return this.search_field.addClass("default")}else{this.search_field.val("");return this.search_field.removeClass("default")}};Chosen.prototype.search_results_mouseup=function(evt){var target;target=$(evt.target).hasClass("active-result")?$(evt.target):$(evt.target).parents(".active-result").first();if(target.length){this.result_highlight=target;this.result_select(evt);return this.search_field.focus()}};Chosen.prototype.search_results_mouseover=function(evt){var target;target=$(evt.target).hasClass("active-result")?$(evt.target):$(evt.target).parents(".active-result").first();if(target){return this.result_do_highlight(target)}};Chosen.prototype.search_results_mouseout=function(evt){if($(evt.target).hasClass("active-result"||$(evt.target).parents(".active-result").first())){return this.result_clear_highlight()}};Chosen.prototype.choice_build=function(item){var choice,close_link,_this=this;choice=$("<li />",{class:"search-choice"}).html("<span>"+item.html+"</span>");if(item.disabled){choice.addClass("search-choice-disabled")}else{close_link=$("<a />",{class:"search-choice-close","data-option-array-index":item.array_index});close_link.bind("click.chosen",function(evt){return _this.choice_destroy_link_click(evt)});choice.append(close_link)}return this.search_container.before(choice)};Chosen.prototype.choice_destroy_link_click=function(evt){evt.preventDefault();evt.stopPropagation();if(!this.is_disabled){return this.choice_destroy($(evt.target))}};Chosen.prototype.choice_destroy=function(link){if(this.result_deselect(link[0].getAttribute("data-option-array-index"))){this.show_search_field_default();if(this.is_multiple&&this.choices_count()>0&&this.search_field.val().length<1){this.results_hide()}link.parents("li").first().remove();return this.search_field_scale()}};Chosen.prototype.results_reset=function(){this.form_field.options[0].selected=true;this.selected_option_count=null;this.single_set_selected_text();this.show_search_field_default();this.results_reset_cleanup();this.form_field_jq.trigger("change");if(this.active_field){return this.results_hide()}};Chosen.prototype.results_reset_cleanup=function(){this.current_selectedIndex=this.form_field.selectedIndex;return this.selected_item.find("abbr").remove()};Chosen.prototype.result_select=function(evt){var high,item,selected_index;if(this.result_highlight){high=this.result_highlight;this.result_clear_highlight();if(this.is_multiple&&this.max_selected_options<=this.choices_count()){this.form_field_jq.trigger("chosen:maxselected",{chosen:this});return false}if(this.is_multiple){high.removeClass("active-result")}else{if(this.result_single_selected){this.result_single_selected.removeClass("result-selected");selected_index=this.result_single_selected[0].getAttribute("data-option-array-index");this.results_data[selected_index].selected=false}this.result_single_selected=high}high.addClass("result-selected");item=this.results_data[high[0].getAttribute("data-option-array-index")];item.selected=true;this.form_field.options[item.options_index].selected=true;this.selected_option_count=null;
if(this.is_multiple){this.choice_build(item)}else{this.single_set_selected_text(item.text)}if(!((evt.metaKey||evt.ctrlKey)&&this.is_multiple)){this.results_hide()}this.search_field.val("");if(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex){this.form_field_jq.trigger("change",{selected:this.form_field.options[item.options_index].value})}this.current_selectedIndex=this.form_field.selectedIndex;return this.search_field_scale()}};Chosen.prototype.single_set_selected_text=function(text){if(text==null){text=this.default_text}if(text===this.default_text){this.selected_item.addClass("chosen-default")}else{this.single_deselect_control_build();this.selected_item.removeClass("chosen-default")}return this.selected_item.find("span").text(text)};Chosen.prototype.result_deselect=function(pos){var result_data;result_data=this.results_data[pos];if(!this.form_field.options[result_data.options_index].disabled){result_data.selected=false;this.form_field.options[result_data.options_index].selected=false;this.selected_option_count=null;this.result_clear_highlight();if(this.results_showing){this.winnow_results()}this.form_field_jq.trigger("change",{deselected:this.form_field.options[result_data.options_index].value});this.search_field_scale();return true}else{return false}};Chosen.prototype.single_deselect_control_build=function(){if(!this.allow_single_deselect){return}if(!this.selected_item.find("abbr").length){this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>')}return this.selected_item.addClass("chosen-single-with-deselect")};Chosen.prototype.get_search_text=function(){if(this.search_field.val()===this.default_text){return""}else{return $("<div/>").text($.trim(this.search_field.val())).html()}};Chosen.prototype.winnow_results_set_highlight=function(){var do_high,selected_results;selected_results=!this.is_multiple?this.search_results.find(".result-selected.active-result"):[];do_high=selected_results.length?selected_results.first():this.search_results.find(".active-result").first();if(do_high!=null){return this.result_do_highlight(do_high)}};Chosen.prototype.no_results=function(terms){var no_results_html;no_results_html=$('<li class="no-results">'+this.results_none_found+' "<span></span>"</li>');no_results_html.find("span").first().html(terms);return this.search_results.append(no_results_html)};Chosen.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()};Chosen.prototype.keydown_arrow=function(){var next_sib;if(this.results_showing&&this.result_highlight){next_sib=this.result_highlight.nextAll("li.active-result").first();if(next_sib){return this.result_do_highlight(next_sib)}}else{return this.results_show()}};Chosen.prototype.keyup_arrow=function(){var prev_sibs;if(!this.results_showing&&!this.is_multiple){return this.results_show()}else if(this.result_highlight){prev_sibs=this.result_highlight.prevAll("li.active-result");if(prev_sibs.length){return this.result_do_highlight(prev_sibs.first())}else{if(this.choices_count()>0){this.results_hide()}return this.result_clear_highlight()}}};Chosen.prototype.keydown_backstroke=function(){var next_available_destroy;if(this.pending_backstroke){this.choice_destroy(this.pending_backstroke.find("a").first());return this.clear_backstroke()}else{next_available_destroy=this.search_container.siblings("li.search-choice").last();if(next_available_destroy.length&&!next_available_destroy.hasClass("search-choice-disabled")){this.pending_backstroke=next_available_destroy;if(this.single_backstroke_delete){return this.keydown_backstroke()}else{return this.pending_backstroke.addClass("search-choice-focus")}}}};Chosen.prototype.clear_backstroke=function(){if(this.pending_backstroke){this.pending_backstroke.removeClass("search-choice-focus")}return this.pending_backstroke=null};Chosen.prototype.keydown_checker=function(evt){var stroke,_ref1;stroke=(_ref1=evt.which)!=null?_ref1:evt.keyCode;this.search_field_scale();if(stroke!==8&&this.pending_backstroke){this.clear_backstroke()}switch(stroke){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:if(this.results_showing&&!this.is_multiple){this.result_select(evt)}this.mouse_on_container=false;break;case 13:evt.preventDefault();break;case 38:evt.preventDefault();this.keyup_arrow();break;case 40:evt.preventDefault();this.keydown_arrow();break}};Chosen.prototype.search_field_scale=function(){var div,f_width,h,style,style_block,styles,w,_i,_len;if(this.is_multiple){h=0;w=0;style_block="position:absolute; left: -1000px; top: -1000px; display:none;";styles=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(_i=0,_len=styles.length;_i<_len;_i++){style=styles[_i];style_block+=style+":"+this.search_field.css(style)+";"}div=$("<div />",{style:style_block});div.text(this.search_field.val());$("body").append(div);w=div.width()+25;div.remove();f_width=this.container.outerWidth();if(w>f_width-10){w=f_width-10}return this.search_field.css({width:w+"px"})}};return Chosen}(AbstractChosen)}).call(this);(function($){var ver="Lite-1.0";$.fn.cycle=function(options){return this.each(function(){options=options||{};if(this.cycleTimeout)clearTimeout(this.cycleTimeout);this.cycleTimeout=0;this.cyclePause=0;var $cont=$(this);var $slides=options.slideExpr?$(options.slideExpr,this):$cont.children();var els=$slides.get();if(els.length<2){return}var opts=$.extend({},$.fn.cycle.defaults,options||{},$.metadata?$cont.metadata():$.meta?$cont.data():{});opts.before=opts.before?[opts.before]:[];opts.after=opts.after?[opts.after]:[];opts.after.unshift(function(){opts.busy=0});var cls=this.className;opts.width=parseInt((cls.match(/w:(\d+)/)||[])[1])||opts.width;opts.height=parseInt((cls.match(/h:(\d+)/)||[])[1])||opts.height;opts.timeout=parseInt((cls.match(/t:(\d+)/)||[])[1])||opts.timeout;if($cont.css("position")=="static")$cont.css("position","relative");if(opts.width)$cont.width(opts.width);if(opts.height&&opts.height!="auto")$cont.height(opts.height);var first=0;$slides.css({position:"absolute",top:0,left:0}).hide().each(function(i){$(this).css("z-index",els.length-i)});$(els[first]).css("opacity",1).show();if($.browser.msie)els[first].style.removeAttribute("filter");if(opts.fit&&opts.width)$slides.width(opts.width);if(opts.fit&&opts.height&&opts.height!="auto")$slides.height(opts.height);if(opts.pause)$cont.hover(function(){this.cyclePause=1},function(){this.cyclePause=0});$.fn.cycle.transitions.fade($cont,$slides,opts);$slides.each(function(){var $el=$(this);this.cycleH=opts.fit&&opts.height?opts.height:$el.height();this.cycleW=opts.fit&&opts.width?opts.width:$el.width()});$slides.not(":eq("+first+")").css({opacity:0});if(opts.cssFirst)$($slides[first]).css(opts.cssFirst);if(opts.timeout){if(opts.speed.constructor==String)opts.speed={slow:600,fast:200}[opts.speed]||400;if(!opts.sync)opts.speed=opts.speed/2;while(opts.timeout-opts.speed<250)opts.timeout+=opts.speed}opts.speedIn=opts.speed;opts.speedOut=opts.speed;opts.slideCount=els.length;opts.currSlide=first;opts.nextSlide=1;var e0=$slides[first];if(opts.before.length)opts.before[0].apply(e0,[e0,e0,opts,true]);if(opts.after.length>1)opts.after[1].apply(e0,[e0,e0,opts,true]);if(opts.click&&!opts.next)opts.next=opts.click;if(opts.next)$(opts.next).bind("click",function(){return advance(els,opts,opts.rev?-1:1)});if(opts.prev)$(opts.prev).bind("click",function(){return advance(els,opts,opts.rev?1:-1)});if(opts.timeout)this.cycleTimeout=setTimeout(function(){go(els,opts,0,!opts.rev)},opts.timeout+(opts.delay||0))})};function go(els,opts,manual,fwd){if(opts.busy)return;var p=els[0].parentNode,curr=els[opts.currSlide],next=els[opts.nextSlide];if(p.cycleTimeout===0&&!manual)return;if(manual||!p.cyclePause){if(opts.before.length)$.each(opts.before,function(i,o){o.apply(next,[curr,next,opts,fwd])});var after=function(){if($.browser.msie)this.style.removeAttribute("filter");$.each(opts.after,function(i,o){o.apply(next,[curr,next,opts,fwd])})};if(opts.nextSlide!=opts.currSlide){opts.busy=1;$.fn.cycle.custom(curr,next,opts,after)}var roll=opts.nextSlide+1==els.length;opts.nextSlide=roll?0:opts.nextSlide+1;opts.currSlide=roll?els.length-1:opts.nextSlide-1}if(opts.timeout)p.cycleTimeout=setTimeout(function(){go(els,opts,0,!opts.rev)},opts.timeout)}function advance(els,opts,val){var p=els[0].parentNode,timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0}opts.nextSlide=opts.currSlide+val;if(opts.nextSlide<0){opts.nextSlide=els.length-1}else if(opts.nextSlide>=els.length){opts.nextSlide=0}go(els,opts,1,val>=0);return false}$.fn.cycle.custom=function(curr,next,opts,cb){var $l=$(curr),$n=$(next);$n.css({opacity:0});var fn=function(){$n.animate({opacity:1},opts.speedIn,opts.easeIn,cb)};$l.animate({opacity:0},opts.speedOut,opts.easeOut,function(){$l.css({display:"none"});if(!opts.sync)fn()});if(opts.sync)fn()};$.fn.cycle.transitions={fade:function($cont,$slides,opts){$slides.not(":eq(0)").css("opacity",0);opts.before.push(function(){$(this).show()})}};$.fn.cycle.ver=function(){return ver};$.fn.cycle.defaults={timeout:4e3,speed:1e3,next:null,prev:null,before:null,after:null,height:"auto",sync:1,fit:0,pause:0,delay:0,slideExpr:null}})(jQuery);(function($,window,document){"use strict";var msVersion=navigator.userAgent.match(/MSIE ([0-9]{1,}[\.0-9]{0,})/),msie=!!msVersion,ie6=msie&&parseFloat(msVersion[1])<7,isMobile=navigator.userAgent.match(/iPad|iPhone|Android|IEMobile|BlackBerry/i),methods={},lists=[],keyMap={left:37,up:38,right:39,down:40,enter:13,tab:9,zero:48,z:90,last:221},dropdownTemplate=['<div class="dk_container" id="dk_container_{{ id }}" tabindex="{{ tabindex }}">','<a class="dk_toggle">','<span class="dk_label">{{ label }}</span>',"</a>",'<div class="dk_options">','<ul class="dk_options_inner">',"</ul>","</div>","</div>"].join(""),optionTemplate='<li class="{{ current }} {{ disabled }}"><a data-dk-dropdown-value="{{ value }}">{{ text }}</a></li>',defaults={startSpeed:400,theme:false,changes:false,syncReverse:true,nativeMobile:true},$opened=null,$focused=null,updateFields=function(option,$dk,reset){var value,label,data,$select;value=option.attr("data-dk-dropdown-value");label=option.text();data=$dk.data("dropkick");$select=data.$select;$select.val(value).trigger("change");$dk.find(".dk_label").text(label);reset=reset||false;if(data.settings.change&&!reset&&!data.settings.syncReverse){data.settings.change.call($select,value,label)}},closeDropdown=function($dk){$dk.removeClass("dk_open");$opened=null},enoughSpace=function($dk){var $dk_toggle=$dk.find(".dk_toggle"),optionsHeight=$dk.find(".dk_options").outerHeight(),spaceBelow=$(window).height()-$dk_toggle.outerHeight()-$dk_toggle.offset().top+$(window).scrollTop(),spaceAbove=$dk_toggle.offset().top-$(window).scrollTop();return!(optionsHeight<spaceAbove)?true:optionsHeight<spaceBelow},setScrollPos=function($dk,anchor,e){var wrapper=$dk.find(".dk_options_inner"),height=anchor.prevAll("li").outerHeight()*anchor.prevAll("li").length,minHeight=wrapper.scrollTop(),maxHeight=wrapper.height()+wrapper.scrollTop()-anchor.outerHeight();if(e&&e.type==="keydown"||(height<minHeight||height>maxHeight)){wrapper.scrollTop(height)}},openDropdown=function($dk,e){var hasSpace=enoughSpace($dk);$dk.find(".dk_options").css({top:hasSpace?$dk.find(".dk_toggle").outerHeight()-1:"",bottom:hasSpace?"":$dk.find(".dk_toggle").outerHeight()-1});$opened=$dk.toggleClass("dk_open");setScrollPos($dk,$dk.find(".dk_option_current"),e)},setCurrent=function($current,$dk,e){$dk.find(".dk_option_current").removeClass("dk_option_current");$current.addClass("dk_option_current");setScrollPos($dk,$current,e)},handleKeyBoardNav=function(e,$dk){var code=e.keyCode,data=$dk.data("dropkick"),letter=String.fromCharCode(code),options=$dk.find(".dk_options"),open=$dk.hasClass("dk_open"),lis=options.find("li"),current=$dk.find(".dk_option_current"),first=lis.first(),last=lis.last(),next,prev,now,list,i,l,$a;switch(code){case keyMap.enter:if(open){if(!current.hasClass("disabled")){updateFields(current.find("a"),$dk);closeDropdown($dk)}}else{openDropdown($dk,e)}e.preventDefault();break;case keyMap.tab:if(open){updateFields(current.find("a"),$dk);closeDropdown($dk)}break;case keyMap.up:prev=current.prev("li");if(open){if(prev.length){setCurrent(prev,$dk,e)}else{setCurrent(last,$dk,e)}}else{openDropdown($dk,e)}e.preventDefault();break;case keyMap.down:if(open){next=current.next("li").first();if(next.length){setCurrent(next,$dk,e)}else{setCurrent(first,$dk,e)}}else{openDropdown($dk,e)}e.preventDefault();break;default:break}if(code>=keyMap.zero&&code<=keyMap.z){now=(new Date).getTime();if(data.finder===null){data.finder=letter.toUpperCase();data.timer=now}else{if(now>parseInt(data.timer,10)+1e3){data.finder=letter.toUpperCase();data.timer=now}else{data.finder=data.finder+letter.toUpperCase();data.timer=now}}list=lis.find("a");for(i=0,l=list.length;i<l;i++){$a=$(list[i]);if($a.html().toUpperCase().indexOf(data.finder)===0){updateFields($a,$dk);setCurrent($a.parent(),$dk,e);break}}$dk.data("dropkick",data)}},notBlank=function(text){return $.trim(text).length>0?text:false},build=function(tpl,view){var template=tpl.replace("{{ id }}",view.id).replace("{{ label }}",view.label).replace("{{ tabindex }}",view.tabindex),options=[],$dk,i,l,$option,oTemplate;if(view.options&&view.options.length){for(i=0,l=view.options.length;i<l;i++){$option=$(view.options[i]);i===0&&$option.attr("selected")!==undefined&&$option.attr("disabled")!==undefined?oTemplate=null:oTemplate=optionTemplate.replace("{{ value }}",$option.val()).replace("{{ current }}",notBlank($option.val())===view.value?"dk_option_current":"").replace("{{ disabled }}",$option.attr("disabled")!==undefined?"disabled":"").replace("{{ text }}",$.trim($option.html()));options[options.length]=oTemplate}}$dk=$(template);$dk.find(".dk_options_inner").html(options.join(""));return $dk};if(!ie6){$(".cbMatchPopupContainer").addClass("dk_fouc")}methods.init=function(settings){settings=$.extend({},defaults,settings);return this.each(function(){var $select=$(this),$original=$select.find(":selected").first(),$options=$select.find("option"),data={},id=$select.attr("id")||$select.attr("name"),width=settings.width||$select.outerWidth(),tabindex=$select.attr("tabindex")||"0",$dk=false,theme,$form;if(data.id){return $select}data.settings=settings;data.tabindex=tabindex;data.id=id;data.$original=$original;data.$select=$select;data.value=notBlank($select.val())||notBlank($original.attr("value"));data.label=$original.text();data.options=$options;$dk=build(dropdownTemplate,data);$dk.find(".dk_toggle").css({width:width+"px"});$select.before($dk).appendTo($dk);$select.parent().parent().append($select);$select.hide();$dk=$('div[id="dk_container_'+id+'"]').fadeIn(settings.startSpeed);theme=settings.theme||"default";$dk.addClass("dk_theme_"+theme);data.theme=theme;data.$dk=$dk;$select.data("dropkick",data);$dk.addClass($select.attr("class"));$dk.data("dropkick",data);lists[lists.length]=$select;$dk.bind("focus.dropkick",function(){$focused=$dk.addClass("dk_focus")}).bind("blur.dropkick",function(){$dk.removeClass("dk_focus");$focused=null});if(isMobile&&data.settings.nativeMobile){$dk.addClass("dk_mobile")}if(data.settings.syncReverse){$select.on("change",function(e){var value=$select.val(),option=$('a[data-dk-dropdown-value="'+value+'"]',$dk),label=option.text();$dk.find(".dk_label").text(label);data.settings.change&&data.settings.change.call($select,value,label);setCurrent(option.parent(),$dk,e)})}if($select.attr("form")||$select.closest("form").length){$form=$select.attr("form")?$("#"+$select.attr("form").replace(" ",", #")):$select.closest("form");$form.on("reset",function(){$select.dropkick("reset")})}})};methods.theme=function(newTheme){var data=$(this).data("dropkick"),$dk=data.$dk,oldtheme="dk_theme_"+data.theme;$dk.removeClass(oldtheme).addClass("dk_theme_"+newTheme);data.theme=newTheme};methods.reset=function(){return this.each(function(){var data=$(this).data("dropkick"),$dk=data.$dk,$current=$('a[data-dk-dropdown-value="'+data.value+'"]',$dk);!data.$original.eq(0).prop("selected")&&data.$original.eq(0).prop("selected",true);$dk.find(".dk_label").text(data.label);setCurrent($current.parent(),$dk)})};methods.setValue=function(value){var $dk=$(this).data("dropkick").$dk,$option=$('.dk_options a[data-dk-dropdown-value="'+value+'"]',$dk);if($option.length){updateFields($option,$dk);setCurrent($option.parent(),$dk)}else{console.warn("There is no option with this value in the <select>")}};methods.refresh=function(){return this.each(function(){var data=$(this).data("dropkick"),$select=data.$select,$dk=data.$dk;data.settings.startSpeed=0;$select.removeData("dropkick").insertAfter($dk);$dk.remove();$select.dropkick(data.settings)})};$.fn.dropkick=function(method){if(!ie6){if(methods[method]){return methods[method].apply(this,Array.prototype.slice.call(arguments,1))}if(typeof method==="object"||!method){return methods.init.apply(this,arguments)}}};$(function(){$(document).on(msie?"mousedown":"click",".dk_options a",function(){var $option=$(this),$dk=$option.parents(".dk_container").first();if(!$option.parent().hasClass("disabled")){updateFields($option,$dk);setCurrent($option.parent(),$dk);closeDropdown($dk)}return false});$(document).bind("keydown.dk_nav",function(e){var $dk=null;if($opened){$dk=$opened}else if($focused&&!$opened){$dk=$focused}if($dk){handleKeyBoardNav(e,$dk)}});$(document).on("click",null,function(e){if($opened&&$(e.target).closest(".dk_container").length===0){closeDropdown($opened)}else if($(e.target).is(".dk_toggle, .dk_label")){var $dk=$(e.target).parents(".dk_container").first();if($dk.hasClass("dk_open")){closeDropdown($dk)}else{$opened&&closeDropdown($opened);openDropdown($dk,e)}return false}});var wheelSupport="onwheel"in window?"wheel":"onmousewheel"in document?"mousewheel":"MouseScrollEvent"in window?"DOMMouseScroll MozMousePixelScroll":false;wheelSupport&&$(document).on(wheelSupport,".dk_options_inner",function(event){var delta=event.originalEvent.wheelDelta||-event.originalEvent.deltaY||-event.originalEvent.detail;if(msie){this.scrollTop-=Math.round(delta/10);return false}return delta>0&&this.scrollTop<=0||delta<0&&this.scrollTop>=this.scrollHeight-this.offsetHeight?false:true})})})(jQuery,window,document);(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log("ajaxSubmit: skipping submit process - no element selected");return this}var method,action,url,$form=this;if(typeof options=="function"){options={success:options}}method=this.attr("method");action=this.attr("action");url=typeof action==="string"?$.trim(action):"";url=url||window.location.href||"";if(url){url=(url.match(/^([^#]+)/)||[])[1]}options=$.extend(true,{url:url,success:$.ajaxSettings.success,type:method||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},options);var veto={};this.trigger("form-pre-serialize",[this,options,veto]);if(veto.veto){log("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(options.beforeSerialize&&options.beforeSerialize(this,options)===false){log("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var n,v,a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(n in options.data){if($.isArray(options.data[n])){for(var k in options.data[n]){a.push({name:n,value:options.data[n][k]})}}else{v=options.data[n];v=$.isFunction(v)?v():v;a.push({name:n,value:v})}}}if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[a,this,options,veto]);if(veto.veto){log("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var q=$.param(a);if(options.type.toUpperCase()=="GET"){options.url+=(options.url.indexOf("?")>=0?"&":"?")+q;options.data=null}else{options.data=q}var callbacks=[];if(options.resetForm){callbacks.push(function(){$form.resetForm()})}if(options.clearForm){callbacks.push(function(){$form.clearForm()})}if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){var fn=options.replaceTarget?"replaceWith":"html";$(options.target)[fn](data).each(oldSuccess,arguments)})}else if(options.success){callbacks.push(options.success)}options.success=function(data,status,xhr){var context=options.context||options;for(var i=0,max=callbacks.length;i<max;i++){callbacks[i].apply(context,[data,status,xhr||$form,$form])}};var fileInputs=$("input:file",this).length>0;var mp="multipart/form-data";var multipart=$form.attr("enctype")==mp||$form.attr("encoding")==mp;if(options.iframe!==false&&(fileInputs||options.iframe||multipart)){if(options.closeKeepAlive){$.get(options.closeKeepAlive,function(){fileUpload(a)})}else{fileUpload(a)}}else{if($.browser.msie&&method=="get"){var ieMeth=$form[0].getAttribute("method");if(typeof ieMeth==="string")options.type=ieMeth}$.ajax(options)}this.trigger("form-submit-notify",[this,options]);return this;function fileUpload(a){var form=$form[0],el,i,s,g,id,$io,io,xhr,sub,n,timedOut,timeoutHandle;var useProp=!!$.fn.prop;if(a){for(i=0;i<a.length;i++){el=$(form[a[i].name]);el[useProp?"prop":"attr"]("disabled",false)}}if($(":input[name=submit],:input[id=submit]",form).length){alert('Error: Form elements must not have name or id of "submit".');return}s=$.extend(true,{},$.ajaxSettings,options);s.context=s.context||s;id="jqFormIO"+(new Date).getTime();if(s.iframeTarget){$io=$(s.iframeTarget);n=$io.attr("name");if(n==null)$io.attr("name",id);else id=n}else{$io=$('<iframe name="'+id+'" src="'+s.iframeSrc+'" />');$io.css({position:"absolute",top:"-1000px",left:"-1000px"})}io=$io[0];xhr={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(status){var e=status==="timeout"?"timeout":"aborted";log("aborting upload... "+e);this.aborted=1;$io.attr("src",s.iframeSrc);xhr.error=e;s.error&&s.error.call(s.context,xhr,e,status);g&&$.event.trigger("ajaxError",[xhr,s,e]);s.complete&&s.complete.call(s.context,xhr,e)}};g=s.global;if(g&&!$.active++){$.event.trigger("ajaxStart")}if(g){$.event.trigger("ajaxSend",[xhr,s])}if(s.beforeSend&&s.beforeSend.call(s.context,xhr,s)===false){if(s.global){$.active--}return}if(xhr.aborted){return}sub=form.clk;if(sub){n=sub.name;if(n&&!sub.disabled){s.extraData=s.extraData||{};s.extraData[n]=sub.value;if(sub.type=="image"){s.extraData[n+".x"]=form.clk_x;s.extraData[n+".y"]=form.clk_y}}}var CLIENT_TIMEOUT_ABORT=1;var SERVER_ABORT=2;function getDoc(frame){var doc=frame.contentWindow?frame.contentWindow.document:frame.contentDocument?frame.contentDocument:frame.document;return doc}function doSubmit(){var t=$form.attr("target"),a=$form.attr("action");form.setAttribute("target",id);if(!method){form.setAttribute("method","POST")}if(a!=s.url){form.setAttribute("action",s.url)}if(!s.skipEncodingOverride&&(!method||/post/i.test(method))){$form.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(s.timeout){timeoutHandle=setTimeout(function(){timedOut=true;cb(CLIENT_TIMEOUT_ABORT)},s.timeout)}function checkState(){try{var state=getDoc(io).readyState;log("state = "+state);if(state.toLowerCase()=="uninitialized")setTimeout(checkState,50)}catch(e){log("Server abort: ",e," (",e.name,")");cb(SERVER_ABORT);timeoutHandle&&clearTimeout(timeoutHandle);timeoutHandle=undefined}}var extraInputs=[];try{if(s.extraData){for(var n in s.extraData){extraInputs.push($('<input type="hidden" name="'+n+'" />').attr("value",s.extraData[n]).appendTo(form)[0])}}if(!s.iframeTarget){$io.appendTo("body");io.attachEvent?io.attachEvent("onload",cb):io.addEventListener("load",cb,false)}setTimeout(checkState,15);form.submit()}finally{form.setAttribute("action",a);if(t){form.setAttribute("target",t)}else{$form.removeAttr("target")}$(extraInputs).remove()}}if(s.forceSync){doSubmit()}else{setTimeout(doSubmit,10)}var data,doc,domCheckCount=50,callbackProcessed;function cb(e){if(xhr.aborted||callbackProcessed){return}try{doc=getDoc(io)}catch(ex){log("cannot access response document: ",ex);e=SERVER_ABORT}if(e===CLIENT_TIMEOUT_ABORT&&xhr){xhr.abort("timeout");return}else if(e==SERVER_ABORT&&xhr){xhr.abort("server abort");return}if(!doc||doc.location.href==s.iframeSrc){if(!timedOut)return}io.detachEvent?io.detachEvent("onload",cb):io.removeEventListener("load",cb,false);var status="success",errMsg;try{if(timedOut){throw"timeout"}var isXml=s.dataType=="xml"||doc.XMLDocument||$.isXMLDoc(doc);log("isXml="+isXml);if(!isXml&&window.opera&&(doc.body==null||doc.body.innerHTML=="")){if(--domCheckCount){log("requeing onLoad callback, DOM not available");setTimeout(cb,250);return}}var docRoot=doc.body?doc.body:doc.documentElement;xhr.responseText=docRoot?docRoot.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;if(isXml)s.dataType="xml";xhr.getResponseHeader=function(header){var headers={"content-type":s.dataType};return headers[header]};if(docRoot){xhr.status=Number(docRoot.getAttribute("status"))||xhr.status;xhr.statusText=docRoot.getAttribute("statusText")||xhr.statusText}var dt=s.dataType||"";var scr=/(json|script|text)/.test(dt.toLowerCase());if(scr||s.textarea){var ta=doc.getElementsByTagName("textarea")[0];if(ta){xhr.responseText=ta.value;xhr.status=Number(ta.getAttribute("status"))||xhr.status;xhr.statusText=ta.getAttribute("statusText")||xhr.statusText}else if(scr){var pre=doc.getElementsByTagName("pre")[0];var b=doc.getElementsByTagName("body")[0];if(pre){xhr.responseText=pre.textContent?pre.textContent:pre.innerHTML}else if(b){xhr.responseText=b.innerHTML}}}else if(s.dataType=="xml"&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText)}try{data=httpData(xhr,s.dataType,s)}catch(e){status="parsererror";xhr.error=errMsg=e||status}}catch(e){log("error caught: ",e);status="error";xhr.error=errMsg=e||status}if(xhr.aborted){log("upload aborted");status=null}if(xhr.status){status=xhr.status>=200&&xhr.status<300||xhr.status===304?"success":"error"}if(status==="success"){s.success&&s.success.call(s.context,data,"success",xhr);g&&$.event.trigger("ajaxSuccess",[xhr,s])}else if(status){if(errMsg==undefined)errMsg=xhr.statusText;s.error&&s.error.call(s.context,xhr,status,errMsg);g&&$.event.trigger("ajaxError",[xhr,s,errMsg])}g&&$.event.trigger("ajaxComplete",[xhr,s]);if(g&&!--$.active){$.event.trigger("ajaxStop")}s.complete&&s.complete.call(s.context,xhr,status);callbackProcessed=true;if(s.timeout)clearTimeout(timeoutHandle);setTimeout(function(){if(!s.iframeTarget)$io.remove();xhr.responseXML=null},100)}var toXml=$.parseXML||function(s,doc){if(window.ActiveXObject){doc=new ActiveXObject("Microsoft.XMLDOM");doc.async="false";doc.loadXML(s)}else{doc=(new DOMParser).parseFromString(s,"text/xml")}return doc&&doc.documentElement&&doc.documentElement.nodeName!="parsererror"?doc:null};var parseJSON=$.parseJSON||function(s){return window["eval"]("("+s+")")};var httpData=function(xhr,type,s){var ct=xhr.getResponseHeader("content-type")||"",xml=type==="xml"||!type&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.nodeName==="parsererror"){$.error&&$.error("parsererror")}if(s&&s.dataFilter){data=s.dataFilter(data,type)}if(typeof data==="string"){if(type==="json"||!type&&ct.indexOf("json")>=0){data=parseJSON(data)}else if(type==="script"||!type&&ct.indexOf("javascript")>=0){$.globalEval(data)}}return data}}};$.fn.ajaxForm=function(options){if(this.length===0){var o={s:this.selector,c:this.context};if(!$.isReady&&o.s){log("DOM not ready, queuing ajaxForm");$(function(){$(o.s,o.c).ajaxForm(options)});return this}log("terminating; zero elements found by selector"+($.isReady?"":" (DOM not ready)"));return this}return this.ajaxFormUnbind().bind("submit.form-plugin",function(e){if(!e.isDefaultPrevented()){e.preventDefault();$(this).ajaxSubmit(options)}}).bind("click.form-plugin",function(e){var target=e.target;var $el=$(target);if(!$el.is(":submit,input:image")){var t=$el.closest(":submit");if(t.length==0){return}target=t[0]}var form=this;form.clk=target;if(target.type=="image"){if(e.offsetX!=undefined){form.clk_x=e.offsetX;form.clk_y=e.offsetY}else if(typeof $.fn.offset=="function"){var offset=$el.offset();form.clk_x=e.pageX-offset.left;form.clk_y=e.pageY-offset.top}else{form.clk_x=e.pageX-target.offsetLeft;form.clk_y=e.pageY-target.offsetTop}}setTimeout(function(){form.clk=form.clk_x=form.clk_y=null},100)})};$.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};$.fn.formToArray=function(semantic){var a=[];if(this.length===0){return a}var form=this[0];var els=semantic?form.getElementsByTagName("*"):form.elements;if(!els){return a}var i,j,n,v,el,max,jmax;for(i=0,max=els.length;i<max;i++){el=els[i];n=el.name;if(!n){continue}if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el){a.push({name:n,value:$(el).val()});a.push({name:n+".x",value:form.clk_x},{name:n+".y",value:form.clk_y})}continue}v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(j=0,jmax=v.length;j<jmax;j++){a.push({name:n,value:v[j]})}}else if(v!==null&&typeof v!="undefined"){a.push({name:n,value:v})}}if(!semantic&&form.clk){var $input=$(form.clk),input=$input[0];n=input.name;if(n&&!input.disabled&&input.type=="image"){a.push({name:n,value:$input.val()});a.push({name:n+".x",value:form.clk_x},{name:n+".y",value:form.clk_y})}}return a};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic))};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n){return}var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++){a.push({name:n,value:v[i]})}}else if(v!==null&&typeof v!="undefined"){a.push({name:this.name,value:v})}});return $.param(a)};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=="undefined"||v.constructor==Array&&!v.length){continue}v.constructor==Array?$.merge(val,v):val.push(v)}return val};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(successful===undefined){successful=true}if(successful&&(!n||el.disabled||t=="reset"||t=="button"||(t=="checkbox"||t=="radio")&&!el.checked||(t=="submit"||t=="image")&&el.form&&el.form.clk!=el||tag=="select"&&el.selectedIndex==-1)){return null}if(tag=="select"){var index=el.selectedIndex;if(index<0){return null}var a=[],ops=el.options;var one=t=="select-one";var max=one?index+1:ops.length;for(var i=one?index:0;i<max;i++){var op=ops[i];if(op.selected){var v=op.value;if(!v){v=op.attributes&&op.attributes["value"]&&!op.attributes["value"].specified?op.text:op.value}if(one){return v}a.push(v)}}return a}return $(el).val()};$.fn.clearForm=function(){return this.each(function(){$("input,select,textarea",this).clearFields()})};$.fn.clearFields=$.fn.clearInputs=function(){var re=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(re.test(t)||tag=="textarea"){this.value=""}else if(t=="checkbox"||t=="radio"){this.checked=false}else if(tag=="select"){this.selectedIndex=-1}})};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||typeof this.reset=="object"&&!this.reset.nodeType){this.reset()}})};$.fn.enable=function(b){if(b===undefined){b=true}return this.each(function(){this.disabled=!b})};$.fn.selected=function(select){if(select===undefined){select=true}return this.each(function(){var t=this.type;if(t=="checkbox"||t=="radio"){this.checked=select}else if(this.tagName.toLowerCase()=="option"){var $sel=$(this).parent("select");if(select&&$sel[0]&&$sel[0].type=="select-one"){$sel.find("option").selected(false)
}this.selected=select}})};function log(){}})(jQuery);(function(jQuery){jQuery.hotkeys={version:"0.8",specialKeys:{8:"backspace",9:"tab",13:"return",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",191:"/",224:"meta"},shiftNums:{"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":": ","'":'"',",":"<",".":">","/":"?","\\":"|"}};function keyHandler(handleObj){if(typeof handleObj.data!=="string"){return}var origHandler=handleObj.handler,keys=handleObj.data.toLowerCase().split(" ");handleObj.handler=function(event){if(this!==event.target&&(/textarea|select/i.test(event.target.nodeName)||event.target.type==="text")){return}var special=event.type!=="keypress"&&jQuery.hotkeys.specialKeys[event.which],character=String.fromCharCode(event.which).toLowerCase(),key,modif="",possible={};if(event.altKey&&special!=="alt"){modif+="alt+"}if(event.ctrlKey&&special!=="ctrl"){modif+="ctrl+"}if(event.metaKey&&!event.ctrlKey&&special!=="meta"){modif+="meta+"}if(event.shiftKey&&special!=="shift"){modif+="shift+"}if(special){possible[modif+special]=true}else{possible[modif+character]=true;possible[modif+jQuery.hotkeys.shiftNums[character]]=true;if(modif==="shift+"){possible[jQuery.hotkeys.shiftNums[character]]=true}}for(var i=0,l=keys.length;i<l;i++){if(possible[keys[i]]){return origHandler.apply(this,arguments)}}}}jQuery.each(["keydown","keyup","keypress"],function(){jQuery.event.special[this]={add:keyHandler}})})(jQuery);(function($){var undefined;$.fn.emptyForce=function(){for(var i=0,elem;(elem=$(this)[i])!=null;i++){if(elem.nodeType===1){$.cleanData(elem.getElementsByTagName("*"))}if($.jqplot.use_excanvas){elem.outerHTML=""}else{while(elem.firstChild){elem.removeChild(elem.firstChild)}}elem=null}return $(this)};$.fn.removeChildForce=function(parent){while(parent.firstChild){this.removeChildForce(parent.firstChild);parent.removeChild(parent.firstChild)}};$.fn.jqplot=function(){var datas=[];var options=[];for(var i=0,l=arguments.length;i<l;i++){if($.isArray(arguments[i])){datas.push(arguments[i])}else if($.isPlainObject(arguments[i])){options.push(arguments[i])}}return this.each(function(index){var tid,plot,$this=$(this),dl=datas.length,ol=options.length,data,opts;if(index<dl){data=datas[index]}else{data=dl?datas[dl-1]:null}if(index<ol){opts=options[index]}else{opts=ol?options[ol-1]:null}tid=$this.attr("id");if(tid===undefined){tid="jqplot_target_"+$.jqplot.targetCounter++;$this.attr("id",tid)}plot=$.jqplot(tid,data,opts);$this.data("jqplot",plot)})};$.jqplot=function(target,data,options){var _data=null,_options=null;if(arguments.length===3){_data=data;_options=options}else if(arguments.length===2){if($.isArray(data)){_data=data}else if($.isPlainObject(data)){_options=data}}if(_data===null&&_options!==null&&_options.data){_data=_options.data}var plot=new jqPlot;$("#"+target).removeClass("jqplot-error");if($.jqplot.config.catchErrors){try{plot.init(target,_data,_options);plot.draw();plot.themeEngine.init.call(plot);return plot}catch(e){var msg=$.jqplot.config.errorMessage||e.message;$("#"+target).append('<div class="jqplot-error-message">'+msg+"</div>");$("#"+target).addClass("jqplot-error");document.getElementById(target).style.background=$.jqplot.config.errorBackground;document.getElementById(target).style.border=$.jqplot.config.errorBorder;document.getElementById(target).style.fontFamily=$.jqplot.config.errorFontFamily;document.getElementById(target).style.fontSize=$.jqplot.config.errorFontSize;document.getElementById(target).style.fontStyle=$.jqplot.config.errorFontStyle;document.getElementById(target).style.fontWeight=$.jqplot.config.errorFontWeight}}else{plot.init(target,_data,_options);plot.draw();plot.themeEngine.init.call(plot);return plot}};$.jqplot.version="1.0.8";$.jqplot.revision="1250";$.jqplot.targetCounter=1;$.jqplot.CanvasManager=function(){if(typeof $.jqplot.CanvasManager.canvases=="undefined"){$.jqplot.CanvasManager.canvases=[];$.jqplot.CanvasManager.free=[]}var myCanvases=[];this.getCanvas=function(){var canvas;var makeNew=true;if(!$.jqplot.use_excanvas){for(var i=0,l=$.jqplot.CanvasManager.canvases.length;i<l;i++){if($.jqplot.CanvasManager.free[i]===true){makeNew=false;canvas=$.jqplot.CanvasManager.canvases[i];$.jqplot.CanvasManager.free[i]=false;myCanvases.push(i);break}}}if(makeNew){canvas=document.createElement("canvas");myCanvases.push($.jqplot.CanvasManager.canvases.length);$.jqplot.CanvasManager.canvases.push(canvas);$.jqplot.CanvasManager.free.push(false)}return canvas};this.initCanvas=function(canvas){if($.jqplot.use_excanvas){return window.G_vmlCanvasManager.initElement(canvas)}return canvas};this.freeAllCanvases=function(){for(var i=0,l=myCanvases.length;i<l;i++){this.freeCanvas(myCanvases[i])}myCanvases=[]};this.freeCanvas=function(idx){if($.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==undefined){window.G_vmlCanvasManager.uninitElement($.jqplot.CanvasManager.canvases[idx]);$.jqplot.CanvasManager.canvases[idx]=null}else{var canvas=$.jqplot.CanvasManager.canvases[idx];canvas.getContext("2d").clearRect(0,0,canvas.width,canvas.height);$(canvas).unbind().removeAttr("class").removeAttr("style");$(canvas).css({left:"",top:"",position:""});canvas.width=0;canvas.height=0;$.jqplot.CanvasManager.free[idx]=true}}};$.jqplot.log=function(){if(window.console){window.console.log.apply(window.console,arguments)}};$.jqplot.config={addDomReference:false,enablePlugins:false,defaultHeight:300,defaultWidth:400,UTCAdjust:false,timezoneOffset:new Date((new Date).getTimezoneOffset()*6e4),errorMessage:"",errorBackground:"",errorBorder:"",errorFontFamily:"",errorFontSize:"",errorFontStyle:"",errorFontWeight:"",catchErrors:false,defaultTickFormatString:"%.1f",defaultColors:["#4bb2c5","#EAA228","#c5b47f","#579575","#839557","#958c12","#953579","#4b5de4","#d8b83f","#ff5800","#0085cc","#c747a3","#cddf54","#FBD178","#26B4E3","#bd70c7"],defaultNegativeColors:["#498991","#C08840","#9F9274","#546D61","#646C4A","#6F6621","#6E3F5F","#4F64B0","#A89050","#C45923","#187399","#945381","#959E5C","#C7AF7B","#478396","#907294"],dashLength:4,gapLength:4,dotGapLength:2.5,srcLocation:"jqplot/src/",pluginLocation:"jqplot/src/plugins/"};$.jqplot.arrayMax=function(array){return Math.max.apply(Math,array)};$.jqplot.arrayMin=function(array){return Math.min.apply(Math,array)};$.jqplot.enablePlugins=$.jqplot.config.enablePlugins;$.jqplot.support_canvas=function(){if(typeof $.jqplot.support_canvas.result=="undefined"){$.jqplot.support_canvas.result=!!document.createElement("canvas").getContext}return $.jqplot.support_canvas.result};$.jqplot.support_canvas_text=function(){if(typeof $.jqplot.support_canvas_text.result=="undefined"){if(window.G_vmlCanvasManager!==undefined&&window.G_vmlCanvasManager._version>887){$.jqplot.support_canvas_text.result=true}else{$.jqplot.support_canvas_text.result=!!(document.createElement("canvas").getContext&&typeof document.createElement("canvas").getContext("2d").fillText=="function")}}return $.jqplot.support_canvas_text.result};$.jqplot.use_excanvas=(!$.support.boxModel||!$.support.objectAll||!$support.leadingWhitespace)&&!$.jqplot.support_canvas()?true:false;$.jqplot.preInitHooks=[];$.jqplot.postInitHooks=[];$.jqplot.preParseOptionsHooks=[];$.jqplot.postParseOptionsHooks=[];$.jqplot.preDrawHooks=[];$.jqplot.postDrawHooks=[];$.jqplot.preDrawSeriesHooks=[];$.jqplot.postDrawSeriesHooks=[];$.jqplot.preDrawLegendHooks=[];$.jqplot.addLegendRowHooks=[];$.jqplot.preSeriesInitHooks=[];$.jqplot.postSeriesInitHooks=[];$.jqplot.preParseSeriesOptionsHooks=[];$.jqplot.postParseSeriesOptionsHooks=[];$.jqplot.eventListenerHooks=[];$.jqplot.preDrawSeriesShadowHooks=[];$.jqplot.postDrawSeriesShadowHooks=[];$.jqplot.ElemContainer=function(){this._elem;this._plotWidth;this._plotHeight;this._plotDimensions={height:null,width:null}};$.jqplot.ElemContainer.prototype.createElement=function(el,offsets,clss,cssopts,attrib){this._offsets=offsets;var klass=clss||"jqplot";var elem=document.createElement(el);this._elem=$(elem);this._elem.addClass(klass);this._elem.css(cssopts);this._elem.attr(attrib);elem=null;return this._elem};$.jqplot.ElemContainer.prototype.getWidth=function(){if(this._elem){return this._elem.outerWidth(true)}else{return null}};$.jqplot.ElemContainer.prototype.getHeight=function(){if(this._elem){return this._elem.outerHeight(true)}else{return null}};$.jqplot.ElemContainer.prototype.getPosition=function(){if(this._elem){return this._elem.position()}else{return{top:null,left:null,bottom:null,right:null}}};$.jqplot.ElemContainer.prototype.getTop=function(){return this.getPosition().top};$.jqplot.ElemContainer.prototype.getLeft=function(){return this.getPosition().left};$.jqplot.ElemContainer.prototype.getBottom=function(){return this._elem.css("bottom")};$.jqplot.ElemContainer.prototype.getRight=function(){return this._elem.css("right")};function Axis(name){$.jqplot.ElemContainer.call(this);this.name=name;this._series=[];this.show=false;this.tickRenderer=$.jqplot.AxisTickRenderer;this.tickOptions={};this.labelRenderer=$.jqplot.AxisLabelRenderer;this.labelOptions={};this.label=null;this.showLabel=true;this.min=null;this.max=null;this.autoscale=false;this.pad=1.2;this.padMax=null;this.padMin=null;this.ticks=[];this.numberTicks;this.tickInterval;this.renderer=$.jqplot.LinearAxisRenderer;this.rendererOptions={};this.showTicks=true;this.showTickMarks=true;this.showMinorTicks=true;this.drawMajorGridlines=true;this.drawMinorGridlines=false;this.drawMajorTickMarks=true;this.drawMinorTickMarks=true;this.useSeriesColor=false;this.borderWidth=null;this.borderColor=null;this.scaleToHiddenSeries=false;this._dataBounds={min:null,max:null};this._intervalStats=[];this._offsets={min:null,max:null};this._ticks=[];this._label=null;this.syncTicks=null;this.tickSpacing=75;this._min=null;this._max=null;this._tickInterval=null;this._numberTicks=null;this.__ticks=null;this._options={}}Axis.prototype=new $.jqplot.ElemContainer;Axis.prototype.constructor=Axis;Axis.prototype.init=function(){if($.isFunction(this.renderer)){this.renderer=new this.renderer}this.tickOptions.axis=this.name;if(this.tickOptions.showMark==null){this.tickOptions.showMark=this.showTicks}if(this.tickOptions.showMark==null){this.tickOptions.showMark=this.showTickMarks}if(this.tickOptions.showLabel==null){this.tickOptions.showLabel=this.showTicks}if(this.label==null||this.label==""){this.showLabel=false}else{this.labelOptions.label=this.label}if(this.showLabel==false){this.labelOptions.show=false}if(this.pad==0){this.pad=1}if(this.padMax==0){this.padMax=1}if(this.padMin==0){this.padMin=1}if(this.padMax==null){this.padMax=(this.pad-1)/2+1}if(this.padMin==null){this.padMin=(this.pad-1)/2+1}this.pad=this.padMax+this.padMin-1;if(this.min!=null||this.max!=null){this.autoscale=false}if(this.syncTicks==null&&this.name.indexOf("y")>-1){this.syncTicks=true}else if(this.syncTicks==null){this.syncTicks=false}this.renderer.init.call(this,this.rendererOptions)};Axis.prototype.draw=function(ctx,plot){if(this.__ticks){this.__ticks=null}return this.renderer.draw.call(this,ctx,plot)};Axis.prototype.set=function(){this.renderer.set.call(this)};Axis.prototype.pack=function(pos,offsets){if(this.show){this.renderer.pack.call(this,pos,offsets)}if(this._min==null){this._min=this.min;this._max=this.max;this._tickInterval=this.tickInterval;this._numberTicks=this.numberTicks;this.__ticks=this._ticks}};Axis.prototype.reset=function(){this.renderer.reset.call(this)};Axis.prototype.resetScale=function(opts){$.extend(true,this,{min:null,max:null,numberTicks:null,tickInterval:null,_ticks:[],ticks:[]},opts);this.resetDataBounds()};Axis.prototype.resetDataBounds=function(){var db=this._dataBounds;db.min=null;db.max=null;var l,s,d;var doforce=this.show?true:false;for(var i=0;i<this._series.length;i++){s=this._series[i];if(s.show||this.scaleToHiddenSeries){d=s._plotData;if(s._type==="line"&&s.renderer.bands.show&&this.name.charAt(0)!=="x"){d=[[0,s.renderer.bands._min],[1,s.renderer.bands._max]]}var minyidx=1,maxyidx=1;if(s._type!=null&&s._type=="ohlc"){minyidx=3;maxyidx=2}for(var j=0,l=d.length;j<l;j++){if(this.name=="xaxis"||this.name=="x2axis"){if(d[j][0]!=null&&d[j][0]<db.min||db.min==null){db.min=d[j][0]}if(d[j][0]!=null&&d[j][0]>db.max||db.max==null){db.max=d[j][0]}}else{if(d[j][minyidx]!=null&&d[j][minyidx]<db.min||db.min==null){db.min=d[j][minyidx]}if(d[j][maxyidx]!=null&&d[j][maxyidx]>db.max||db.max==null){db.max=d[j][maxyidx]}}}if(doforce&&s.renderer.constructor!==$.jqplot.BarRenderer){doforce=false}else if(doforce&&this._options.hasOwnProperty("forceTickAt0")&&this._options.forceTickAt0==false){doforce=false}else if(doforce&&s.renderer.constructor===$.jqplot.BarRenderer){if(s.barDirection=="vertical"&&this.name!="xaxis"&&this.name!="x2axis"){if(this._options.pad!=null||this._options.padMin!=null){doforce=false}}else if(s.barDirection=="horizontal"&&(this.name=="xaxis"||this.name=="x2axis")){if(this._options.pad!=null||this._options.padMin!=null){doforce=false}}}}}if(doforce&&this.renderer.constructor===$.jqplot.LinearAxisRenderer&&db.min>=0){this.padMin=1;this.forceTickAt0=true}};function Legend(options){$.jqplot.ElemContainer.call(this);this.show=false;this.location="ne";this.labels=[];this.showLabels=true;this.showSwatches=true;this.placement="insideGrid";this.xoffset=0;this.yoffset=0;this.border;this.background;this.textColor;this.fontFamily;this.fontSize;this.rowSpacing="0.5em";this.renderer=$.jqplot.TableLegendRenderer;this.rendererOptions={};this.preDraw=false;this.marginTop=null;this.marginRight=null;this.marginBottom=null;this.marginLeft=null;this.escapeHtml=false;this._series=[];$.extend(true,this,options)}Legend.prototype=new $.jqplot.ElemContainer;Legend.prototype.constructor=Legend;Legend.prototype.setOptions=function(options){$.extend(true,this,options);if(this.placement=="inside"){this.placement="insideGrid"}if(this.xoffset>0){if(this.placement=="insideGrid"){switch(this.location){case"nw":case"w":case"sw":if(this.marginLeft==null){this.marginLeft=this.xoffset+"px"}this.marginRight="0px";break;case"ne":case"e":case"se":default:if(this.marginRight==null){this.marginRight=this.xoffset+"px"}this.marginLeft="0px";break}}else if(this.placement=="outside"){switch(this.location){case"nw":case"w":case"sw":if(this.marginRight==null){this.marginRight=this.xoffset+"px"}this.marginLeft="0px";break;case"ne":case"e":case"se":default:if(this.marginLeft==null){this.marginLeft=this.xoffset+"px"}this.marginRight="0px";break}}this.xoffset=0}if(this.yoffset>0){if(this.placement=="outside"){switch(this.location){case"sw":case"s":case"se":if(this.marginTop==null){this.marginTop=this.yoffset+"px"}this.marginBottom="0px";break;case"ne":case"n":case"nw":default:if(this.marginBottom==null){this.marginBottom=this.yoffset+"px"}this.marginTop="0px";break}}else if(this.placement=="insideGrid"){switch(this.location){case"sw":case"s":case"se":if(this.marginBottom==null){this.marginBottom=this.yoffset+"px"}this.marginTop="0px";break;case"ne":case"n":case"nw":default:if(this.marginTop==null){this.marginTop=this.yoffset+"px"}this.marginBottom="0px";break}}this.yoffset=0}};Legend.prototype.init=function(){if($.isFunction(this.renderer)){this.renderer=new this.renderer}this.renderer.init.call(this,this.rendererOptions)};Legend.prototype.draw=function(offsets,plot){for(var i=0;i<$.jqplot.preDrawLegendHooks.length;i++){$.jqplot.preDrawLegendHooks[i].call(this,offsets)}return this.renderer.draw.call(this,offsets,plot)};Legend.prototype.pack=function(offsets){this.renderer.pack.call(this,offsets)};function Title(text){$.jqplot.ElemContainer.call(this);this.text=text;this.show=true;this.fontFamily;this.fontSize;this.textAlign;this.textColor;this.renderer=$.jqplot.DivTitleRenderer;this.rendererOptions={};this.escapeHtml=false}Title.prototype=new $.jqplot.ElemContainer;Title.prototype.constructor=Title;Title.prototype.init=function(){if($.isFunction(this.renderer)){this.renderer=new this.renderer}this.renderer.init.call(this,this.rendererOptions)};Title.prototype.draw=function(width){return this.renderer.draw.call(this,width)};Title.prototype.pack=function(){this.renderer.pack.call(this)};function Series(options){options=options||{};$.jqplot.ElemContainer.call(this);this.show=true;this.xaxis="xaxis";this._xaxis;this.yaxis="yaxis";this._yaxis;this.gridBorderWidth=2;this.renderer=$.jqplot.LineRenderer;this.rendererOptions={};this.data=[];this.gridData=[];this.label="";this.showLabel=true;this.color;this.negativeColor;this.lineWidth=2.5;this.lineJoin="round";this.lineCap="round";this.linePattern="solid";this.shadow=true;this.shadowAngle=45;this.shadowOffset=1.25;this.shadowDepth=3;this.shadowAlpha="0.1";this.breakOnNull=false;this.markerRenderer=$.jqplot.MarkerRenderer;this.markerOptions={};this.showLine=true;this.showMarker=true;this.index;this.fill=false;this.fillColor;this.fillAlpha;this.fillAndStroke=false;this.disableStack=false;this._stack=false;this.neighborThreshold=4;this.fillToZero=false;this.fillToValue=0;this.fillAxis="y";this.useNegativeColors=true;this._stackData=[];this._plotData=[];this._plotValues={x:[],y:[]};this._intervals={x:{},y:{}};this._prevPlotData=[];this._prevGridData=[];this._stackAxis="y";this._primaryAxis="_xaxis";this.canvas=new $.jqplot.GenericCanvas;this.shadowCanvas=new $.jqplot.GenericCanvas;this.plugins={};this._sumy=0;this._sumx=0;this._type=""}Series.prototype=new $.jqplot.ElemContainer;Series.prototype.constructor=Series;Series.prototype.init=function(index,gridbw,plot){this.index=index;this.gridBorderWidth=gridbw;var d=this.data;var temp=[],i,l;for(i=0,l=d.length;i<l;i++){if(!this.breakOnNull){if(d[i]==null||d[i][0]==null||d[i][1]==null){continue}else{temp.push(d[i])}}else{temp.push(d[i])}}this.data=temp;if(!this.color){this.color=plot.colorGenerator.get(this.index)}if(!this.negativeColor){this.negativeColor=plot.negativeColorGenerator.get(this.index)}if(!this.fillColor){this.fillColor=this.color}if(this.fillAlpha){var comp=$.jqplot.normalize2rgb(this.fillColor);var comp=$.jqplot.getColorComponents(comp);this.fillColor="rgba("+comp[0]+","+comp[1]+","+comp[2]+","+this.fillAlpha+")"}if($.isFunction(this.renderer)){this.renderer=new this.renderer}this.renderer.init.call(this,this.rendererOptions,plot);this.markerRenderer=new this.markerRenderer;if(!this.markerOptions.color){this.markerOptions.color=this.color}if(this.markerOptions.show==null){this.markerOptions.show=this.showMarker}this.showMarker=this.markerOptions.show;this.markerRenderer.init(this.markerOptions)};Series.prototype.draw=function(sctx,opts,plot){var options=opts==undefined?{}:opts;sctx=sctx==undefined?this.canvas._ctx:sctx;var j,data,gridData;for(j=0;j<$.jqplot.preDrawSeriesHooks.length;j++){$.jqplot.preDrawSeriesHooks[j].call(this,sctx,options)}if(this.show){this.renderer.setGridData.call(this,plot);if(!options.preventJqPlotSeriesDrawTrigger){$(sctx.canvas).trigger("jqplotSeriesDraw",[this.data,this.gridData])}data=[];if(options.data){data=options.data}else if(!this._stack){data=this.data}else{data=this._plotData}gridData=options.gridData||this.renderer.makeGridData.call(this,data,plot);if(this._type==="line"&&this.renderer.smooth&&this.renderer._smoothedData.length){gridData=this.renderer._smoothedData}this.renderer.draw.call(this,sctx,gridData,options,plot)}for(j=0;j<$.jqplot.postDrawSeriesHooks.length;j++){$.jqplot.postDrawSeriesHooks[j].call(this,sctx,options,plot)}sctx=opts=plot=j=data=gridData=null};Series.prototype.drawShadow=function(sctx,opts,plot){var options=opts==undefined?{}:opts;sctx=sctx==undefined?this.shadowCanvas._ctx:sctx;var j,data,gridData;for(j=0;j<$.jqplot.preDrawSeriesShadowHooks.length;j++){$.jqplot.preDrawSeriesShadowHooks[j].call(this,sctx,options)}if(this.shadow){this.renderer.setGridData.call(this,plot);data=[];if(options.data){data=options.data}else if(!this._stack){data=this.data}else{data=this._plotData}gridData=options.gridData||this.renderer.makeGridData.call(this,data,plot);this.renderer.drawShadow.call(this,sctx,gridData,options,plot)}for(j=0;j<$.jqplot.postDrawSeriesShadowHooks.length;j++){$.jqplot.postDrawSeriesShadowHooks[j].call(this,sctx,options)}sctx=opts=plot=j=data=gridData=null};Series.prototype.toggleDisplay=function(ev,callback){var s,speed;if(ev.data.series){s=ev.data.series}else{s=this}if(ev.data.speed){speed=ev.data.speed}if(speed){if(s.canvas._elem.is(":hidden")||!s.show){s.show=true;s.canvas._elem.removeClass("jqplot-series-hidden");if(s.shadowCanvas._elem){s.shadowCanvas._elem.fadeIn(speed)}s.canvas._elem.fadeIn(speed,callback);s.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+s.index).fadeIn(speed)}else{s.show=false;s.canvas._elem.addClass("jqplot-series-hidden");if(s.shadowCanvas._elem){s.shadowCanvas._elem.fadeOut(speed)}s.canvas._elem.fadeOut(speed,callback);s.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+s.index).fadeOut(speed)}}else{if(s.canvas._elem.is(":hidden")||!s.show){s.show=true;s.canvas._elem.removeClass("jqplot-series-hidden");if(s.shadowCanvas._elem){s.shadowCanvas._elem.show()}s.canvas._elem.show(0,callback);s.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+s.index).show()}else{s.show=false;s.canvas._elem.addClass("jqplot-series-hidden");if(s.shadowCanvas._elem){s.shadowCanvas._elem.hide()}s.canvas._elem.hide(0,callback);s.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+s.index).hide()}}};function Grid(){$.jqplot.ElemContainer.call(this);this.drawGridlines=true;this.gridLineColor="#cccccc";this.gridLineWidth=1;this.background="#fffdf6";this.borderColor="#999999";this.borderWidth=2;this.drawBorder=true;this.shadow=true;this.shadowAngle=45;this.shadowOffset=1.5;this.shadowWidth=3;this.shadowDepth=3;this.shadowColor=null;this.shadowAlpha="0.07";this._left;this._top;this._right;this._bottom;this._width;this._height;this._axes=[];this.renderer=$.jqplot.CanvasGridRenderer;this.rendererOptions={};this._offsets={top:null,bottom:null,left:null,right:null}}Grid.prototype=new $.jqplot.ElemContainer;Grid.prototype.constructor=Grid;Grid.prototype.init=function(){if($.isFunction(this.renderer)){this.renderer=new this.renderer}this.renderer.init.call(this,this.rendererOptions)};Grid.prototype.createElement=function(offsets,plot){this._offsets=offsets;return this.renderer.createElement.call(this,plot)};Grid.prototype.draw=function(){this.renderer.draw.call(this)};$.jqplot.GenericCanvas=function(){$.jqplot.ElemContainer.call(this);this._ctx};$.jqplot.GenericCanvas.prototype=new $.jqplot.ElemContainer;$.jqplot.GenericCanvas.prototype.constructor=$.jqplot.GenericCanvas;$.jqplot.GenericCanvas.prototype.createElement=function(offsets,clss,plotDimensions,plot){this._offsets=offsets;var klass="jqplot";if(clss!=undefined){klass=clss}var elem;elem=plot.canvasManager.getCanvas();if(plotDimensions!=null){this._plotDimensions=plotDimensions}elem.width=this._plotDimensions.width-this._offsets.left-this._offsets.right;elem.height=this._plotDimensions.height-this._offsets.top-this._offsets.bottom;this._elem=$(elem);this._elem.css({position:"absolute",left:this._offsets.left,top:this._offsets.top});this._elem.addClass(klass);elem=plot.canvasManager.initCanvas(elem);elem=null;return this._elem};$.jqplot.GenericCanvas.prototype.setContext=function(){this._ctx=this._elem.get(0).getContext("2d");return this._ctx};$.jqplot.GenericCanvas.prototype.resetCanvas=function(){if(this._elem){if($.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==undefined){window.G_vmlCanvasManager.uninitElement(this._elem.get(0))}this._elem.emptyForce()}this._ctx=null};$.jqplot.HooksManager=function(){this.hooks=[];this.args=[]};$.jqplot.HooksManager.prototype.addOnce=function(fn,args){args=args||[];var havehook=false;for(var i=0,l=this.hooks.length;i<l;i++){if(this.hooks[i]==fn){havehook=true}}if(!havehook){this.hooks.push(fn);this.args.push(args)}};$.jqplot.HooksManager.prototype.add=function(fn,args){args=args||[];this.hooks.push(fn);this.args.push(args)};$.jqplot.EventListenerManager=function(){this.hooks=[]};$.jqplot.EventListenerManager.prototype.addOnce=function(ev,fn){var havehook=false,h,i;for(var i=0,l=this.hooks.length;i<l;i++){h=this.hooks[i];if(h[0]==ev&&h[1]==fn){havehook=true}}if(!havehook){this.hooks.push([ev,fn])}};$.jqplot.EventListenerManager.prototype.add=function(ev,fn){this.hooks.push([ev,fn])};var _axisNames=["yMidAxis","xaxis","yaxis","x2axis","y2axis","y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis"];function jqPlot(){this.animate=false;this.animateReplot=false;this.axes={xaxis:new Axis("xaxis"),yaxis:new Axis("yaxis"),x2axis:new Axis("x2axis"),y2axis:new Axis("y2axis"),y3axis:new Axis("y3axis"),y4axis:new Axis("y4axis"),y5axis:new Axis("y5axis"),y6axis:new Axis("y6axis"),y7axis:new Axis("y7axis"),y8axis:new Axis("y8axis"),y9axis:new Axis("y9axis"),yMidAxis:new Axis("yMidAxis")};this.baseCanvas=new $.jqplot.GenericCanvas;this.captureRightClick=false;this.data=[];this.dataRenderer;this.dataRendererOptions;this.defaults={axesDefaults:{},axes:{xaxis:{},yaxis:{},x2axis:{},y2axis:{},y3axis:{},y4axis:{},y5axis:{},y6axis:{},y7axis:{},y8axis:{},y9axis:{},yMidAxis:{}},seriesDefaults:{},series:[]};this.defaultAxisStart=1;this.drawIfHidden=false;this.eventCanvas=new $.jqplot.GenericCanvas;this.fillBetween={series1:null,series2:null,color:null,baseSeries:0,fill:true};this.fontFamily;this.fontSize;this.grid=new Grid;this.legend=new Legend;this.noDataIndicator={show:false,indicator:"Loading Data...",axes:{xaxis:{min:0,max:10,tickInterval:2,show:true},yaxis:{min:0,max:12,tickInterval:3,show:true}}};this.negativeSeriesColors=$.jqplot.config.defaultNegativeColors;this.options={};this.previousSeriesStack=[];this.plugins={};this.series=[];this.seriesStack=[];this.seriesColors=$.jqplot.config.defaultColors;this.sortData=true;this.stackSeries=false;this.syncXTicks=true;this.syncYTicks=true;this.target=null;this.targetId=null;this.textColor;this.title=new Title;this._drawCount=0;this._sumy=0;this._sumx=0;this._stackData=[];this._plotData=[];this._width=null;this._height=null;this._plotDimensions={height:null,width:null};this._gridPadding={top:null,right:null,bottom:null,left:null};this._defaultGridPadding={top:10,right:10,bottom:23,left:10};this._addDomReference=$.jqplot.config.addDomReference;this.preInitHooks=new $.jqplot.HooksManager;this.postInitHooks=new $.jqplot.HooksManager;this.preParseOptionsHooks=new $.jqplot.HooksManager;this.postParseOptionsHooks=new $.jqplot.HooksManager;this.preDrawHooks=new $.jqplot.HooksManager;this.postDrawHooks=new $.jqplot.HooksManager;this.preDrawSeriesHooks=new $.jqplot.HooksManager;this.postDrawSeriesHooks=new $.jqplot.HooksManager;this.preDrawLegendHooks=new $.jqplot.HooksManager;this.addLegendRowHooks=new $.jqplot.HooksManager;this.preSeriesInitHooks=new $.jqplot.HooksManager;this.postSeriesInitHooks=new $.jqplot.HooksManager;this.preParseSeriesOptionsHooks=new $.jqplot.HooksManager;this.postParseSeriesOptionsHooks=new $.jqplot.HooksManager;this.eventListenerHooks=new $.jqplot.EventListenerManager;this.preDrawSeriesShadowHooks=new $.jqplot.HooksManager;this.postDrawSeriesShadowHooks=new $.jqplot.HooksManager;this.colorGenerator=new $.jqplot.ColorGenerator;this.negativeColorGenerator=new $.jqplot.ColorGenerator;this.canvasManager=new $.jqplot.CanvasManager;this.themeEngine=new $.jqplot.ThemeEngine;var seriesColorsIndex=0;this.init=function(target,data,options){options=options||{};for(var i=0;i<$.jqplot.preInitHooks.length;i++){$.jqplot.preInitHooks[i].call(this,target,data,options)}for(var i=0;i<this.preInitHooks.hooks.length;i++){this.preInitHooks.hooks[i].call(this,target,data,options)}this.targetId="#"+target;this.target=$("#"+target);if(this._addDomReference){this.target.data("jqplot",this)}this.target.removeClass("jqplot-error");if(!this.target.get(0)){throw new Error("No plot target specified")}if(this.target.css("position")=="static"){this.target.css("position","relative")}if(!this.target.hasClass("jqplot-target")){this.target.addClass("jqplot-target")}if(!this.target.height()){var h;if(options&&options.height){h=parseInt(options.height,10)}else if(this.target.attr("data-height")){h=parseInt(this.target.attr("data-height"),10)}else{h=parseInt($.jqplot.config.defaultHeight,10)}this._height=h;this.target.css("height",h+"px")}else{this._height=h=this.target.height()}if(!this.target.width()){var w;if(options&&options.width){w=parseInt(options.width,10)}else if(this.target.attr("data-width")){w=parseInt(this.target.attr("data-width"),10)}else{w=parseInt($.jqplot.config.defaultWidth,10)}this._width=w;this.target.css("width",w+"px")}else{this._width=w=this.target.width()}for(var i=0,l=_axisNames.length;i<l;i++){this.axes[_axisNames[i]]=new Axis(_axisNames[i])}this._plotDimensions.height=this._height;this._plotDimensions.width=this._width;this.grid._plotDimensions=this._plotDimensions;this.title._plotDimensions=this._plotDimensions;this.baseCanvas._plotDimensions=this._plotDimensions;this.eventCanvas._plotDimensions=this._plotDimensions;this.legend._plotDimensions=this._plotDimensions;if(this._height<=0||this._width<=0||!this._height||!this._width){throw new Error("Canvas dimension not set")}if(options.dataRenderer&&$.isFunction(options.dataRenderer)){if(options.dataRendererOptions){this.dataRendererOptions=options.dataRendererOptions}this.dataRenderer=options.dataRenderer;data=this.dataRenderer(data,this,this.dataRendererOptions)}if(options.noDataIndicator&&$.isPlainObject(options.noDataIndicator)){$.extend(true,this.noDataIndicator,options.noDataIndicator)}if(data==null||$.isArray(data)==false||data.length==0||$.isArray(data[0])==false||data[0].length==0){if(this.noDataIndicator.show==false){throw new Error("No data specified")}else{for(var ax in this.noDataIndicator.axes){for(var prop in this.noDataIndicator.axes[ax]){this.axes[ax][prop]=this.noDataIndicator.axes[ax][prop]}}this.postDrawHooks.add(function(){var eh=this.eventCanvas.getHeight();var ew=this.eventCanvas.getWidth();var temp=$('<div class="jqplot-noData-container" style="position:absolute;"></div>');this.target.append(temp);temp.height(eh);temp.width(ew);temp.css("top",this.eventCanvas._offsets.top);temp.css("left",this.eventCanvas._offsets.left);var temp2=$('<div class="jqplot-noData-contents" style="text-align:center; position:relative; margin-left:auto; margin-right:auto;"></div>');temp.append(temp2);temp2.html(this.noDataIndicator.indicator);var th=temp2.height();var tw=temp2.width();temp2.height(th);temp2.width(tw);temp2.css("top",(eh-th)/2+"px")})}}this.data=$.extend(true,[],data);this.parseOptions(options);if(this.textColor){this.target.css("color",this.textColor)}if(this.fontFamily){this.target.css("font-family",this.fontFamily)}if(this.fontSize){this.target.css("font-size",this.fontSize)}this.title.init();this.legend.init();this._sumy=0;this._sumx=0;this.computePlotData();for(var i=0;i<this.series.length;i++){this.seriesStack.push(i);this.previousSeriesStack.push(i);this.series[i].shadowCanvas._plotDimensions=this._plotDimensions;this.series[i].canvas._plotDimensions=this._plotDimensions;for(var j=0;j<$.jqplot.preSeriesInitHooks.length;j++){$.jqplot.preSeriesInitHooks[j].call(this.series[i],target,this.data,this.options.seriesDefaults,this.options.series[i],this)}for(var j=0;j<this.preSeriesInitHooks.hooks.length;j++){this.preSeriesInitHooks.hooks[j].call(this.series[i],target,this.data,this.options.seriesDefaults,this.options.series[i],this)}this.series[i]._plotDimensions=this._plotDimensions;this.series[i].init(i,this.grid.borderWidth,this);for(var j=0;j<$.jqplot.postSeriesInitHooks.length;j++){$.jqplot.postSeriesInitHooks[j].call(this.series[i],target,this.data,this.options.seriesDefaults,this.options.series[i],this)
}for(var j=0;j<this.postSeriesInitHooks.hooks.length;j++){this.postSeriesInitHooks.hooks[j].call(this.series[i],target,this.data,this.options.seriesDefaults,this.options.series[i],this)}this._sumy+=this.series[i]._sumy;this._sumx+=this.series[i]._sumx}var name,axis;for(var i=0,l=_axisNames.length;i<l;i++){name=_axisNames[i];axis=this.axes[name];axis._plotDimensions=this._plotDimensions;axis.init();if(this.axes[name].borderColor==null){if(name.charAt(0)!=="x"&&axis.useSeriesColor===true&&axis.show){axis.borderColor=axis._series[0].color}else{axis.borderColor=this.grid.borderColor}}}if(this.sortData){sortData(this.series)}this.grid.init();this.grid._axes=this.axes;this.legend._series=this.series;for(var i=0;i<$.jqplot.postInitHooks.length;i++){$.jqplot.postInitHooks[i].call(this,target,this.data,options)}for(var i=0;i<this.postInitHooks.hooks.length;i++){this.postInitHooks.hooks[i].call(this,target,this.data,options)}};this.resetAxesScale=function(axes,options){var opts=options||{};var ax=axes||this.axes;if(ax===true){ax=this.axes}if($.isArray(ax)){for(var i=0;i<ax.length;i++){this.axes[ax[i]].resetScale(opts[ax[i]])}}else if(typeof ax==="object"){for(var name in ax){this.axes[name].resetScale(opts[name])}}};this.reInitialize=function(data,opts){var options=$.extend(true,{},this.options,opts);var target=this.targetId.substr(1);var tdata=data==null?this.data:data;for(var i=0;i<$.jqplot.preInitHooks.length;i++){$.jqplot.preInitHooks[i].call(this,target,tdata,options)}for(var i=0;i<this.preInitHooks.hooks.length;i++){this.preInitHooks.hooks[i].call(this,target,tdata,options)}this._height=this.target.height();this._width=this.target.width();if(this._height<=0||this._width<=0||!this._height||!this._width){throw new Error("Target dimension not set")}this._plotDimensions.height=this._height;this._plotDimensions.width=this._width;this.grid._plotDimensions=this._plotDimensions;this.title._plotDimensions=this._plotDimensions;this.baseCanvas._plotDimensions=this._plotDimensions;this.eventCanvas._plotDimensions=this._plotDimensions;this.legend._plotDimensions=this._plotDimensions;var name,t,j,axis;for(var i=0,l=_axisNames.length;i<l;i++){name=_axisNames[i];axis=this.axes[name];t=axis._ticks;for(var j=0,tlen=t.length;j<tlen;j++){var el=t[j]._elem;if(el){if($.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==undefined){window.G_vmlCanvasManager.uninitElement(el.get(0))}el.emptyForce();el=null;t._elem=null}}t=null;delete axis.ticks;delete axis._ticks;this.axes[name]=new Axis(name);this.axes[name]._plotWidth=this._width;this.axes[name]._plotHeight=this._height}if(data){if(options.dataRenderer&&$.isFunction(options.dataRenderer)){if(options.dataRendererOptions){this.dataRendererOptions=options.dataRendererOptions}this.dataRenderer=options.dataRenderer;data=this.dataRenderer(data,this,this.dataRendererOptions)}this.data=$.extend(true,[],data)}if(opts){this.parseOptions(options)}this.title._plotWidth=this._width;if(this.textColor){this.target.css("color",this.textColor)}if(this.fontFamily){this.target.css("font-family",this.fontFamily)}if(this.fontSize){this.target.css("font-size",this.fontSize)}this.title.init();this.legend.init();this._sumy=0;this._sumx=0;this.seriesStack=[];this.previousSeriesStack=[];this.computePlotData();for(var i=0,l=this.series.length;i<l;i++){this.seriesStack.push(i);this.previousSeriesStack.push(i);this.series[i].shadowCanvas._plotDimensions=this._plotDimensions;this.series[i].canvas._plotDimensions=this._plotDimensions;for(var j=0;j<$.jqplot.preSeriesInitHooks.length;j++){$.jqplot.preSeriesInitHooks[j].call(this.series[i],target,this.data,this.options.seriesDefaults,this.options.series[i],this)}for(var j=0;j<this.preSeriesInitHooks.hooks.length;j++){this.preSeriesInitHooks.hooks[j].call(this.series[i],target,this.data,this.options.seriesDefaults,this.options.series[i],this)}this.series[i]._plotDimensions=this._plotDimensions;this.series[i].init(i,this.grid.borderWidth,this);for(var j=0;j<$.jqplot.postSeriesInitHooks.length;j++){$.jqplot.postSeriesInitHooks[j].call(this.series[i],target,this.data,this.options.seriesDefaults,this.options.series[i],this)}for(var j=0;j<this.postSeriesInitHooks.hooks.length;j++){this.postSeriesInitHooks.hooks[j].call(this.series[i],target,this.data,this.options.seriesDefaults,this.options.series[i],this)}this._sumy+=this.series[i]._sumy;this._sumx+=this.series[i]._sumx}for(var i=0,l=_axisNames.length;i<l;i++){name=_axisNames[i];axis=this.axes[name];axis._plotDimensions=this._plotDimensions;axis.init();if(axis.borderColor==null){if(name.charAt(0)!=="x"&&axis.useSeriesColor===true&&axis.show){axis.borderColor=axis._series[0].color}else{axis.borderColor=this.grid.borderColor}}}if(this.sortData){sortData(this.series)}this.grid.init();this.grid._axes=this.axes;this.legend._series=this.series;for(var i=0,l=$.jqplot.postInitHooks.length;i<l;i++){$.jqplot.postInitHooks[i].call(this,target,this.data,options)}for(var i=0,l=this.postInitHooks.hooks.length;i<l;i++){this.postInitHooks.hooks[i].call(this,target,this.data,options)}};this.quickInit=function(){this._height=this.target.height();this._width=this.target.width();if(this._height<=0||this._width<=0||!this._height||!this._width){throw new Error("Target dimension not set")}this._plotDimensions.height=this._height;this._plotDimensions.width=this._width;this.grid._plotDimensions=this._plotDimensions;this.title._plotDimensions=this._plotDimensions;this.baseCanvas._plotDimensions=this._plotDimensions;this.eventCanvas._plotDimensions=this._plotDimensions;this.legend._plotDimensions=this._plotDimensions;for(var n in this.axes){this.axes[n]._plotWidth=this._width;this.axes[n]._plotHeight=this._height}this.title._plotWidth=this._width;if(this.textColor){this.target.css("color",this.textColor)}if(this.fontFamily){this.target.css("font-family",this.fontFamily)}if(this.fontSize){this.target.css("font-size",this.fontSize)}this._sumy=0;this._sumx=0;this.computePlotData();for(var i=0;i<this.series.length;i++){if(this.series[i]._type==="line"&&this.series[i].renderer.bands.show){this.series[i].renderer.initBands.call(this.series[i],this.series[i].renderer.options,this)}this.series[i]._plotDimensions=this._plotDimensions;this.series[i].canvas._plotDimensions=this._plotDimensions;this._sumy+=this.series[i]._sumy;this._sumx+=this.series[i]._sumx}var name;for(var j=0;j<12;j++){name=_axisNames[j];var t=this.axes[name]._ticks;for(var i=0;i<t.length;i++){var el=t[i]._elem;if(el){if($.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==undefined){window.G_vmlCanvasManager.uninitElement(el.get(0))}el.emptyForce();el=null;t._elem=null}}t=null;this.axes[name]._plotDimensions=this._plotDimensions;this.axes[name]._ticks=[]}if(this.sortData){sortData(this.series)}this.grid._axes=this.axes;this.legend._series=this.series};function sortData(series){var d,sd,pd,ppd,ret;for(var i=0;i<series.length;i++){var check;var bat=[series[i].data,series[i]._stackData,series[i]._plotData,series[i]._prevPlotData];for(var n=0;n<4;n++){check=true;d=bat[n];if(series[i]._stackAxis=="x"){for(var j=0;j<d.length;j++){if(typeof d[j][1]!="number"){check=false;break}}if(check){d.sort(function(a,b){return a[1]-b[1]})}}else{for(var j=0;j<d.length;j++){if(typeof d[j][0]!="number"){check=false;break}}if(check){d.sort(function(a,b){return a[0]-b[0]})}}}}}this.computePlotData=function(){this._plotData=[];this._stackData=[];var series,index,l;for(index=0,l=this.series.length;index<l;index++){series=this.series[index];this._plotData.push([]);this._stackData.push([]);var cd=series.data;this._plotData[index]=$.extend(true,[],cd);this._stackData[index]=$.extend(true,[],cd);series._plotData=this._plotData[index];series._stackData=this._stackData[index];var plotValues={x:[],y:[]};if(this.stackSeries&&!series.disableStack){series._stack=true;var sidx=series._stackAxis==="x"?0:1;for(var k=0,cdl=cd.length;k<cdl;k++){var temp=cd[k][sidx];if(temp==null){temp=0}this._plotData[index][k][sidx]=temp;this._stackData[index][k][sidx]=temp;if(index>0){for(var j=index;j--;){var prevval=this._plotData[j][k][sidx];if(temp*prevval>=0){this._plotData[index][k][sidx]+=prevval;this._stackData[index][k][sidx]+=prevval;break}}}}}else{for(var i=0;i<series.data.length;i++){plotValues.x.push(series.data[i][0]);plotValues.y.push(series.data[i][1])}this._stackData.push(series.data);this.series[index]._stackData=series.data;this._plotData.push(series.data);series._plotData=series.data;series._plotValues=plotValues}if(index>0){series._prevPlotData=this.series[index-1]._plotData}series._sumy=0;series._sumx=0;for(i=series.data.length-1;i>-1;i--){series._sumy+=series.data[i][1];series._sumx+=series.data[i][0]}}};this.populatePlotData=function(series,index){this._plotData=[];this._stackData=[];series._stackData=[];series._plotData=[];var plotValues={x:[],y:[]};if(this.stackSeries&&!series.disableStack){series._stack=true;var sidx=series._stackAxis==="x"?0:1;var temp=$.extend(true,[],series.data);var plotdata=$.extend(true,[],series.data);var tempx,tempy,dval,stackval,comparator;for(var j=0;j<index;j++){var cd=this.series[j].data;for(var k=0;k<cd.length;k++){dval=cd[k];tempx=dval[0]!=null?dval[0]:0;tempy=dval[1]!=null?dval[1]:0;temp[k][0]+=tempx;temp[k][1]+=tempy;stackval=sidx?tempy:tempx;if(series.data[k][sidx]*stackval>=0){plotdata[k][sidx]+=stackval}}}for(var i=0;i<plotdata.length;i++){plotValues.x.push(plotdata[i][0]);plotValues.y.push(plotdata[i][1])}this._plotData.push(plotdata);this._stackData.push(temp);series._stackData=temp;series._plotData=plotdata;series._plotValues=plotValues}else{for(var i=0;i<series.data.length;i++){plotValues.x.push(series.data[i][0]);plotValues.y.push(series.data[i][1])}this._stackData.push(series.data);this.series[index]._stackData=series.data;this._plotData.push(series.data);series._plotData=series.data;series._plotValues=plotValues}if(index>0){series._prevPlotData=this.series[index-1]._plotData}series._sumy=0;series._sumx=0;for(i=series.data.length-1;i>-1;i--){series._sumy+=series.data[i][1];series._sumx+=series.data[i][0]}};this.getNextSeriesColor=function(t){var idx=0;var sc=t.seriesColors;return function(){if(idx<sc.length){return sc[idx++]}else{idx=0;return sc[idx++]}}}(this);this.parseOptions=function(options){for(var i=0;i<this.preParseOptionsHooks.hooks.length;i++){this.preParseOptionsHooks.hooks[i].call(this,options)}for(var i=0;i<$.jqplot.preParseOptionsHooks.length;i++){$.jqplot.preParseOptionsHooks[i].call(this,options)}this.options=$.extend(true,{},this.defaults,options);var opts=this.options;this.animate=opts.animate;this.animateReplot=opts.animateReplot;this.stackSeries=opts.stackSeries;if($.isPlainObject(opts.fillBetween)){var temp=["series1","series2","color","baseSeries","fill"],tempi;for(var i=0,l=temp.length;i<l;i++){tempi=temp[i];if(opts.fillBetween[tempi]!=null){this.fillBetween[tempi]=opts.fillBetween[tempi]}}}if(opts.seriesColors){this.seriesColors=opts.seriesColors}if(opts.negativeSeriesColors){this.negativeSeriesColors=opts.negativeSeriesColors}if(opts.captureRightClick){this.captureRightClick=opts.captureRightClick}this.defaultAxisStart=options&&options.defaultAxisStart!=null?options.defaultAxisStart:this.defaultAxisStart;this.colorGenerator.setColors(this.seriesColors);this.negativeColorGenerator.setColors(this.negativeSeriesColors);$.extend(true,this._gridPadding,opts.gridPadding);this.sortData=opts.sortData!=null?opts.sortData:this.sortData;for(var i=0;i<12;i++){var n=_axisNames[i];var axis=this.axes[n];axis._options=$.extend(true,{},opts.axesDefaults,opts.axes[n]);$.extend(true,axis,opts.axesDefaults,opts.axes[n]);axis._plotWidth=this._width;axis._plotHeight=this._height}var normalizeData=function(data,dir,start){var temp=[];var i,l;dir=dir||"vertical";if(!$.isArray(data[0])){for(i=0,l=data.length;i<l;i++){if(dir=="vertical"){temp.push([start+i,data[i]])}else{temp.push([data[i],start+i])}}}else{$.extend(true,temp,data)}return temp};var colorIndex=0;this.series=[];for(var i=0;i<this.data.length;i++){var sopts=$.extend(true,{index:i},{seriesColors:this.seriesColors,negativeSeriesColors:this.negativeSeriesColors},this.options.seriesDefaults,this.options.series[i],{rendererOptions:{animation:{show:this.animate}}});var temp=new Series(sopts);for(var j=0;j<$.jqplot.preParseSeriesOptionsHooks.length;j++){$.jqplot.preParseSeriesOptionsHooks[j].call(temp,this.options.seriesDefaults,this.options.series[i])}for(var j=0;j<this.preParseSeriesOptionsHooks.hooks.length;j++){this.preParseSeriesOptionsHooks.hooks[j].call(temp,this.options.seriesDefaults,this.options.series[i])}$.extend(true,temp,sopts);var dir="vertical";if(temp.renderer===$.jqplot.BarRenderer&&temp.rendererOptions&&temp.rendererOptions.barDirection=="horizontal"){dir="horizontal";temp._stackAxis="x";temp._primaryAxis="_yaxis"}temp.data=normalizeData(this.data[i],dir,this.defaultAxisStart);switch(temp.xaxis){case"xaxis":temp._xaxis=this.axes.xaxis;break;case"x2axis":temp._xaxis=this.axes.x2axis;break;default:break}temp._yaxis=this.axes[temp.yaxis];temp._xaxis._series.push(temp);temp._yaxis._series.push(temp);if(temp.show){temp._xaxis.show=true;temp._yaxis.show=true}else{if(temp._xaxis.scaleToHiddenSeries){temp._xaxis.show=true}if(temp._yaxis.scaleToHiddenSeries){temp._yaxis.show=true}}if(!temp.label){temp.label="Series "+(i+1).toString()}this.series.push(temp);for(var j=0;j<$.jqplot.postParseSeriesOptionsHooks.length;j++){$.jqplot.postParseSeriesOptionsHooks[j].call(this.series[i],this.options.seriesDefaults,this.options.series[i])}for(var j=0;j<this.postParseSeriesOptionsHooks.hooks.length;j++){this.postParseSeriesOptionsHooks.hooks[j].call(this.series[i],this.options.seriesDefaults,this.options.series[i])}}$.extend(true,this.grid,this.options.grid);for(var i=0,l=_axisNames.length;i<l;i++){var n=_axisNames[i];var axis=this.axes[n];if(axis.borderWidth==null){axis.borderWidth=this.grid.borderWidth}}if(typeof this.options.title=="string"){this.title.text=this.options.title}else if(typeof this.options.title=="object"){$.extend(true,this.title,this.options.title)}this.title._plotWidth=this._width;this.legend.setOptions(this.options.legend);for(var i=0;i<$.jqplot.postParseOptionsHooks.length;i++){$.jqplot.postParseOptionsHooks[i].call(this,options)}for(var i=0;i<this.postParseOptionsHooks.hooks.length;i++){this.postParseOptionsHooks.hooks[i].call(this,options)}};this.destroy=function(){this.canvasManager.freeAllCanvases();if(this.eventCanvas&&this.eventCanvas._elem){this.eventCanvas._elem.unbind()}this.target.empty();this.target[0].innerHTML=""};this.replot=function(options){var opts=options||{};var data=opts.data||null;var clear=opts.clear===false?false:true;var resetAxes=opts.resetAxes||false;delete opts.data;delete opts.clear;delete opts.resetAxes;this.target.trigger("jqplotPreReplot");if(clear){this.destroy()}if(data||!$.isEmptyObject(opts)){this.reInitialize(data,opts)}else{this.quickInit()}if(resetAxes){this.resetAxesScale(resetAxes,opts.axes)}this.draw();this.target.trigger("jqplotPostReplot")};this.redraw=function(clear){clear=clear!=null?clear:true;this.target.trigger("jqplotPreRedraw");if(clear){this.canvasManager.freeAllCanvases();this.eventCanvas._elem.unbind();this.target.empty()}for(var ax in this.axes){this.axes[ax]._ticks=[]}this.computePlotData();this._sumy=0;this._sumx=0;for(var i=0,tsl=this.series.length;i<tsl;i++){this._sumy+=this.series[i]._sumy;this._sumx+=this.series[i]._sumx}this.draw();this.target.trigger("jqplotPostRedraw")};this.draw=function(){if(this.drawIfHidden||this.target.is(":visible")){this.target.trigger("jqplotPreDraw");var i,j,l,tempseries;for(i=0,l=$.jqplot.preDrawHooks.length;i<l;i++){$.jqplot.preDrawHooks[i].call(this)}for(i=0,l=this.preDrawHooks.hooks.length;i<l;i++){this.preDrawHooks.hooks[i].apply(this,this.preDrawSeriesHooks.args[i])}this.target.append(this.baseCanvas.createElement({left:0,right:0,top:0,bottom:0},"jqplot-base-canvas",null,this));this.baseCanvas.setContext();this.target.append(this.title.draw());this.title.pack({top:0,left:0});var legendElem=this.legend.draw({},this);var gridPadding={top:0,left:0,bottom:0,right:0};if(this.legend.placement=="outsideGrid"){this.target.append(legendElem);switch(this.legend.location){case"n":gridPadding.top+=this.legend.getHeight();break;case"s":gridPadding.bottom+=this.legend.getHeight();break;case"ne":case"e":case"se":gridPadding.right+=this.legend.getWidth();break;case"nw":case"w":case"sw":gridPadding.left+=this.legend.getWidth();break;default:gridPadding.right+=this.legend.getWidth();break}legendElem=legendElem.detach()}var ax=this.axes;var name;for(i=0;i<12;i++){name=_axisNames[i];this.target.append(ax[name].draw(this.baseCanvas._ctx,this));ax[name].set()}if(ax.yaxis.show){gridPadding.left+=ax.yaxis.getWidth()}var ra=["y2axis","y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis"];var rapad=[0,0,0,0,0,0,0,0];var gpr=0;var n;for(n=0;n<8;n++){if(ax[ra[n]].show){gpr+=ax[ra[n]].getWidth();rapad[n]=gpr}}gridPadding.right+=gpr;if(ax.x2axis.show){gridPadding.top+=ax.x2axis.getHeight()}if(this.title.show){gridPadding.top+=this.title.getHeight()}if(ax.xaxis.show){gridPadding.bottom+=ax.xaxis.getHeight()}if(this.options.gridDimensions&&$.isPlainObject(this.options.gridDimensions)){var gdw=parseInt(this.options.gridDimensions.width,10)||0;var gdh=parseInt(this.options.gridDimensions.height,10)||0;var widthAdj=(this._width-gridPadding.left-gridPadding.right-gdw)/2;var heightAdj=(this._height-gridPadding.top-gridPadding.bottom-gdh)/2;if(heightAdj>=0&&widthAdj>=0){gridPadding.top+=heightAdj;gridPadding.bottom+=heightAdj;gridPadding.left+=widthAdj;gridPadding.right+=widthAdj}}var arr=["top","bottom","left","right"];for(var n in arr){if(this._gridPadding[arr[n]]==null&&gridPadding[arr[n]]>0){this._gridPadding[arr[n]]=gridPadding[arr[n]]}else if(this._gridPadding[arr[n]]==null){this._gridPadding[arr[n]]=this._defaultGridPadding[arr[n]]}}var legendPadding=this._gridPadding;if(this.legend.placement==="outsideGrid"){legendPadding={top:this.title.getHeight(),left:0,right:0,bottom:0};if(this.legend.location==="s"){legendPadding.left=this._gridPadding.left;legendPadding.right=this._gridPadding.right}}ax.xaxis.pack({position:"absolute",bottom:this._gridPadding.bottom-ax.xaxis.getHeight(),left:0,width:this._width},{min:this._gridPadding.left,max:this._width-this._gridPadding.right});ax.yaxis.pack({position:"absolute",top:0,left:this._gridPadding.left-ax.yaxis.getWidth(),height:this._height},{min:this._height-this._gridPadding.bottom,max:this._gridPadding.top});ax.x2axis.pack({position:"absolute",top:this._gridPadding.top-ax.x2axis.getHeight(),left:0,width:this._width},{min:this._gridPadding.left,max:this._width-this._gridPadding.right});for(i=8;i>0;i--){ax[ra[i-1]].pack({position:"absolute",top:0,right:this._gridPadding.right-rapad[i-1]},{min:this._height-this._gridPadding.bottom,max:this._gridPadding.top})}var ltemp=(this._width-this._gridPadding.left-this._gridPadding.right)/2+this._gridPadding.left-ax.yMidAxis.getWidth()/2;ax.yMidAxis.pack({position:"absolute",top:0,left:ltemp,zIndex:9,textAlign:"center"},{min:this._height-this._gridPadding.bottom,max:this._gridPadding.top});this.target.append(this.grid.createElement(this._gridPadding,this));this.grid.draw();var series=this.series;var seriesLength=series.length;for(i=0,l=seriesLength;i<l;i++){j=this.seriesStack[i];this.target.append(series[j].shadowCanvas.createElement(this._gridPadding,"jqplot-series-shadowCanvas",null,this));series[j].shadowCanvas.setContext();series[j].shadowCanvas._elem.data("seriesIndex",j)}for(i=0,l=seriesLength;i<l;i++){j=this.seriesStack[i];this.target.append(series[j].canvas.createElement(this._gridPadding,"jqplot-series-canvas",null,this));series[j].canvas.setContext();series[j].canvas._elem.data("seriesIndex",j)}this.target.append(this.eventCanvas.createElement(this._gridPadding,"jqplot-event-canvas",null,this));this.eventCanvas.setContext();this.eventCanvas._ctx.fillStyle="rgba(0,0,0,0)";this.eventCanvas._ctx.fillRect(0,0,this.eventCanvas._ctx.canvas.width,this.eventCanvas._ctx.canvas.height);this.bindCustomEvents();if(this.legend.preDraw){this.eventCanvas._elem.before(legendElem);this.legend.pack(legendPadding);if(this.legend._elem){this.drawSeries({legendInfo:{location:this.legend.location,placement:this.legend.placement,width:this.legend.getWidth(),height:this.legend.getHeight(),xoffset:this.legend.xoffset,yoffset:this.legend.yoffset}})}else{this.drawSeries()}}else{this.drawSeries();if(seriesLength){$(series[seriesLength-1].canvas._elem).after(legendElem)}this.legend.pack(legendPadding)}for(var i=0,l=$.jqplot.eventListenerHooks.length;i<l;i++){this.eventCanvas._elem.bind($.jqplot.eventListenerHooks[i][0],{plot:this},$.jqplot.eventListenerHooks[i][1])}for(var i=0,l=this.eventListenerHooks.hooks.length;i<l;i++){this.eventCanvas._elem.bind(this.eventListenerHooks.hooks[i][0],{plot:this},this.eventListenerHooks.hooks[i][1])}var fb=this.fillBetween;if(fb.fill&&fb.series1!==fb.series2&&fb.series1<seriesLength&&fb.series2<seriesLength&&series[fb.series1]._type==="line"&&series[fb.series2]._type==="line"){this.doFillBetweenLines()}for(var i=0,l=$.jqplot.postDrawHooks.length;i<l;i++){$.jqplot.postDrawHooks[i].call(this)}for(var i=0,l=this.postDrawHooks.hooks.length;i<l;i++){this.postDrawHooks.hooks[i].apply(this,this.postDrawHooks.args[i])}if(this.target.is(":visible")){this._drawCount+=1}var temps,tempr,sel,_els;for(i=0,l=seriesLength;i<l;i++){temps=series[i];tempr=temps.renderer;sel=".jqplot-point-label.jqplot-series-"+i;if(tempr.animation&&tempr.animation._supported&&tempr.animation.show&&(this._drawCount<2||this.animateReplot)){_els=this.target.find(sel);_els.stop(true,true).hide();temps.canvas._elem.stop(true,true).hide();temps.shadowCanvas._elem.stop(true,true).hide();temps.canvas._elem.jqplotEffect("blind",{mode:"show",direction:tempr.animation.direction},tempr.animation.speed);temps.shadowCanvas._elem.jqplotEffect("blind",{mode:"show",direction:tempr.animation.direction},tempr.animation.speed);_els.fadeIn(tempr.animation.speed*.8)}}_els=null;this.target.trigger("jqplotPostDraw",[this])}};jqPlot.prototype.doFillBetweenLines=function(){var fb=this.fillBetween;var sid1=fb.series1;var sid2=fb.series2;var id1=sid1<sid2?sid1:sid2;var id2=sid2>sid1?sid2:sid1;var series1=this.series[id1];var series2=this.series[id2];if(series2.renderer.smooth){var tempgd=series2.renderer._smoothedData.slice(0).reverse()}else{var tempgd=series2.gridData.slice(0).reverse()}if(series1.renderer.smooth){var gd=series1.renderer._smoothedData.concat(tempgd)}else{var gd=series1.gridData.concat(tempgd)}var color=fb.color!==null?fb.color:this.series[sid1].fillColor;var baseSeries=fb.baseSeries!==null?fb.baseSeries:id1;var sr=this.series[baseSeries].renderer.shapeRenderer;var opts={fillStyle:color,fill:true,closePath:true};sr.draw(series1.shadowCanvas._ctx,gd,opts)};this.bindCustomEvents=function(){this.eventCanvas._elem.bind("click",{plot:this},this.onClick);this.eventCanvas._elem.bind("dblclick",{plot:this},this.onDblClick);this.eventCanvas._elem.bind("mousedown",{plot:this},this.onMouseDown);this.eventCanvas._elem.bind("mousemove",{plot:this},this.onMouseMove);this.eventCanvas._elem.bind("mouseenter",{plot:this},this.onMouseEnter);this.eventCanvas._elem.bind("mouseleave",{plot:this},this.onMouseLeave);if(this.captureRightClick){this.eventCanvas._elem.bind("mouseup",{plot:this},this.onRightClick);this.eventCanvas._elem.get(0).oncontextmenu=function(){return false}}else{this.eventCanvas._elem.bind("mouseup",{plot:this},this.onMouseUp)}};function getEventPosition(ev){var plot=ev.data.plot;var go=plot.eventCanvas._elem.offset();var gridPos={x:ev.pageX-go.left,y:ev.pageY-go.top};var dataPos={xaxis:null,yaxis:null,x2axis:null,y2axis:null,y3axis:null,y4axis:null,y5axis:null,y6axis:null,y7axis:null,y8axis:null,y9axis:null,yMidAxis:null};var an=["xaxis","yaxis","x2axis","y2axis","y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis","yMidAxis"];var ax=plot.axes;var n,axis;for(n=11;n>0;n--){axis=an[n-1];if(ax[axis].show){dataPos[axis]=ax[axis].series_p2u(gridPos[axis.charAt(0)])}}return{offsets:go,gridPos:gridPos,dataPos:dataPos}}function checkIntersection(gridpos,plot){var series=plot.series;var i,j,k,s,r,x,y,theta,sm,sa,minang,maxang;var d0,d,p,pp,points,bw,hp;var threshold,t;for(k=plot.seriesStack.length-1;k>=0;k--){i=plot.seriesStack[k];s=series[i];hp=s._highlightThreshold;switch(s.renderer.constructor){case $.jqplot.BarRenderer:x=gridpos.x;y=gridpos.y;for(j=0;j<s._barPoints.length;j++){points=s._barPoints[j];p=s.gridData[j];if(x>points[0][0]&&x<points[2][0]&&y>points[2][1]&&y<points[0][1]){return{seriesIndex:s.index,pointIndex:j,gridData:p,data:s.data[j],points:s._barPoints[j]}}}break;case $.jqplot.PyramidRenderer:x=gridpos.x;y=gridpos.y;for(j=0;j<s._barPoints.length;j++){points=s._barPoints[j];p=s.gridData[j];if(x>points[0][0]+hp[0][0]&&x<points[2][0]+hp[2][0]&&y>points[2][1]&&y<points[0][1]){return{seriesIndex:s.index,pointIndex:j,gridData:p,data:s.data[j],points:s._barPoints[j]}}}break;case $.jqplot.DonutRenderer:sa=s.startAngle/180*Math.PI;x=gridpos.x-s._center[0];y=gridpos.y-s._center[1];r=Math.sqrt(Math.pow(x,2)+Math.pow(y,2));if(x>0&&-y>=0){theta=2*Math.PI-Math.atan(-y/x)}else if(x>0&&-y<0){theta=-Math.atan(-y/x)}else if(x<0){theta=Math.PI-Math.atan(-y/x)}else if(x==0&&-y>0){theta=3*Math.PI/2}else if(x==0&&-y<0){theta=Math.PI/2}else if(x==0&&y==0){theta=0}if(sa){theta-=sa;if(theta<0){theta+=2*Math.PI}else if(theta>2*Math.PI){theta-=2*Math.PI}}sm=s.sliceMargin/180*Math.PI;if(r<s._radius&&r>s._innerRadius){for(j=0;j<s.gridData.length;j++){minang=j>0?s.gridData[j-1][1]+sm:sm;maxang=s.gridData[j][1];if(theta>minang&&theta<maxang){return{seriesIndex:s.index,pointIndex:j,gridData:[gridpos.x,gridpos.y],data:s.data[j]}}}}break;case $.jqplot.PieRenderer:sa=s.startAngle/180*Math.PI;x=gridpos.x-s._center[0];y=gridpos.y-s._center[1];r=Math.sqrt(Math.pow(x,2)+Math.pow(y,2));if(x>0&&-y>=0){theta=2*Math.PI-Math.atan(-y/x)}else if(x>0&&-y<0){theta=-Math.atan(-y/x)}else if(x<0){theta=Math.PI-Math.atan(-y/x)}else if(x==0&&-y>0){theta=3*Math.PI/2}else if(x==0&&-y<0){theta=Math.PI/2}else if(x==0&&y==0){theta=0}if(sa){theta-=sa;if(theta<0){theta+=2*Math.PI}else if(theta>2*Math.PI){theta-=2*Math.PI}}sm=s.sliceMargin/180*Math.PI;if(r<s._radius){for(j=0;j<s.gridData.length;j++){minang=j>0?s.gridData[j-1][1]+sm:sm;maxang=s.gridData[j][1];if(theta>minang&&theta<maxang){return{seriesIndex:s.index,pointIndex:j,gridData:[gridpos.x,gridpos.y],data:s.data[j]}}}}break;case $.jqplot.BubbleRenderer:x=gridpos.x;y=gridpos.y;var ret=null;if(s.show){for(var j=0;j<s.gridData.length;j++){p=s.gridData[j];d=Math.sqrt((x-p[0])*(x-p[0])+(y-p[1])*(y-p[1]));if(d<=p[2]&&(d<=d0||d0==null)){d0=d;ret={seriesIndex:i,pointIndex:j,gridData:p,data:s.data[j]}}}if(ret!=null){return ret}}break;case $.jqplot.FunnelRenderer:x=gridpos.x;y=gridpos.y;var v=s._vertices,vfirst=v[0],vlast=v[v.length-1],lex,rex,cv;function findedge(l,p1,p2){var m=(p1[1]-p2[1])/(p1[0]-p2[0]);var b=p1[1]-m*p1[0];var y=l+p1[1];return[(y-b)/m,y]}lex=findedge(y,vfirst[0],vlast[3]);rex=findedge(y,vfirst[1],vlast[2]);for(j=0;j<v.length;j++){cv=v[j];if(y>=cv[0][1]&&y<=cv[3][1]&&x>=lex[0]&&x<=rex[0]){return{seriesIndex:s.index,pointIndex:j,gridData:null,data:s.data[j]}}}break;case $.jqplot.LineRenderer:x=gridpos.x;y=gridpos.y;r=s.renderer;if(s.show){if((s.fill||s.renderer.bands.show&&s.renderer.bands.fill)&&(!plot.plugins.highlighter||!plot.plugins.highlighter.show)){var inside=false;if(x>s._boundingBox[0][0]&&x<s._boundingBox[1][0]&&y>s._boundingBox[1][1]&&y<s._boundingBox[0][1]){var numPoints=s._areaPoints.length;var ii;var j=numPoints-1;for(var ii=0;ii<numPoints;ii++){var vertex1=[s._areaPoints[ii][0],s._areaPoints[ii][1]];var vertex2=[s._areaPoints[j][0],s._areaPoints[j][1]];if(vertex1[1]<y&&vertex2[1]>=y||vertex2[1]<y&&vertex1[1]>=y){if(vertex1[0]+(y-vertex1[1])/(vertex2[1]-vertex1[1])*(vertex2[0]-vertex1[0])<x){inside=!inside}}j=ii}}if(inside){return{seriesIndex:i,pointIndex:null,gridData:s.gridData,data:s.data,points:s._areaPoints}}break}else{t=s.markerRenderer.size/2+s.neighborThreshold;threshold=t>0?t:0;for(var j=0;j<s.gridData.length;j++){p=s.gridData[j];if(r.constructor==$.jqplot.OHLCRenderer){if(r.candleStick){var yp=s._yaxis.series_u2p;if(x>=p[0]-r._bodyWidth/2&&x<=p[0]+r._bodyWidth/2&&y>=yp(s.data[j][2])&&y<=yp(s.data[j][3])){return{seriesIndex:i,pointIndex:j,gridData:p,data:s.data[j]}}}else if(!r.hlc){var yp=s._yaxis.series_u2p;if(x>=p[0]-r._tickLength&&x<=p[0]+r._tickLength&&y>=yp(s.data[j][2])&&y<=yp(s.data[j][3])){return{seriesIndex:i,pointIndex:j,gridData:p,data:s.data[j]}}}else{var yp=s._yaxis.series_u2p;if(x>=p[0]-r._tickLength&&x<=p[0]+r._tickLength&&y>=yp(s.data[j][1])&&y<=yp(s.data[j][2])){return{seriesIndex:i,pointIndex:j,gridData:p,data:s.data[j]}}}}else if(p[0]!=null&&p[1]!=null){d=Math.sqrt((x-p[0])*(x-p[0])+(y-p[1])*(y-p[1]));if(d<=threshold&&(d<=d0||d0==null)){d0=d;return{seriesIndex:i,pointIndex:j,gridData:p,data:s.data[j]}}}}}}break;default:x=gridpos.x;y=gridpos.y;r=s.renderer;if(s.show){t=s.markerRenderer.size/2+s.neighborThreshold;threshold=t>0?t:0;for(var j=0;j<s.gridData.length;j++){p=s.gridData[j];if(r.constructor==$.jqplot.OHLCRenderer){if(r.candleStick){var yp=s._yaxis.series_u2p;if(x>=p[0]-r._bodyWidth/2&&x<=p[0]+r._bodyWidth/2&&y>=yp(s.data[j][2])&&y<=yp(s.data[j][3])){return{seriesIndex:i,pointIndex:j,gridData:p,data:s.data[j]}}}else if(!r.hlc){var yp=s._yaxis.series_u2p;if(x>=p[0]-r._tickLength&&x<=p[0]+r._tickLength&&y>=yp(s.data[j][2])&&y<=yp(s.data[j][3])){return{seriesIndex:i,pointIndex:j,gridData:p,data:s.data[j]}}}else{var yp=s._yaxis.series_u2p;if(x>=p[0]-r._tickLength&&x<=p[0]+r._tickLength&&y>=yp(s.data[j][1])&&y<=yp(s.data[j][2])){return{seriesIndex:i,pointIndex:j,gridData:p,data:s.data[j]}}}}else{d=Math.sqrt((x-p[0])*(x-p[0])+(y-p[1])*(y-p[1]));if(d<=threshold&&(d<=d0||d0==null)){d0=d;return{seriesIndex:i,pointIndex:j,gridData:p,data:s.data[j]}}}}}break}}return null}this.onClick=function(ev){var positions=getEventPosition(ev);var p=ev.data.plot;var neighbor=checkIntersection(positions.gridPos,p);var evt=$.Event("jqplotClick");evt.pageX=ev.pageX;evt.pageY=ev.pageY;$(this).trigger(evt,[positions.gridPos,positions.dataPos,neighbor,p])};this.onDblClick=function(ev){var positions=getEventPosition(ev);var p=ev.data.plot;var neighbor=checkIntersection(positions.gridPos,p);var evt=$.Event("jqplotDblClick");evt.pageX=ev.pageX;evt.pageY=ev.pageY;$(this).trigger(evt,[positions.gridPos,positions.dataPos,neighbor,p])};this.onMouseDown=function(ev){var positions=getEventPosition(ev);var p=ev.data.plot;var neighbor=checkIntersection(positions.gridPos,p);var evt=$.Event("jqplotMouseDown");evt.pageX=ev.pageX;evt.pageY=ev.pageY;$(this).trigger(evt,[positions.gridPos,positions.dataPos,neighbor,p])};this.onMouseUp=function(ev){var positions=getEventPosition(ev);var evt=$.Event("jqplotMouseUp");evt.pageX=ev.pageX;evt.pageY=ev.pageY;$(this).trigger(evt,[positions.gridPos,positions.dataPos,null,ev.data.plot])};this.onRightClick=function(ev){var positions=getEventPosition(ev);var p=ev.data.plot;var neighbor=checkIntersection(positions.gridPos,p);if(p.captureRightClick){if(ev.which==3){var evt=$.Event("jqplotRightClick");evt.pageX=ev.pageX;evt.pageY=ev.pageY;$(this).trigger(evt,[positions.gridPos,positions.dataPos,neighbor,p])}else{var evt=$.Event("jqplotMouseUp");evt.pageX=ev.pageX;evt.pageY=ev.pageY;$(this).trigger(evt,[positions.gridPos,positions.dataPos,neighbor,p])}}};this.onMouseMove=function(ev){var positions=getEventPosition(ev);var p=ev.data.plot;var neighbor=checkIntersection(positions.gridPos,p);var evt=$.Event("jqplotMouseMove");evt.pageX=ev.pageX;evt.pageY=ev.pageY;$(this).trigger(evt,[positions.gridPos,positions.dataPos,neighbor,p])};this.onMouseEnter=function(ev){var positions=getEventPosition(ev);var p=ev.data.plot;var evt=$.Event("jqplotMouseEnter");evt.pageX=ev.pageX;evt.pageY=ev.pageY;evt.relatedTarget=ev.relatedTarget;$(this).trigger(evt,[positions.gridPos,positions.dataPos,null,p])
};this.onMouseLeave=function(ev){var positions=getEventPosition(ev);var p=ev.data.plot;var evt=$.Event("jqplotMouseLeave");evt.pageX=ev.pageX;evt.pageY=ev.pageY;evt.relatedTarget=ev.relatedTarget;$(this).trigger(evt,[positions.gridPos,positions.dataPos,null,p])};this.drawSeries=function(options,idx){var i,series,ctx;idx=typeof options==="number"&&idx==null?options:idx;options=typeof options==="object"?options:{};if(idx!=undefined){series=this.series[idx];ctx=series.shadowCanvas._ctx;ctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height);series.drawShadow(ctx,options,this);ctx=series.canvas._ctx;ctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height);series.draw(ctx,options,this);if(series.renderer.constructor==$.jqplot.BezierCurveRenderer){if(idx<this.series.length-1){this.drawSeries(idx+1)}}}else{for(i=0;i<this.series.length;i++){series=this.series[i];ctx=series.shadowCanvas._ctx;ctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height);series.drawShadow(ctx,options,this);ctx=series.canvas._ctx;ctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height);series.draw(ctx,options,this)}}options=idx=i=series=ctx=null};this.moveSeriesToFront=function(idx){idx=parseInt(idx,10);var stackIndex=$.inArray(idx,this.seriesStack);if(stackIndex==-1){return}if(stackIndex==this.seriesStack.length-1){this.previousSeriesStack=this.seriesStack.slice(0);return}var opidx=this.seriesStack[this.seriesStack.length-1];var serelem=this.series[idx].canvas._elem.detach();var shadelem=this.series[idx].shadowCanvas._elem.detach();this.series[opidx].shadowCanvas._elem.after(shadelem);this.series[opidx].canvas._elem.after(serelem);this.previousSeriesStack=this.seriesStack.slice(0);this.seriesStack.splice(stackIndex,1);this.seriesStack.push(idx)};this.moveSeriesToBack=function(idx){idx=parseInt(idx,10);var stackIndex=$.inArray(idx,this.seriesStack);if(stackIndex==0||stackIndex==-1){return}var opidx=this.seriesStack[0];var serelem=this.series[idx].canvas._elem.detach();var shadelem=this.series[idx].shadowCanvas._elem.detach();this.series[opidx].shadowCanvas._elem.before(shadelem);this.series[opidx].canvas._elem.before(serelem);this.previousSeriesStack=this.seriesStack.slice(0);this.seriesStack.splice(stackIndex,1);this.seriesStack.unshift(idx)};this.restorePreviousSeriesOrder=function(){var i,j,serelem,shadelem,temp,move,keep;if(this.seriesStack==this.previousSeriesStack){return}for(i=1;i<this.previousSeriesStack.length;i++){move=this.previousSeriesStack[i];keep=this.previousSeriesStack[i-1];serelem=this.series[move].canvas._elem.detach();shadelem=this.series[move].shadowCanvas._elem.detach();this.series[keep].shadowCanvas._elem.after(shadelem);this.series[keep].canvas._elem.after(serelem)}temp=this.seriesStack.slice(0);this.seriesStack=this.previousSeriesStack.slice(0);this.previousSeriesStack=temp};this.restoreOriginalSeriesOrder=function(){var i,j,arr=[],serelem,shadelem;for(i=0;i<this.series.length;i++){arr.push(i)}if(this.seriesStack==arr){return}this.previousSeriesStack=this.seriesStack.slice(0);this.seriesStack=arr;for(i=1;i<this.seriesStack.length;i++){serelem=this.series[i].canvas._elem.detach();shadelem=this.series[i].shadowCanvas._elem.detach();this.series[i-1].shadowCanvas._elem.after(shadelem);this.series[i-1].canvas._elem.after(serelem)}};this.activateTheme=function(name){this.themeEngine.activate(this,name)}}$.jqplot.computeHighlightColors=function(colors){var ret;if($.isArray(colors)){ret=[];for(var i=0;i<colors.length;i++){var rgba=$.jqplot.getColorComponents(colors[i]);var newrgb=[rgba[0],rgba[1],rgba[2]];var sum=newrgb[0]+newrgb[1]+newrgb[2];for(var j=0;j<3;j++){newrgb[j]=sum>660?newrgb[j]*.85:.73*newrgb[j]+90;newrgb[j]=parseInt(newrgb[j],10);newrgb[j]>255?255:newrgb[j]}newrgb[3]=.3+.35*rgba[3];ret.push("rgba("+newrgb[0]+","+newrgb[1]+","+newrgb[2]+","+newrgb[3]+")")}}else{var rgba=$.jqplot.getColorComponents(colors);var newrgb=[rgba[0],rgba[1],rgba[2]];var sum=newrgb[0]+newrgb[1]+newrgb[2];for(var j=0;j<3;j++){newrgb[j]=sum>660?newrgb[j]*.85:.73*newrgb[j]+90;newrgb[j]=parseInt(newrgb[j],10);newrgb[j]>255?255:newrgb[j]}newrgb[3]=.3+.35*rgba[3];ret="rgba("+newrgb[0]+","+newrgb[1]+","+newrgb[2]+","+newrgb[3]+")"}return ret};$.jqplot.ColorGenerator=function(colors){colors=colors||$.jqplot.config.defaultColors;var idx=0;this.next=function(){if(idx<colors.length){return colors[idx++]}else{idx=0;return colors[idx++]}};this.previous=function(){if(idx>0){return colors[idx--]}else{idx=colors.length-1;return colors[idx]}};this.get=function(i){var idx=i-colors.length*Math.floor(i/colors.length);return colors[idx]};this.setColors=function(c){colors=c};this.reset=function(){idx=0};this.getIndex=function(){return idx};this.setIndex=function(index){idx=index}};$.jqplot.hex2rgb=function(h,a){h=h.replace("#","");if(h.length==3){h=h.charAt(0)+h.charAt(0)+h.charAt(1)+h.charAt(1)+h.charAt(2)+h.charAt(2)}var rgb;rgb="rgba("+parseInt(h.slice(0,2),16)+", "+parseInt(h.slice(2,4),16)+", "+parseInt(h.slice(4,6),16);if(a){rgb+=", "+a}rgb+=")";return rgb};$.jqplot.rgb2hex=function(s){var pat=/rgba?\( *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *(?:, *[0-9.]*)?\)/;var m=s.match(pat);var h="#";for(var i=1;i<4;i++){var temp;if(m[i].search(/%/)!=-1){temp=parseInt(255*m[i]/100,10).toString(16);if(temp.length==1){temp="0"+temp}}else{temp=parseInt(m[i],10).toString(16);if(temp.length==1){temp="0"+temp}}h+=temp}return h};$.jqplot.normalize2rgb=function(s,a){if(s.search(/^ *rgba?\(/)!=-1){return s}else if(s.search(/^ *#?[0-9a-fA-F]?[0-9a-fA-F]/)!=-1){return $.jqplot.hex2rgb(s,a)}else{throw new Error("Invalid color spec")}};$.jqplot.getColorComponents=function(s){s=$.jqplot.colorKeywordMap[s]||s;var rgb=$.jqplot.normalize2rgb(s);var pat=/rgba?\( *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *, *([0-9]{1,3}\.?[0-9]*%?) *,? *([0-9.]* *)?\)/;var m=rgb.match(pat);var ret=[];for(var i=1;i<4;i++){if(m[i].search(/%/)!=-1){ret[i-1]=parseInt(255*m[i]/100,10)}else{ret[i-1]=parseInt(m[i],10)}}ret[3]=parseFloat(m[4])?parseFloat(m[4]):1;return ret};$.jqplot.colorKeywordMap={aliceblue:"rgb(240, 248, 255)",antiquewhite:"rgb(250, 235, 215)",aqua:"rgb( 0, 255, 255)",aquamarine:"rgb(127, 255, 212)",azure:"rgb(240, 255, 255)",beige:"rgb(245, 245, 220)",bisque:"rgb(255, 228, 196)",black:"rgb( 0, 0, 0)",blanchedalmond:"rgb(255, 235, 205)",blue:"rgb( 0, 0, 255)",blueviolet:"rgb(138, 43, 226)",brown:"rgb(165, 42, 42)",burlywood:"rgb(222, 184, 135)",cadetblue:"rgb( 95, 158, 160)",chartreuse:"rgb(127, 255, 0)",chocolate:"rgb(210, 105, 30)",coral:"rgb(255, 127, 80)",cornflowerblue:"rgb(100, 149, 237)",cornsilk:"rgb(255, 248, 220)",crimson:"rgb(220, 20, 60)",cyan:"rgb( 0, 255, 255)",darkblue:"rgb( 0, 0, 139)",darkcyan:"rgb( 0, 139, 139)",darkgoldenrod:"rgb(184, 134, 11)",darkgray:"rgb(169, 169, 169)",darkgreen:"rgb( 0, 100, 0)",darkgrey:"rgb(169, 169, 169)",darkkhaki:"rgb(189, 183, 107)",darkmagenta:"rgb(139, 0, 139)",darkolivegreen:"rgb( 85, 107, 47)",darkorange:"rgb(255, 140, 0)",darkorchid:"rgb(153, 50, 204)",darkred:"rgb(139, 0, 0)",darksalmon:"rgb(233, 150, 122)",darkseagreen:"rgb(143, 188, 143)",darkslateblue:"rgb( 72, 61, 139)",darkslategray:"rgb( 47, 79, 79)",darkslategrey:"rgb( 47, 79, 79)",darkturquoise:"rgb( 0, 206, 209)",darkviolet:"rgb(148, 0, 211)",deeppink:"rgb(255, 20, 147)",deepskyblue:"rgb( 0, 191, 255)",dimgray:"rgb(105, 105, 105)",dimgrey:"rgb(105, 105, 105)",dodgerblue:"rgb( 30, 144, 255)",firebrick:"rgb(178, 34, 34)",floralwhite:"rgb(255, 250, 240)",forestgreen:"rgb( 34, 139, 34)",fuchsia:"rgb(255, 0, 255)",gainsboro:"rgb(220, 220, 220)",ghostwhite:"rgb(248, 248, 255)",gold:"rgb(255, 215, 0)",goldenrod:"rgb(218, 165, 32)",gray:"rgb(128, 128, 128)",grey:"rgb(128, 128, 128)",green:"rgb( 0, 128, 0)",greenyellow:"rgb(173, 255, 47)",honeydew:"rgb(240, 255, 240)",hotpink:"rgb(255, 105, 180)",indianred:"rgb(205, 92, 92)",indigo:"rgb( 75, 0, 130)",ivory:"rgb(255, 255, 240)",khaki:"rgb(240, 230, 140)",lavender:"rgb(230, 230, 250)",lavenderblush:"rgb(255, 240, 245)",lawngreen:"rgb(124, 252, 0)",lemonchiffon:"rgb(255, 250, 205)",lightblue:"rgb(173, 216, 230)",lightcoral:"rgb(240, 128, 128)",lightcyan:"rgb(224, 255, 255)",lightgoldenrodyellow:"rgb(250, 250, 210)",lightgray:"rgb(211, 211, 211)",lightgreen:"rgb(144, 238, 144)",lightgrey:"rgb(211, 211, 211)",lightpink:"rgb(255, 182, 193)",lightsalmon:"rgb(255, 160, 122)",lightseagreen:"rgb( 32, 178, 170)",lightskyblue:"rgb(135, 206, 250)",lightslategray:"rgb(119, 136, 153)",lightslategrey:"rgb(119, 136, 153)",lightsteelblue:"rgb(176, 196, 222)",lightyellow:"rgb(255, 255, 224)",lime:"rgb( 0, 255, 0)",limegreen:"rgb( 50, 205, 50)",linen:"rgb(250, 240, 230)",magenta:"rgb(255, 0, 255)",maroon:"rgb(128, 0, 0)",mediumaquamarine:"rgb(102, 205, 170)",mediumblue:"rgb( 0, 0, 205)",mediumorchid:"rgb(186, 85, 211)",mediumpurple:"rgb(147, 112, 219)",mediumseagreen:"rgb( 60, 179, 113)",mediumslateblue:"rgb(123, 104, 238)",mediumspringgreen:"rgb( 0, 250, 154)",mediumturquoise:"rgb( 72, 209, 204)",mediumvioletred:"rgb(199, 21, 133)",midnightblue:"rgb( 25, 25, 112)",mintcream:"rgb(245, 255, 250)",mistyrose:"rgb(255, 228, 225)",moccasin:"rgb(255, 228, 181)",navajowhite:"rgb(255, 222, 173)",navy:"rgb( 0, 0, 128)",oldlace:"rgb(253, 245, 230)",olive:"rgb(128, 128, 0)",olivedrab:"rgb(107, 142, 35)",orange:"rgb(255, 165, 0)",orangered:"rgb(255, 69, 0)",orchid:"rgb(218, 112, 214)",palegoldenrod:"rgb(238, 232, 170)",palegreen:"rgb(152, 251, 152)",paleturquoise:"rgb(175, 238, 238)",palevioletred:"rgb(219, 112, 147)",papayawhip:"rgb(255, 239, 213)",peachpuff:"rgb(255, 218, 185)",peru:"rgb(205, 133, 63)",pink:"rgb(255, 192, 203)",plum:"rgb(221, 160, 221)",powderblue:"rgb(176, 224, 230)",purple:"rgb(128, 0, 128)",red:"rgb(255, 0, 0)",rosybrown:"rgb(188, 143, 143)",royalblue:"rgb( 65, 105, 225)",saddlebrown:"rgb(139, 69, 19)",salmon:"rgb(250, 128, 114)",sandybrown:"rgb(244, 164, 96)",seagreen:"rgb( 46, 139, 87)",seashell:"rgb(255, 245, 238)",sienna:"rgb(160, 82, 45)",silver:"rgb(192, 192, 192)",skyblue:"rgb(135, 206, 235)",slateblue:"rgb(106, 90, 205)",slategray:"rgb(112, 128, 144)",slategrey:"rgb(112, 128, 144)",snow:"rgb(255, 250, 250)",springgreen:"rgb( 0, 255, 127)",steelblue:"rgb( 70, 130, 180)",tan:"rgb(210, 180, 140)",teal:"rgb( 0, 128, 128)",thistle:"rgb(216, 191, 216)",tomato:"rgb(255, 99, 71)",turquoise:"rgb( 64, 224, 208)",violet:"rgb(238, 130, 238)",wheat:"rgb(245, 222, 179)",white:"rgb(255, 255, 255)",whitesmoke:"rgb(245, 245, 245)",yellow:"rgb(255, 255, 0)",yellowgreen:"rgb(154, 205, 50)"};$.jqplot.AxisLabelRenderer=function(options){$.jqplot.ElemContainer.call(this);this.axis;this.show=true;this.label="";this.fontFamily=null;this.fontSize=null;this.textColor=null;this._elem;this.escapeHTML=false;$.extend(true,this,options)};$.jqplot.AxisLabelRenderer.prototype=new $.jqplot.ElemContainer;$.jqplot.AxisLabelRenderer.prototype.constructor=$.jqplot.AxisLabelRenderer;$.jqplot.AxisLabelRenderer.prototype.init=function(options){$.extend(true,this,options)};$.jqplot.AxisLabelRenderer.prototype.draw=function(ctx,plot){if(this._elem){this._elem.emptyForce();this._elem=null}this._elem=$('<div style="position:absolute;" class="jqplot-'+this.axis+'-label"></div>');if(Number(this.label)){this._elem.css("white-space","nowrap")}if(!this.escapeHTML){this._elem.html(this.label)}else{this._elem.text(this.label)}if(this.fontFamily){this._elem.css("font-family",this.fontFamily)}if(this.fontSize){this._elem.css("font-size",this.fontSize)}if(this.textColor){this._elem.css("color",this.textColor)}return this._elem};$.jqplot.AxisLabelRenderer.prototype.pack=function(){};$.jqplot.AxisTickRenderer=function(options){$.jqplot.ElemContainer.call(this);this.mark="outside";this.axis;this.showMark=true;this.showGridline=true;this.isMinorTick=false;this.size=4;this.markSize=6;this.show=true;this.showLabel=true;this.label=null;this.value=null;this._styles={};this.formatter=$.jqplot.DefaultTickFormatter;this.prefix="";this.suffix="";this.formatString="";this.fontFamily;this.fontSize;this.textColor;this.escapeHTML=false;this._elem;this._breakTick=false;$.extend(true,this,options)};$.jqplot.AxisTickRenderer.prototype.init=function(options){$.extend(true,this,options)};$.jqplot.AxisTickRenderer.prototype=new $.jqplot.ElemContainer;$.jqplot.AxisTickRenderer.prototype.constructor=$.jqplot.AxisTickRenderer;$.jqplot.AxisTickRenderer.prototype.setTick=function(value,axisName,isMinor){this.value=value;this.axis=axisName;if(isMinor){this.isMinorTick=true}return this};$.jqplot.AxisTickRenderer.prototype.draw=function(){if(this.label===null){this.label=this.prefix+this.formatter(this.formatString,this.value)+this.suffix}var style={position:"absolute"};if(Number(this.label)){style["whitSpace"]="nowrap"}if(this._elem){this._elem.emptyForce();this._elem=null}this._elem=$(document.createElement("div"));this._elem.addClass("jqplot-"+this.axis+"-tick");if(!this.escapeHTML){this._elem.html(this.label)}else{this._elem.text(this.label)}this._elem.css(style);for(var s in this._styles){this._elem.css(s,this._styles[s])}if(this.fontFamily){this._elem.css("font-family",this.fontFamily)}if(this.fontSize){this._elem.css("font-size",this.fontSize)}if(this.textColor){this._elem.css("color",this.textColor)}if(this._breakTick){this._elem.addClass("jqplot-breakTick")}return this._elem};$.jqplot.DefaultTickFormatter=function(format,val){if(typeof val=="number"){if(!format){format=$.jqplot.config.defaultTickFormatString}return $.jqplot.sprintf(format,val)}else{return String(val)}};$.jqplot.PercentTickFormatter=function(format,val){if(typeof val=="number"){val=100*val;if(!format){format=$.jqplot.config.defaultTickFormatString}return $.jqplot.sprintf(format,val)}else{return String(val)}};$.jqplot.AxisTickRenderer.prototype.pack=function(){};$.jqplot.CanvasGridRenderer=function(){this.shadowRenderer=new $.jqplot.ShadowRenderer};$.jqplot.CanvasGridRenderer.prototype.init=function(options){this._ctx;$.extend(true,this,options);var sopts={lineJoin:"miter",lineCap:"round",fill:false,isarc:false,angle:this.shadowAngle,offset:this.shadowOffset,alpha:this.shadowAlpha,depth:this.shadowDepth,lineWidth:this.shadowWidth,closePath:false,strokeStyle:this.shadowColor};this.renderer.shadowRenderer.init(sopts)};$.jqplot.CanvasGridRenderer.prototype.createElement=function(plot){var elem;if(this._elem){if($.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==undefined){elem=this._elem.get(0);window.G_vmlCanvasManager.uninitElement(elem);elem=null}this._elem.emptyForce();this._elem=null}elem=plot.canvasManager.getCanvas();var w=this._plotDimensions.width;var h=this._plotDimensions.height;elem.width=w;elem.height=h;this._elem=$(elem);this._elem.addClass("jqplot-grid-canvas");this._elem.css({position:"absolute",left:0,top:0});elem=plot.canvasManager.initCanvas(elem);this._top=this._offsets.top;this._bottom=h-this._offsets.bottom;this._left=this._offsets.left;this._right=w-this._offsets.right;this._width=this._right-this._left;this._height=this._bottom-this._top;elem=null;return this._elem};$.jqplot.CanvasGridRenderer.prototype.draw=function(){this._ctx=this._elem.get(0).getContext("2d");var ctx=this._ctx;var axes=this._axes;ctx.save();ctx.clearRect(0,0,this._plotDimensions.width,this._plotDimensions.height);ctx.fillStyle=this.backgroundColor||this.background;ctx.fillRect(this._left,this._top,this._width,this._height);ctx.save();ctx.lineJoin="miter";ctx.lineCap="butt";ctx.lineWidth=this.gridLineWidth;ctx.strokeStyle=this.gridLineColor;var b,e,s,m;var ax=["xaxis","yaxis","x2axis","y2axis"];for(var i=4;i>0;i--){var name=ax[i-1];var axis=axes[name];var ticks=axis._ticks;var numticks=ticks.length;if(axis.show){if(axis.drawBaseline){var bopts={};if(axis.baselineWidth!==null){bopts.lineWidth=axis.baselineWidth}if(axis.baselineColor!==null){bopts.strokeStyle=axis.baselineColor}switch(name){case"xaxis":drawLine(this._left,this._bottom,this._right,this._bottom,bopts);break;case"yaxis":drawLine(this._left,this._bottom,this._left,this._top,bopts);break;case"x2axis":drawLine(this._left,this._bottom,this._right,this._bottom,bopts);break;case"y2axis":drawLine(this._right,this._bottom,this._right,this._top,bopts);break}}for(var j=numticks;j>0;j--){var t=ticks[j-1];if(t.show){var pos=Math.round(axis.u2p(t.value))+.5;switch(name){case"xaxis":if(t.showGridline&&this.drawGridlines&&(!t.isMinorTick&&axis.drawMajorGridlines||t.isMinorTick&&axis.drawMinorGridlines)){drawLine(pos,this._top,pos,this._bottom)}if(t.showMark&&t.mark&&(!t.isMinorTick&&axis.drawMajorTickMarks||t.isMinorTick&&axis.drawMinorTickMarks)){s=t.markSize;m=t.mark;var pos=Math.round(axis.u2p(t.value))+.5;switch(m){case"outside":b=this._bottom;e=this._bottom+s;break;case"inside":b=this._bottom-s;e=this._bottom;break;case"cross":b=this._bottom-s;e=this._bottom+s;break;default:b=this._bottom;e=this._bottom+s;break}if(this.shadow){this.renderer.shadowRenderer.draw(ctx,[[pos,b],[pos,e]],{lineCap:"butt",lineWidth:this.gridLineWidth,offset:this.gridLineWidth*.75,depth:2,fill:false,closePath:false})}drawLine(pos,b,pos,e)}break;case"yaxis":if(t.showGridline&&this.drawGridlines&&(!t.isMinorTick&&axis.drawMajorGridlines||t.isMinorTick&&axis.drawMinorGridlines)){drawLine(this._right,pos,this._left,pos)}if(t.showMark&&t.mark&&(!t.isMinorTick&&axis.drawMajorTickMarks||t.isMinorTick&&axis.drawMinorTickMarks)){s=t.markSize;m=t.mark;var pos=Math.round(axis.u2p(t.value))+.5;switch(m){case"outside":b=this._left-s;e=this._left;break;case"inside":b=this._left;e=this._left+s;break;case"cross":b=this._left-s;e=this._left+s;break;default:b=this._left-s;e=this._left;break}if(this.shadow){this.renderer.shadowRenderer.draw(ctx,[[b,pos],[e,pos]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*.75,fill:false,closePath:false})}drawLine(b,pos,e,pos,{strokeStyle:axis.borderColor})}break;case"x2axis":if(t.showGridline&&this.drawGridlines&&(!t.isMinorTick&&axis.drawMajorGridlines||t.isMinorTick&&axis.drawMinorGridlines)){drawLine(pos,this._bottom,pos,this._top)}if(t.showMark&&t.mark&&(!t.isMinorTick&&axis.drawMajorTickMarks||t.isMinorTick&&axis.drawMinorTickMarks)){s=t.markSize;m=t.mark;var pos=Math.round(axis.u2p(t.value))+.5;switch(m){case"outside":b=this._top-s;e=this._top;break;case"inside":b=this._top;e=this._top+s;break;case"cross":b=this._top-s;e=this._top+s;break;default:b=this._top-s;e=this._top;break}if(this.shadow){this.renderer.shadowRenderer.draw(ctx,[[pos,b],[pos,e]],{lineCap:"butt",lineWidth:this.gridLineWidth,offset:this.gridLineWidth*.75,depth:2,fill:false,closePath:false})}drawLine(pos,b,pos,e)}break;case"y2axis":if(t.showGridline&&this.drawGridlines&&(!t.isMinorTick&&axis.drawMajorGridlines||t.isMinorTick&&axis.drawMinorGridlines)){drawLine(this._left,pos,this._right,pos)}if(t.showMark&&t.mark&&(!t.isMinorTick&&axis.drawMajorTickMarks||t.isMinorTick&&axis.drawMinorTickMarks)){s=t.markSize;m=t.mark;var pos=Math.round(axis.u2p(t.value))+.5;switch(m){case"outside":b=this._right;e=this._right+s;break;case"inside":b=this._right-s;e=this._right;break;case"cross":b=this._right-s;e=this._right+s;break;default:b=this._right;e=this._right+s;break}if(this.shadow){this.renderer.shadowRenderer.draw(ctx,[[b,pos],[e,pos]],{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*.75,fill:false,closePath:false})}drawLine(b,pos,e,pos,{strokeStyle:axis.borderColor})}break;default:break}}}t=null}axis=null;ticks=null}ax=["y3axis","y4axis","y5axis","y6axis","y7axis","y8axis","y9axis","yMidAxis"];for(var i=7;i>0;i--){var axis=axes[ax[i-1]];var ticks=axis._ticks;if(axis.show){var tn=ticks[axis.numberTicks-1];var t0=ticks[0];var left=axis.getLeft();var points=[[left,tn.getTop()+tn.getHeight()/2],[left,t0.getTop()+t0.getHeight()/2+1]];if(this.shadow){this.renderer.shadowRenderer.draw(ctx,points,{lineCap:"butt",fill:false,closePath:false})}drawLine(points[0][0],points[0][1],points[1][0],points[1][1],{lineCap:"butt",strokeStyle:axis.borderColor,lineWidth:axis.borderWidth});for(var j=ticks.length;j>0;j--){var t=ticks[j-1];s=t.markSize;m=t.mark;var pos=Math.round(axis.u2p(t.value))+.5;if(t.showMark&&t.mark){switch(m){case"outside":b=left;e=left+s;break;case"inside":b=left-s;e=left;break;case"cross":b=left-s;e=left+s;break;default:b=left;e=left+s;break}points=[[b,pos],[e,pos]];if(this.shadow){this.renderer.shadowRenderer.draw(ctx,points,{lineCap:"butt",lineWidth:this.gridLineWidth*1.5,offset:this.gridLineWidth*.75,fill:false,closePath:false})}drawLine(b,pos,e,pos,{strokeStyle:axis.borderColor})}t=null}t0=null}axis=null;ticks=null}ctx.restore();function drawLine(bx,by,ex,ey,opts){ctx.save();opts=opts||{};if(opts.lineWidth==null||opts.lineWidth!=0){$.extend(true,ctx,opts);ctx.beginPath();ctx.moveTo(bx,by);ctx.lineTo(ex,ey);ctx.stroke();ctx.restore()}}if(this.shadow){var points=[[this._left,this._bottom],[this._right,this._bottom],[this._right,this._top]];this.renderer.shadowRenderer.draw(ctx,points)}if(this.borderWidth!=0&&this.drawBorder){drawLine(this._left,this._top,this._right,this._top,{lineCap:"round",strokeStyle:axes.x2axis.borderColor,lineWidth:axes.x2axis.borderWidth});drawLine(this._right,this._top,this._right,this._bottom,{lineCap:"round",strokeStyle:axes.y2axis.borderColor,lineWidth:axes.y2axis.borderWidth});drawLine(this._right,this._bottom,this._left,this._bottom,{lineCap:"round",strokeStyle:axes.xaxis.borderColor,lineWidth:axes.xaxis.borderWidth});drawLine(this._left,this._bottom,this._left,this._top,{lineCap:"round",strokeStyle:axes.yaxis.borderColor,lineWidth:axes.yaxis.borderWidth})}ctx.restore();ctx=null;axes=null};$.jqplot.DivTitleRenderer=function(){};$.jqplot.DivTitleRenderer.prototype.init=function(options){$.extend(true,this,options)};$.jqplot.DivTitleRenderer.prototype.draw=function(){if(this._elem){this._elem.emptyForce();this._elem=null}var r=this.renderer;var elem=document.createElement("div");this._elem=$(elem);this._elem.addClass("jqplot-title");if(!this.text){this.show=false;this._elem.height(0);this._elem.width(0)}else if(this.text){var color;if(this.color){color=this.color}else if(this.textColor){color=this.textColor}var styles={position:"absolute",top:"0px",left:"0px"};if(this._plotWidth){styles["width"]=this._plotWidth+"px"}if(this.fontSize){styles["fontSize"]=this.fontSize}if(typeof this.textAlign==="string"){styles["textAlign"]=this.textAlign}else{styles["textAlign"]="center"}if(color){styles["color"]=color}if(this.paddingBottom){styles["paddingBottom"]=this.paddingBottom}if(this.fontFamily){styles["fontFamily"]=this.fontFamily}this._elem.css(styles);if(this.escapeHtml){this._elem.text(this.text)}else{this._elem.html(this.text)}}elem=null;return this._elem};$.jqplot.DivTitleRenderer.prototype.pack=function(){};var dotlen=.1;$.jqplot.LinePattern=function(ctx,pattern){var defaultLinePatterns={dotted:[dotlen,$.jqplot.config.dotGapLength],dashed:[$.jqplot.config.dashLength,$.jqplot.config.gapLength],solid:null};if(typeof pattern==="string"){if(pattern[0]==="."||pattern[0]==="-"){var s=pattern;pattern=[];for(var i=0,imax=s.length;i<imax;i++){if(s[i]==="."){pattern.push(dotlen)}else if(s[i]==="-"){pattern.push($.jqplot.config.dashLength)}else{continue}pattern.push($.jqplot.config.gapLength)}}else{pattern=defaultLinePatterns[pattern]}}if(!(pattern&&pattern.length)){return ctx}var patternIndex=0;var patternDistance=pattern[0];var px=0;var py=0;var pathx0=0;var pathy0=0;var moveTo=function(x,y){ctx.moveTo(x,y);px=x;py=y;pathx0=x;pathy0=y};var lineTo=function(x,y){var scale=ctx.lineWidth;var dx=x-px;var dy=y-py;var dist=Math.sqrt(dx*dx+dy*dy);if(dist>0&&scale>0){dx/=dist;dy/=dist;while(true){var dp=scale*patternDistance;if(dp<dist){px+=dp*dx;py+=dp*dy;if((patternIndex&1)==0){ctx.lineTo(px,py)}else{ctx.moveTo(px,py)}dist-=dp;patternIndex++;if(patternIndex>=pattern.length){patternIndex=0}patternDistance=pattern[patternIndex]}else{px=x;py=y;if((patternIndex&1)==0){ctx.lineTo(px,py)}else{ctx.moveTo(px,py)}patternDistance-=dist/scale;break}}}};var beginPath=function(){ctx.beginPath()};var closePath=function(){lineTo(pathx0,pathy0)};return{moveTo:moveTo,lineTo:lineTo,beginPath:beginPath,closePath:closePath}};$.jqplot.LineRenderer=function(){this.shapeRenderer=new $.jqplot.ShapeRenderer;this.shadowRenderer=new $.jqplot.ShadowRenderer};$.jqplot.LineRenderer.prototype.init=function(options,plot){options=options||{};this._type="line";this.renderer.animation={show:false,direction:"left",speed:2500,_supported:true};this.renderer.smooth=false;this.renderer.tension=null;this.renderer.constrainSmoothing=true;this.renderer._smoothedData=[];this.renderer._smoothedPlotData=[];this.renderer._hiBandGridData=[];this.renderer._lowBandGridData=[];this.renderer._hiBandSmoothedData=[];this.renderer._lowBandSmoothedData=[];this.renderer.bandData=[];this.renderer.bands={show:false,hiData:[],lowData:[],color:this.color,showLines:false,fill:true,fillColor:null,_min:null,_max:null,interval:"3%"};var lopts={highlightMouseOver:options.highlightMouseOver,highlightMouseDown:options.highlightMouseDown,highlightColor:options.highlightColor};delete options.highlightMouseOver;delete options.highlightMouseDown;delete options.highlightColor;$.extend(true,this.renderer,options);this.renderer.options=options;if(this.renderer.bandData.length>1&&(!options.bands||options.bands.show==null)){this.renderer.bands.show=true}else if(options.bands&&options.bands.show==null&&options.bands.interval!=null){this.renderer.bands.show=true}if(this.fill){this.renderer.bands.show=false}if(this.renderer.bands.show){this.renderer.initBands.call(this,this.renderer.options,plot)}if(this._stack){this.renderer.smooth=false}var opts={lineJoin:this.lineJoin,lineCap:this.lineCap,fill:this.fill,isarc:false,strokeStyle:this.color,fillStyle:this.fillColor,lineWidth:this.lineWidth,linePattern:this.linePattern,closePath:this.fill};this.renderer.shapeRenderer.init(opts);var shadow_offset=options.shadowOffset;if(shadow_offset==null){if(this.lineWidth>2.5){shadow_offset=1.25*(1+(Math.atan(this.lineWidth/2.5)/.785398163-1)*.6)}else{shadow_offset=1.25*Math.atan(this.lineWidth/2.5)/.785398163}}var sopts={lineJoin:this.lineJoin,lineCap:this.lineCap,fill:this.fill,isarc:false,angle:this.shadowAngle,offset:shadow_offset,alpha:this.shadowAlpha,depth:this.shadowDepth,lineWidth:this.lineWidth,linePattern:this.linePattern,closePath:this.fill};this.renderer.shadowRenderer.init(sopts);this._areaPoints=[];this._boundingBox=[[],[]];if(!this.isTrendline&&this.fill||this.renderer.bands.show){this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColor=null;if(lopts.highlightMouseDown&&lopts.highlightMouseOver==null){lopts.highlightMouseOver=false}$.extend(true,this,{highlightMouseOver:lopts.highlightMouseOver,highlightMouseDown:lopts.highlightMouseDown,highlightColor:lopts.highlightColor});if(!this.highlightColor){var fc=this.renderer.bands.show?this.renderer.bands.fillColor:this.fillColor;this.highlightColor=$.jqplot.computeHighlightColors(fc)}if(this.highlighter){this.highlighter.show=false}}if(!this.isTrendline&&plot){plot.plugins.lineRenderer={};plot.postInitHooks.addOnce(postInit);plot.postDrawHooks.addOnce(postPlotDraw);plot.eventListenerHooks.addOnce("jqplotMouseMove",handleMove);plot.eventListenerHooks.addOnce("jqplotMouseDown",handleMouseDown);plot.eventListenerHooks.addOnce("jqplotMouseUp",handleMouseUp);plot.eventListenerHooks.addOnce("jqplotClick",handleClick);plot.eventListenerHooks.addOnce("jqplotRightClick",handleRightClick)}};$.jqplot.LineRenderer.prototype.initBands=function(options,plot){var bd=options.bandData||[];var bands=this.renderer.bands;bands.hiData=[];bands.lowData=[];var data=this.data;bands._max=null;bands._min=null;if(bd.length==2){if($.isArray(bd[0][0])){var p;var bdminidx=0,bdmaxidx=0;for(var i=0,l=bd[0].length;i<l;i++){p=bd[0][i];if(p[1]!=null&&p[1]>bands._max||bands._max==null){bands._max=p[1]}if(p[1]!=null&&p[1]<bands._min||bands._min==null){bands._min=p[1]}}for(var i=0,l=bd[1].length;i<l;i++){p=bd[1][i];if(p[1]!=null&&p[1]>bands._max||bands._max==null){bands._max=p[1];bdmaxidx=1}if(p[1]!=null&&p[1]<bands._min||bands._min==null){bands._min=p[1];bdminidx=1}}if(bdmaxidx===bdminidx){bands.show=false}bands.hiData=bd[bdmaxidx];bands.lowData=bd[bdminidx]}else if(bd[0].length===data.length&&bd[1].length===data.length){var hi=bd[0][0]>bd[1][0]?0:1;var low=hi?0:1;for(var i=0,l=data.length;i<l;i++){bands.hiData.push([data[i][0],bd[hi][i]]);bands.lowData.push([data[i][0],bd[low][i]])}}else{bands.show=false}}else if(bd.length>2&&!$.isArray(bd[0][0])){var hi=bd[0][0]>bd[0][1]?0:1;var low=hi?0:1;for(var i=0,l=bd.length;i<l;i++){bands.hiData.push([data[i][0],bd[i][hi]]);bands.lowData.push([data[i][0],bd[i][low]])}}else{var intrv=bands.interval;var a=null;var b=null;var afunc=null;var bfunc=null;if($.isArray(intrv)){a=intrv[0];b=intrv[1]}else{a=intrv}if(isNaN(a)){if(a.charAt(a.length-1)==="%"){afunc="multiply";a=parseFloat(a)/100+1}}else{a=parseFloat(a);afunc="add"}if(b!==null&&isNaN(b)){if(b.charAt(b.length-1)==="%"){bfunc="multiply";b=parseFloat(b)/100+1}}else if(b!==null){b=parseFloat(b);bfunc="add"}if(a!==null){if(b===null){b=-a;bfunc=afunc;if(bfunc==="multiply"){b+=2}}if(a<b){var temp=a;a=b;b=temp;temp=afunc;afunc=bfunc;bfunc=temp}for(var i=0,l=data.length;i<l;i++){switch(afunc){case"add":bands.hiData.push([data[i][0],data[i][1]+a]);break;case"multiply":bands.hiData.push([data[i][0],data[i][1]*a]);break}switch(bfunc){case"add":bands.lowData.push([data[i][0],data[i][1]+b]);break;case"multiply":bands.lowData.push([data[i][0],data[i][1]*b]);break}}}else{bands.show=false}}var hd=bands.hiData;var ld=bands.lowData;for(var i=0,l=hd.length;i<l;i++){if(hd[i][1]!=null&&hd[i][1]>bands._max||bands._max==null){bands._max=hd[i][1]}}for(var i=0,l=ld.length;i<l;i++){if(ld[i][1]!=null&&ld[i][1]<bands._min||bands._min==null){bands._min=ld[i][1]}}if(bands.fillColor===null){var c=$.jqplot.getColorComponents(bands.color);c[3]=c[3]*.5;bands.fillColor="rgba("+c[0]+", "+c[1]+", "+c[2]+", "+c[3]+")"}};function getSteps(d,f){return(3.4182054+f)*Math.pow(d,-.3534992)}function computeSteps(d1,d2){var s=Math.sqrt(Math.pow(d2[0]-d1[0],2)+Math.pow(d2[1]-d1[1],2));return 5.7648*Math.log(s)+7.4456}function tanh(x){var a=(Math.exp(2*x)-1)/(Math.exp(2*x)+1);return a}function computeConstrainedSmoothedData(gd){var smooth=this.renderer.smooth;var dim=this.canvas.getWidth();var xp=this._xaxis.series_p2u;var yp=this._yaxis.series_p2u;var steps=null;var _steps=null;var dist=gd.length/dim;var _smoothedData=[];var _smoothedPlotData=[];if(!isNaN(parseFloat(smooth))){steps=parseFloat(smooth)}else{steps=getSteps(dist,.5)}var yy=[];var xx=[];for(var i=0,l=gd.length;i<l;i++){yy.push(gd[i][1]);xx.push(gd[i][0])}function dxx(x1,x0){if(x1-x0==0){return Math.pow(10,10)}else{return x1-x0}}var A,B,C,D;var nmax=gd.length-1;for(var num=1,gdl=gd.length;num<gdl;num++){var gxx=[];var ggxx=[];for(var j=0;j<2;j++){var i=num-1+j;if(i==0||i==nmax){gxx[j]=Math.pow(10,10)}else if(yy[i+1]-yy[i]==0||yy[i]-yy[i-1]==0){gxx[j]=0}else if((xx[i+1]-xx[i])/(yy[i+1]-yy[i])+(xx[i]-xx[i-1])/(yy[i]-yy[i-1])==0){gxx[j]=0}else if((yy[i+1]-yy[i])*(yy[i]-yy[i-1])<0){gxx[j]=0}else{gxx[j]=2/(dxx(xx[i+1],xx[i])/(yy[i+1]-yy[i])+dxx(xx[i],xx[i-1])/(yy[i]-yy[i-1]))}}if(num==1){gxx[0]=3/2*(yy[1]-yy[0])/dxx(xx[1],xx[0])-gxx[1]/2}else if(num==nmax){gxx[1]=3/2*(yy[nmax]-yy[nmax-1])/dxx(xx[nmax],xx[nmax-1])-gxx[0]/2}ggxx[0]=-2*(gxx[1]+2*gxx[0])/dxx(xx[num],xx[num-1])+6*(yy[num]-yy[num-1])/Math.pow(dxx(xx[num],xx[num-1]),2);ggxx[1]=2*(2*gxx[1]+gxx[0])/dxx(xx[num],xx[num-1])-6*(yy[num]-yy[num-1])/Math.pow(dxx(xx[num],xx[num-1]),2);D=1/6*(ggxx[1]-ggxx[0])/dxx(xx[num],xx[num-1]);C=1/2*(xx[num]*ggxx[0]-xx[num-1]*ggxx[1])/dxx(xx[num],xx[num-1]);B=(yy[num]-yy[num-1]-C*(Math.pow(xx[num],2)-Math.pow(xx[num-1],2))-D*(Math.pow(xx[num],3)-Math.pow(xx[num-1],3)))/dxx(xx[num],xx[num-1]);A=yy[num-1]-B*xx[num-1]-C*Math.pow(xx[num-1],2)-D*Math.pow(xx[num-1],3);var increment=(xx[num]-xx[num-1])/steps;var temp,tempx;for(var j=0,l=steps;j<l;j++){temp=[];tempx=xx[num-1]+j*increment;temp.push(tempx);temp.push(A+B*tempx+C*Math.pow(tempx,2)+D*Math.pow(tempx,3));
_smoothedData.push(temp);_smoothedPlotData.push([xp(temp[0]),yp(temp[1])])}}_smoothedData.push(gd[i]);_smoothedPlotData.push([xp(gd[i][0]),yp(gd[i][1])]);return[_smoothedData,_smoothedPlotData]}function computeHermiteSmoothedData(gd){var smooth=this.renderer.smooth;var tension=this.renderer.tension;var dim=this.canvas.getWidth();var xp=this._xaxis.series_p2u;var yp=this._yaxis.series_p2u;var steps=null;var _steps=null;var a=null;var a1=null;var a2=null;var slope=null;var slope2=null;var temp=null;var t,s,h1,h2,h3,h4;var TiX,TiY,Ti1X,Ti1Y;var pX,pY,p;var sd=[];var spd=[];var dist=gd.length/dim;var min,max,stretch,scale,shift;var _smoothedData=[];var _smoothedPlotData=[];if(!isNaN(parseFloat(smooth))){steps=parseFloat(smooth)}else{steps=getSteps(dist,.5)}if(!isNaN(parseFloat(tension))){tension=parseFloat(tension)}for(var i=0,l=gd.length-1;i<l;i++){if(tension===null){slope=Math.abs((gd[i+1][1]-gd[i][1])/(gd[i+1][0]-gd[i][0]));min=.3;max=.6;stretch=(max-min)/2;scale=2.5;shift=-1.4;temp=slope/scale+shift;a1=stretch*tanh(temp)-stretch*tanh(shift)+min;if(i>0){slope2=Math.abs((gd[i][1]-gd[i-1][1])/(gd[i][0]-gd[i-1][0]))}temp=slope2/scale+shift;a2=stretch*tanh(temp)-stretch*tanh(shift)+min;a=(a1+a2)/2}else{a=tension}for(t=0;t<steps;t++){s=t/steps;h1=(1+2*s)*Math.pow(1-s,2);h2=s*Math.pow(1-s,2);h3=Math.pow(s,2)*(3-2*s);h4=Math.pow(s,2)*(s-1);if(gd[i-1]){TiX=a*(gd[i+1][0]-gd[i-1][0]);TiY=a*(gd[i+1][1]-gd[i-1][1])}else{TiX=a*(gd[i+1][0]-gd[i][0]);TiY=a*(gd[i+1][1]-gd[i][1])}if(gd[i+2]){Ti1X=a*(gd[i+2][0]-gd[i][0]);Ti1Y=a*(gd[i+2][1]-gd[i][1])}else{Ti1X=a*(gd[i+1][0]-gd[i][0]);Ti1Y=a*(gd[i+1][1]-gd[i][1])}pX=h1*gd[i][0]+h3*gd[i+1][0]+h2*TiX+h4*Ti1X;pY=h1*gd[i][1]+h3*gd[i+1][1]+h2*TiY+h4*Ti1Y;p=[pX,pY];_smoothedData.push(p);_smoothedPlotData.push([xp(pX),yp(pY)])}}_smoothedData.push(gd[l]);_smoothedPlotData.push([xp(gd[l][0]),yp(gd[l][1])]);return[_smoothedData,_smoothedPlotData]}$.jqplot.LineRenderer.prototype.setGridData=function(plot){var xp=this._xaxis.series_u2p;var yp=this._yaxis.series_u2p;var data=this._plotData;var pdata=this._prevPlotData;this.gridData=[];this._prevGridData=[];this.renderer._smoothedData=[];this.renderer._smoothedPlotData=[];this.renderer._hiBandGridData=[];this.renderer._lowBandGridData=[];this.renderer._hiBandSmoothedData=[];this.renderer._lowBandSmoothedData=[];var bands=this.renderer.bands;var hasNull=false;for(var i=0,l=data.length;i<l;i++){if(data[i][0]!=null&&data[i][1]!=null){this.gridData.push([xp.call(this._xaxis,data[i][0]),yp.call(this._yaxis,data[i][1])])}else if(data[i][0]==null){hasNull=true;this.gridData.push([null,yp.call(this._yaxis,data[i][1])])}else if(data[i][1]==null){hasNull=true;this.gridData.push([xp.call(this._xaxis,data[i][0]),null])}if(pdata[i]!=null&&pdata[i][0]!=null&&pdata[i][1]!=null){this._prevGridData.push([xp.call(this._xaxis,pdata[i][0]),yp.call(this._yaxis,pdata[i][1])])}else if(pdata[i]!=null&&pdata[i][0]==null){this._prevGridData.push([null,yp.call(this._yaxis,pdata[i][1])])}else if(pdata[i]!=null&&pdata[i][0]!=null&&pdata[i][1]==null){this._prevGridData.push([xp.call(this._xaxis,pdata[i][0]),null])}}if(hasNull){this.renderer.smooth=false;if(this._type==="line"){bands.show=false}}if(this._type==="line"&&bands.show){for(var i=0,l=bands.hiData.length;i<l;i++){this.renderer._hiBandGridData.push([xp.call(this._xaxis,bands.hiData[i][0]),yp.call(this._yaxis,bands.hiData[i][1])])}for(var i=0,l=bands.lowData.length;i<l;i++){this.renderer._lowBandGridData.push([xp.call(this._xaxis,bands.lowData[i][0]),yp.call(this._yaxis,bands.lowData[i][1])])}}if(this._type==="line"&&this.renderer.smooth&&this.gridData.length>2){var ret;if(this.renderer.constrainSmoothing){ret=computeConstrainedSmoothedData.call(this,this.gridData);this.renderer._smoothedData=ret[0];this.renderer._smoothedPlotData=ret[1];if(bands.show){ret=computeConstrainedSmoothedData.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=ret[0];ret=computeConstrainedSmoothedData.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=ret[0]}ret=null}else{ret=computeHermiteSmoothedData.call(this,this.gridData);this.renderer._smoothedData=ret[0];this.renderer._smoothedPlotData=ret[1];if(bands.show){ret=computeHermiteSmoothedData.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=ret[0];ret=computeHermiteSmoothedData.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=ret[0]}ret=null}}};$.jqplot.LineRenderer.prototype.makeGridData=function(data,plot){var xp=this._xaxis.series_u2p;var yp=this._yaxis.series_u2p;var gd=[];var pgd=[];this.renderer._smoothedData=[];this.renderer._smoothedPlotData=[];this.renderer._hiBandGridData=[];this.renderer._lowBandGridData=[];this.renderer._hiBandSmoothedData=[];this.renderer._lowBandSmoothedData=[];var bands=this.renderer.bands;var hasNull=false;for(var i=0;i<data.length;i++){if(data[i][0]!=null&&data[i][1]!=null){gd.push([xp.call(this._xaxis,data[i][0]),yp.call(this._yaxis,data[i][1])])}else if(data[i][0]==null){hasNull=true;gd.push([null,yp.call(this._yaxis,data[i][1])])}else if(data[i][1]==null){hasNull=true;gd.push([xp.call(this._xaxis,data[i][0]),null])}}if(hasNull){this.renderer.smooth=false;if(this._type==="line"){bands.show=false}}if(this._type==="line"&&bands.show){for(var i=0,l=bands.hiData.length;i<l;i++){this.renderer._hiBandGridData.push([xp.call(this._xaxis,bands.hiData[i][0]),yp.call(this._yaxis,bands.hiData[i][1])])}for(var i=0,l=bands.lowData.length;i<l;i++){this.renderer._lowBandGridData.push([xp.call(this._xaxis,bands.lowData[i][0]),yp.call(this._yaxis,bands.lowData[i][1])])}}if(this._type==="line"&&this.renderer.smooth&&gd.length>2){var ret;if(this.renderer.constrainSmoothing){ret=computeConstrainedSmoothedData.call(this,gd);this.renderer._smoothedData=ret[0];this.renderer._smoothedPlotData=ret[1];if(bands.show){ret=computeConstrainedSmoothedData.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=ret[0];ret=computeConstrainedSmoothedData.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=ret[0]}ret=null}else{ret=computeHermiteSmoothedData.call(this,gd);this.renderer._smoothedData=ret[0];this.renderer._smoothedPlotData=ret[1];if(bands.show){ret=computeHermiteSmoothedData.call(this,this.renderer._hiBandGridData);this.renderer._hiBandSmoothedData=ret[0];ret=computeHermiteSmoothedData.call(this,this.renderer._lowBandGridData);this.renderer._lowBandSmoothedData=ret[0]}ret=null}}return gd};$.jqplot.LineRenderer.prototype.draw=function(ctx,gd,options,plot){var i;var opts=$.extend(true,{},options);var shadow=opts.shadow!=undefined?opts.shadow:this.shadow;var showLine=opts.showLine!=undefined?opts.showLine:this.showLine;var fill=opts.fill!=undefined?opts.fill:this.fill;var fillAndStroke=opts.fillAndStroke!=undefined?opts.fillAndStroke:this.fillAndStroke;var xmin,ymin,xmax,ymax;ctx.save();if(gd.length){if(showLine){if(fill){if(this.fillToZero){var negativeColor=this.negativeColor;if(!this.useNegativeColors){negativeColor=opts.fillStyle}var isnegative=false;var posfs=opts.fillStyle;if(fillAndStroke){var fasgd=gd.slice(0)}if(this.index==0||!this._stack){var tempgd=[];var pd=this.renderer.smooth?this.renderer._smoothedPlotData:this._plotData;this._areaPoints=[];var pyzero=this._yaxis.series_u2p(this.fillToValue);var pxzero=this._xaxis.series_u2p(this.fillToValue);opts.closePath=true;if(this.fillAxis=="y"){tempgd.push([gd[0][0],pyzero]);this._areaPoints.push([gd[0][0],pyzero]);for(var i=0;i<gd.length-1;i++){tempgd.push(gd[i]);this._areaPoints.push(gd[i]);if(pd[i][1]*pd[i+1][1]<=0){if(pd[i][1]<0){isnegative=true;opts.fillStyle=negativeColor}else{isnegative=false;opts.fillStyle=posfs}var xintercept=gd[i][0]+(gd[i+1][0]-gd[i][0])*(pyzero-gd[i][1])/(gd[i+1][1]-gd[i][1]);tempgd.push([xintercept,pyzero]);this._areaPoints.push([xintercept,pyzero]);if(shadow){this.renderer.shadowRenderer.draw(ctx,tempgd,opts)}this.renderer.shapeRenderer.draw(ctx,tempgd,opts);tempgd=[[xintercept,pyzero]]}}if(pd[gd.length-1][1]<0){isnegative=true;opts.fillStyle=negativeColor}else{isnegative=false;opts.fillStyle=posfs}tempgd.push(gd[gd.length-1]);this._areaPoints.push(gd[gd.length-1]);tempgd.push([gd[gd.length-1][0],pyzero]);this._areaPoints.push([gd[gd.length-1][0],pyzero])}if(shadow){this.renderer.shadowRenderer.draw(ctx,tempgd,opts)}this.renderer.shapeRenderer.draw(ctx,tempgd,opts)}else{var prev=this._prevGridData;for(var i=prev.length;i>0;i--){gd.push(prev[i-1])}if(shadow){this.renderer.shadowRenderer.draw(ctx,gd,opts)}this._areaPoints=gd;this.renderer.shapeRenderer.draw(ctx,gd,opts)}}else{if(fillAndStroke){var fasgd=gd.slice(0)}if(this.index==0||!this._stack){var gridymin=ctx.canvas.height;gd.unshift([gd[0][0],gridymin]);var len=gd.length;gd.push([gd[len-1][0],gridymin])}else{var prev=this._prevGridData;for(var i=prev.length;i>0;i--){gd.push(prev[i-1])}}this._areaPoints=gd;if(shadow){this.renderer.shadowRenderer.draw(ctx,gd,opts)}this.renderer.shapeRenderer.draw(ctx,gd,opts)}if(fillAndStroke){var fasopts=$.extend(true,{},opts,{fill:false,closePath:false});this.renderer.shapeRenderer.draw(ctx,fasgd,fasopts);if(this.markerRenderer.show){if(this.renderer.smooth){fasgd=this.gridData}for(i=0;i<fasgd.length;i++){this.markerRenderer.draw(fasgd[i][0],fasgd[i][1],ctx,opts.markerOptions)}}}}else{if(this.renderer.bands.show){var bdat;var bopts=$.extend(true,{},opts);if(this.renderer.bands.showLines){bdat=this.renderer.smooth?this.renderer._hiBandSmoothedData:this.renderer._hiBandGridData;this.renderer.shapeRenderer.draw(ctx,bdat,opts);bdat=this.renderer.smooth?this.renderer._lowBandSmoothedData:this.renderer._lowBandGridData;this.renderer.shapeRenderer.draw(ctx,bdat,bopts)}if(this.renderer.bands.fill){if(this.renderer.smooth){bdat=this.renderer._hiBandSmoothedData.concat(this.renderer._lowBandSmoothedData.reverse())}else{bdat=this.renderer._hiBandGridData.concat(this.renderer._lowBandGridData.reverse())}this._areaPoints=bdat;bopts.closePath=true;bopts.fill=true;bopts.fillStyle=this.renderer.bands.fillColor;this.renderer.shapeRenderer.draw(ctx,bdat,bopts)}}if(shadow){this.renderer.shadowRenderer.draw(ctx,gd,opts)}this.renderer.shapeRenderer.draw(ctx,gd,opts)}}var xmin=xmax=ymin=ymax=null;for(i=0;i<this._areaPoints.length;i++){var p=this._areaPoints[i];if(xmin>p[0]||xmin==null){xmin=p[0]}if(ymax<p[1]||ymax==null){ymax=p[1]}if(xmax<p[0]||xmax==null){xmax=p[0]}if(ymin>p[1]||ymin==null){ymin=p[1]}}if(this.type==="line"&&this.renderer.bands.show){ymax=this._yaxis.series_u2p(this.renderer.bands._min);ymin=this._yaxis.series_u2p(this.renderer.bands._max)}this._boundingBox=[[xmin,ymax],[xmax,ymin]];if(this.markerRenderer.show&&!fill){if(this.renderer.smooth){gd=this.gridData}for(i=0;i<gd.length;i++){if(gd[i][0]!=null&&gd[i][1]!=null){this.markerRenderer.draw(gd[i][0],gd[i][1],ctx,opts.markerOptions)}}}}ctx.restore()};$.jqplot.LineRenderer.prototype.drawShadow=function(ctx,gd,options){};function postInit(target,data,options){for(var i=0;i<this.series.length;i++){if(this.series[i].renderer.constructor==$.jqplot.LineRenderer){if(this.series[i].highlightMouseOver){this.series[i].highlightMouseDown=false}}}}function postPlotDraw(){if(this.plugins.lineRenderer&&this.plugins.lineRenderer.highlightCanvas){this.plugins.lineRenderer.highlightCanvas.resetCanvas();this.plugins.lineRenderer.highlightCanvas=null}this.plugins.lineRenderer.highlightedSeriesIndex=null;this.plugins.lineRenderer.highlightCanvas=new $.jqplot.GenericCanvas;this.eventCanvas._elem.before(this.plugins.lineRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-lineRenderer-highlight-canvas",this._plotDimensions,this));this.plugins.lineRenderer.highlightCanvas.setContext();this.eventCanvas._elem.bind("mouseleave",{plot:this},function(ev){unhighlight(ev.data.plot)})}function highlight(plot,sidx,pidx,points){var s=plot.series[sidx];var canvas=plot.plugins.lineRenderer.highlightCanvas;canvas._ctx.clearRect(0,0,canvas._ctx.canvas.width,canvas._ctx.canvas.height);s._highlightedPoint=pidx;plot.plugins.lineRenderer.highlightedSeriesIndex=sidx;var opts={fillStyle:s.highlightColor};if(s.type==="line"&&s.renderer.bands.show){opts.fill=true;opts.closePath=true}s.renderer.shapeRenderer.draw(canvas._ctx,points,opts);canvas=null}function unhighlight(plot){var canvas=plot.plugins.lineRenderer.highlightCanvas;canvas._ctx.clearRect(0,0,canvas._ctx.canvas.width,canvas._ctx.canvas.height);for(var i=0;i<plot.series.length;i++){plot.series[i]._highlightedPoint=null}plot.plugins.lineRenderer.highlightedSeriesIndex=null;plot.target.trigger("jqplotDataUnhighlight");canvas=null}function handleMove(ev,gridpos,datapos,neighbor,plot){if(neighbor){var ins=[neighbor.seriesIndex,neighbor.pointIndex,neighbor.data];var evt1=jQuery.Event("jqplotDataMouseOver");evt1.pageX=ev.pageX;evt1.pageY=ev.pageY;plot.target.trigger(evt1,ins);if(plot.series[ins[0]].highlightMouseOver&&!(ins[0]==plot.plugins.lineRenderer.highlightedSeriesIndex)){var evt=jQuery.Event("jqplotDataHighlight");evt.which=ev.which;evt.pageX=ev.pageX;evt.pageY=ev.pageY;plot.target.trigger(evt,ins);highlight(plot,neighbor.seriesIndex,neighbor.pointIndex,neighbor.points)}}else if(neighbor==null){unhighlight(plot)}}function handleMouseDown(ev,gridpos,datapos,neighbor,plot){if(neighbor){var ins=[neighbor.seriesIndex,neighbor.pointIndex,neighbor.data];if(plot.series[ins[0]].highlightMouseDown&&!(ins[0]==plot.plugins.lineRenderer.highlightedSeriesIndex)){var evt=jQuery.Event("jqplotDataHighlight");evt.which=ev.which;evt.pageX=ev.pageX;evt.pageY=ev.pageY;plot.target.trigger(evt,ins);highlight(plot,neighbor.seriesIndex,neighbor.pointIndex,neighbor.points)}}else if(neighbor==null){unhighlight(plot)}}function handleMouseUp(ev,gridpos,datapos,neighbor,plot){var idx=plot.plugins.lineRenderer.highlightedSeriesIndex;if(idx!=null&&plot.series[idx].highlightMouseDown){unhighlight(plot)}}function handleClick(ev,gridpos,datapos,neighbor,plot){if(neighbor){var ins=[neighbor.seriesIndex,neighbor.pointIndex,neighbor.data];var evt=jQuery.Event("jqplotDataClick");evt.which=ev.which;evt.pageX=ev.pageX;evt.pageY=ev.pageY;plot.target.trigger(evt,ins)}}function handleRightClick(ev,gridpos,datapos,neighbor,plot){if(neighbor){var ins=[neighbor.seriesIndex,neighbor.pointIndex,neighbor.data];var idx=plot.plugins.lineRenderer.highlightedSeriesIndex;if(idx!=null&&plot.series[idx].highlightMouseDown){unhighlight(plot)}var evt=jQuery.Event("jqplotDataRightClick");evt.which=ev.which;evt.pageX=ev.pageX;evt.pageY=ev.pageY;plot.target.trigger(evt,ins)}}$.jqplot.LinearAxisRenderer=function(){};$.jqplot.LinearAxisRenderer.prototype.init=function(options){this.breakPoints=null;this.breakTickLabel="&asymp;";this.drawBaseline=true;this.baselineWidth=null;this.baselineColor=null;this.forceTickAt0=false;this.forceTickAt100=false;this.tickInset=0;this.minorTicks=0;this.alignTicks=false;this._autoFormatString="";this._overrideFormatString=false;this._scalefact=1;$.extend(true,this,options);if(this.breakPoints){if(!$.isArray(this.breakPoints)){this.breakPoints=null}else if(this.breakPoints.length<2||this.breakPoints[1]<=this.breakPoints[0]){this.breakPoints=null}}if(this.numberTicks!=null&&this.numberTicks<2){this.numberTicks=2}this.resetDataBounds()};$.jqplot.LinearAxisRenderer.prototype.draw=function(ctx,plot){if(this.show){this.renderer.createTicks.call(this,plot);var dim=0;var temp;if(this._elem){this._elem.emptyForce();this._elem=null}this._elem=$(document.createElement("div"));this._elem.addClass("jqplot-axis jqplot-"+this.name);this._elem.css("position","absolute");if(this.name=="xaxis"||this.name=="x2axis"){this._elem.width(this._plotDimensions.width)}else{this._elem.height(this._plotDimensions.height)}this.labelOptions.axis=this.name;this._label=new this.labelRenderer(this.labelOptions);if(this._label.show){var elem=this._label.draw(ctx,plot);elem.appendTo(this._elem);elem=null}var t=this._ticks;var tick;for(var i=0;i<t.length;i++){tick=t[i];if(tick.show&&tick.showLabel&&(!tick.isMinorTick||this.showMinorTicks)){this._elem.append(tick.draw(ctx,plot))}}tick=null;t=null}return this._elem};$.jqplot.LinearAxisRenderer.prototype.reset=function(){this.min=this._options.min;this.max=this._options.max;this.tickInterval=this._options.tickInterval;this.numberTicks=this._options.numberTicks;this._autoFormatString="";if(this._overrideFormatString&&this.tickOptions&&this.tickOptions.formatString){this.tickOptions.formatString=""}};$.jqplot.LinearAxisRenderer.prototype.set=function(){var dim=0;var temp;var w=0;var h=0;var lshow=this._label==null?false:this._label.show;if(this.show){var t=this._ticks;var tick;for(var i=0;i<t.length;i++){tick=t[i];if(!tick._breakTick&&tick.show&&tick.showLabel&&(!tick.isMinorTick||this.showMinorTicks)){if(this.name=="xaxis"||this.name=="x2axis"){temp=tick._elem.outerHeight(true)}else{temp=tick._elem.outerWidth(true)}if(temp>dim){dim=temp}}}tick=null;t=null;if(lshow){w=this._label._elem.outerWidth(true);h=this._label._elem.outerHeight(true)}if(this.name=="xaxis"){dim=dim+h;this._elem.css({height:dim+"px",left:"0px",bottom:"0px"})}else if(this.name=="x2axis"){dim=dim+h;this._elem.css({height:dim+"px",left:"0px",top:"0px"})}else if(this.name=="yaxis"){dim=dim+w;this._elem.css({width:dim+"px",left:"0px",top:"0px"});if(lshow&&this._label.constructor==$.jqplot.AxisLabelRenderer){this._label._elem.css("width",w+"px")}}else{dim=dim+w;this._elem.css({width:dim+"px",right:"0px",top:"0px"});if(lshow&&this._label.constructor==$.jqplot.AxisLabelRenderer){this._label._elem.css("width",w+"px")}}}};$.jqplot.LinearAxisRenderer.prototype.createTicks=function(plot){var ticks=this._ticks;var userTicks=this.ticks;var name=this.name;var db=this._dataBounds;var dim=this.name.charAt(0)==="x"?this._plotDimensions.width:this._plotDimensions.height;var interval;var min,max;var pos1,pos2;var tt,i;var userMin=this.min;var userMax=this.max;var userNT=this.numberTicks;var userTI=this.tickInterval;var threshold=30;this._scalefact=(Math.max(dim,threshold+1)-threshold)/300;if(userTicks.length){for(i=0;i<userTicks.length;i++){var ut=userTicks[i];var t=new this.tickRenderer(this.tickOptions);if($.isArray(ut)){t.value=ut[0];if(this.breakPoints){if(ut[0]==this.breakPoints[0]){t.label=this.breakTickLabel;t._breakTick=true;t.showGridline=false;t.showMark=false}else if(ut[0]>this.breakPoints[0]&&ut[0]<=this.breakPoints[1]){t.show=false;t.showGridline=false;t.label=ut[1]}else{t.label=ut[1]}}else{t.label=ut[1]}t.setTick(ut[0],this.name);this._ticks.push(t)}else if($.isPlainObject(ut)){$.extend(true,t,ut);t.axis=this.name;this._ticks.push(t)}else{t.value=ut;if(this.breakPoints){if(ut==this.breakPoints[0]){t.label=this.breakTickLabel;t._breakTick=true;t.showGridline=false;t.showMark=false}else if(ut>this.breakPoints[0]&&ut<=this.breakPoints[1]){t.show=false;t.showGridline=false}}t.setTick(ut,this.name);this._ticks.push(t)}}this.numberTicks=userTicks.length;this.min=this._ticks[0].value;this.max=this._ticks[this.numberTicks-1].value;this.tickInterval=(this.max-this.min)/(this.numberTicks-1)}else{if(name=="xaxis"||name=="x2axis"){dim=this._plotDimensions.width}else{dim=this._plotDimensions.height}var _numberTicks=this.numberTicks;if(this.alignTicks){if(this.name==="x2axis"&&plot.axes.xaxis.show){_numberTicks=plot.axes.xaxis.numberTicks}else if(this.name.charAt(0)==="y"&&this.name!=="yaxis"&&this.name!=="yMidAxis"&&plot.axes.yaxis.show){_numberTicks=plot.axes.yaxis.numberTicks}}min=this.min!=null?this.min:db.min;max=this.max!=null?this.max:db.max;var range=max-min;var rmin,rmax;var temp;if(this.tickOptions==null||!this.tickOptions.formatString){this._overrideFormatString=true}if(this.min==null||this.max==null&&this.tickInterval==null&&!this.autoscale){if(this.forceTickAt0){if(min>0){min=0}if(max<0){max=0}}if(this.forceTickAt100){if(min>100){min=100}if(max<100){max=100}}var keepMin=false,keepMax=false;if(this.min!=null){keepMin=true}else if(this.max!=null){keepMax=true}var ret=$.jqplot.LinearTickGenerator(min,max,this._scalefact,_numberTicks,keepMin,keepMax);var tumin=this.min!=null?min:min+range*(this.padMin-1);var tumax=this.max!=null?max:max-range*(this.padMax-1);if(min<tumin||max>tumax){tumin=this.min!=null?min:min-range*(this.padMin-1);tumax=this.max!=null?max:max+range*(this.padMax-1);ret=$.jqplot.LinearTickGenerator(tumin,tumax,this._scalefact,_numberTicks,keepMin,keepMax)}this.min=ret[0];this.max=ret[1];this.numberTicks=ret[2];this._autoFormatString=ret[3];this.tickInterval=ret[4]}else{if(min==max){var adj=.05;if(min>0){adj=Math.max(Math.log(min)/Math.LN10,.05)}min-=adj;max+=adj}if(this.autoscale&&this.min==null&&this.max==null){var rrange,ti,margin;var forceMinZero=false;var forceZeroLine=false;var intervals={min:null,max:null,average:null,stddev:null};for(var i=0;i<this._series.length;i++){var s=this._series[i];var faname=s.fillAxis=="x"?s._xaxis.name:s._yaxis.name;if(this.name==faname){var vals=s._plotValues[s.fillAxis];var vmin=vals[0];var vmax=vals[0];for(var j=1;j<vals.length;j++){if(vals[j]<vmin){vmin=vals[j]}else if(vals[j]>vmax){vmax=vals[j]}}var dp=(vmax-vmin)/vmax;if(s.renderer.constructor==$.jqplot.BarRenderer){if(vmin>=0&&(s.fillToZero||dp>.1)){forceMinZero=true}else{forceMinZero=false;if(s.fill&&s.fillToZero&&vmin<0&&vmax>0){forceZeroLine=true}else{forceZeroLine=false}}}else if(s.fill){if(vmin>=0&&(s.fillToZero||dp>.1)){forceMinZero=true}else if(vmin<0&&vmax>0&&s.fillToZero){forceMinZero=false;forceZeroLine=true}else{forceMinZero=false;forceZeroLine=false}}else if(vmin<0){forceMinZero=false}}}if(forceMinZero){this.numberTicks=2+Math.ceil((dim-(this.tickSpacing-1))/this.tickSpacing);this.min=0;userMin=0;ti=max/(this.numberTicks-1);temp=Math.pow(10,Math.abs(Math.floor(Math.log(ti)/Math.LN10)));if(ti/temp==parseInt(ti/temp,10)){ti+=temp}this.tickInterval=Math.ceil(ti/temp)*temp;this.max=this.tickInterval*(this.numberTicks-1)}else if(forceZeroLine){this.numberTicks=2+Math.ceil((dim-(this.tickSpacing-1))/this.tickSpacing);var ntmin=Math.ceil(Math.abs(min)/range*(this.numberTicks-1));var ntmax=this.numberTicks-1-ntmin;ti=Math.max(Math.abs(min/ntmin),Math.abs(max/ntmax));temp=Math.pow(10,Math.abs(Math.floor(Math.log(ti)/Math.LN10)));this.tickInterval=Math.ceil(ti/temp)*temp;this.max=this.tickInterval*ntmax;this.min=-this.tickInterval*ntmin}else{if(this.numberTicks==null){if(this.tickInterval){this.numberTicks=3+Math.ceil(range/this.tickInterval)}else{this.numberTicks=2+Math.ceil((dim-(this.tickSpacing-1))/this.tickSpacing)}}if(this.tickInterval==null){ti=range/(this.numberTicks-1);if(ti<1){temp=Math.pow(10,Math.abs(Math.floor(Math.log(ti)/Math.LN10)))}else{temp=1}this.tickInterval=Math.ceil(ti*temp*this.pad)/temp}else{temp=1/this.tickInterval}rrange=this.tickInterval*(this.numberTicks-1);margin=(rrange-range)/2;if(this.min==null){this.min=Math.floor(temp*(min-margin))/temp}if(this.max==null){this.max=this.min+rrange}}var sf=$.jqplot.getSignificantFigures(this.tickInterval);var fstr;if(sf.digitsLeft>=sf.significantDigits){fstr="%d"}else{var temp=Math.max(0,5-sf.digitsLeft);temp=Math.min(temp,sf.digitsRight);fstr="%."+temp+"f"}this._autoFormatString=fstr}else{rmin=this.min!=null?this.min:min-range*(this.padMin-1);rmax=this.max!=null?this.max:max+range*(this.padMax-1);range=rmax-rmin;if(this.numberTicks==null){if(this.tickInterval!=null){this.numberTicks=Math.ceil((rmax-rmin)/this.tickInterval)+1}else if(dim>100){this.numberTicks=parseInt(3+(dim-100)/75,10)}else{this.numberTicks=2}}if(this.tickInterval==null){this.tickInterval=range/(this.numberTicks-1)}if(this.max==null){rmax=rmin+this.tickInterval*(this.numberTicks-1)}if(this.min==null){rmin=rmax-this.tickInterval*(this.numberTicks-1)}var sf=$.jqplot.getSignificantFigures(this.tickInterval);var fstr;if(sf.digitsLeft>=sf.significantDigits){fstr="%d"}else{var temp=Math.max(0,5-sf.digitsLeft);temp=Math.min(temp,sf.digitsRight);fstr="%."+temp+"f"}this._autoFormatString=fstr;this.min=rmin;this.max=rmax}if(this.renderer.constructor==$.jqplot.LinearAxisRenderer&&this._autoFormatString==""){range=this.max-this.min;var temptick=new this.tickRenderer(this.tickOptions);var fs=temptick.formatString||$.jqplot.config.defaultTickFormatString;var fs=fs.match($.jqplot.sprintf.regex)[0];var precision=0;if(fs){if(fs.search(/[fFeEgGpP]/)>-1){var m=fs.match(/\%\.(\d{0,})?[eEfFgGpP]/);if(m){precision=parseInt(m[1],10)}else{precision=6}}else if(fs.search(/[di]/)>-1){precision=0}var fact=Math.pow(10,-precision);if(this.tickInterval<fact){if(userNT==null&&userTI==null){this.tickInterval=fact;if(userMax==null&&userMin==null){this.min=Math.floor(this._dataBounds.min/fact)*fact;if(this.min==this._dataBounds.min){this.min=this._dataBounds.min-this.tickInterval}this.max=Math.ceil(this._dataBounds.max/fact)*fact;if(this.max==this._dataBounds.max){this.max=this._dataBounds.max+this.tickInterval}var n=(this.max-this.min)/this.tickInterval;n=n.toFixed(11);n=Math.ceil(n);this.numberTicks=n+1}else if(userMax==null){var n=(this._dataBounds.max-this.min)/this.tickInterval;n=n.toFixed(11);this.numberTicks=Math.ceil(n)+2;this.max=this.min+this.tickInterval*(this.numberTicks-1)}else if(userMin==null){var n=(this.max-this._dataBounds.min)/this.tickInterval;n=n.toFixed(11);this.numberTicks=Math.ceil(n)+2;this.min=this.max-this.tickInterval*(this.numberTicks-1)}else{this.numberTicks=Math.ceil((userMax-userMin)/this.tickInterval)+1;this.min=Math.floor(userMin*Math.pow(10,precision))/Math.pow(10,precision);this.max=Math.ceil(userMax*Math.pow(10,precision))/Math.pow(10,precision);this.numberTicks=Math.ceil((this.max-this.min)/this.tickInterval)+1}}}}}}if(this._overrideFormatString&&this._autoFormatString!=""){this.tickOptions=this.tickOptions||{};this.tickOptions.formatString=this._autoFormatString}var t,to;for(var i=0;i<this.numberTicks;i++){tt=this.min+i*this.tickInterval;t=new this.tickRenderer(this.tickOptions);t.setTick(tt,this.name);this._ticks.push(t);if(i<this.numberTicks-1){for(var j=0;j<this.minorTicks;j++){tt+=this.tickInterval/(this.minorTicks+1);to=$.extend(true,{},this.tickOptions,{name:this.name,value:tt,label:"",isMinorTick:true});t=new this.tickRenderer(to);this._ticks.push(t)}}t=null}}if(this.tickInset){this.min=this.min-this.tickInset*this.tickInterval;this.max=this.max+this.tickInset*this.tickInterval}ticks=null};$.jqplot.LinearAxisRenderer.prototype.resetTickValues=function(opts){if($.isArray(opts)&&opts.length==this._ticks.length){var t;for(var i=0;i<opts.length;i++){t=this._ticks[i];t.value=opts[i];t.label=t.formatter(t.formatString,opts[i]);t.label=t.prefix+t.label;t._elem.html(t.label)}t=null;this.min=$.jqplot.arrayMin(opts);this.max=$.jqplot.arrayMax(opts);this.pack()}};$.jqplot.LinearAxisRenderer.prototype.pack=function(pos,offsets){pos=pos||{};offsets=offsets||this._offsets;var ticks=this._ticks;var max=this.max;var min=this.min;var offmax=offsets.max;var offmin=offsets.min;var lshow=this._label==null?false:this._label.show;for(var p in pos){this._elem.css(p,pos[p])}this._offsets=offsets;var pixellength=offmax-offmin;var unitlength=max-min;if(this.breakPoints){unitlength=unitlength-this.breakPoints[1]+this.breakPoints[0];this.p2u=function(p){return(p-offmin)*unitlength/pixellength+min};this.u2p=function(u){if(u>this.breakPoints[0]&&u<this.breakPoints[1]){u=this.breakPoints[0]}if(u<=this.breakPoints[0]){return(u-min)*pixellength/unitlength+offmin}else{return(u-this.breakPoints[1]+this.breakPoints[0]-min)*pixellength/unitlength+offmin}};if(this.name.charAt(0)=="x"){this.series_u2p=function(u){if(u>this.breakPoints[0]&&u<this.breakPoints[1]){u=this.breakPoints[0]}if(u<=this.breakPoints[0]){return(u-min)*pixellength/unitlength}else{return(u-this.breakPoints[1]+this.breakPoints[0]-min)*pixellength/unitlength}};this.series_p2u=function(p){return p*unitlength/pixellength+min}}else{this.series_u2p=function(u){if(u>this.breakPoints[0]&&u<this.breakPoints[1]){u=this.breakPoints[0]}if(u>=this.breakPoints[1]){return(u-max)*pixellength/unitlength}else{return(u+this.breakPoints[1]-this.breakPoints[0]-max)*pixellength/unitlength}};this.series_p2u=function(p){return p*unitlength/pixellength+max}}}else{this.p2u=function(p){return(p-offmin)*unitlength/pixellength+min};this.u2p=function(u){return(u-min)*pixellength/unitlength+offmin};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(u){return(u-min)*pixellength/unitlength};this.series_p2u=function(p){return p*unitlength/pixellength+min}}else{this.series_u2p=function(u){return(u-max)*pixellength/unitlength};this.series_p2u=function(p){return p*unitlength/pixellength+max}}}if(this.show){if(this.name=="xaxis"||this.name=="x2axis"){for(var i=0;i<ticks.length;i++){var t=ticks[i];if(t.show&&t.showLabel){var shim;if(t.constructor==$.jqplot.CanvasAxisTickRenderer&&t.angle){var temp=this.name=="xaxis"?1:-1;switch(t.labelPosition){case"auto":if(temp*t.angle<0){shim=-t.getWidth()+t._textRenderer.height*Math.sin(-t._textRenderer.angle)/2}else{shim=-t._textRenderer.height*Math.sin(t._textRenderer.angle)/2}break;case"end":shim=-t.getWidth()+t._textRenderer.height*Math.sin(-t._textRenderer.angle)/2;break;case"start":shim=-t._textRenderer.height*Math.sin(t._textRenderer.angle)/2;break;case"middle":shim=-t.getWidth()/2+t._textRenderer.height*Math.sin(-t._textRenderer.angle)/2;break;default:shim=-t.getWidth()/2+t._textRenderer.height*Math.sin(-t._textRenderer.angle)/2;break}}else{shim=-t.getWidth()/2}var val=this.u2p(t.value)+shim+"px";t._elem.css("left",val);t.pack()}}if(lshow){var w=this._label._elem.outerWidth(true);this._label._elem.css("left",offmin+pixellength/2-w/2+"px");if(this.name=="xaxis"){this._label._elem.css("bottom","0px")}else{this._label._elem.css("top","0px")}this._label.pack()}}else{for(var i=0;i<ticks.length;i++){var t=ticks[i];if(t.show&&t.showLabel){var shim;if(t.constructor==$.jqplot.CanvasAxisTickRenderer&&t.angle){var temp=this.name=="yaxis"?1:-1;switch(t.labelPosition){case"auto":case"end":if(temp*t.angle<0){shim=-t._textRenderer.height*Math.cos(-t._textRenderer.angle)/2}else{shim=-t.getHeight()+t._textRenderer.height*Math.cos(t._textRenderer.angle)/2}break;case"start":if(t.angle>0){shim=-t._textRenderer.height*Math.cos(-t._textRenderer.angle)/2}else{shim=-t.getHeight()+t._textRenderer.height*Math.cos(t._textRenderer.angle)/2}break;case"middle":shim=-t.getHeight()/2;break;default:shim=-t.getHeight()/2;break}}else{shim=-t.getHeight()/2}var val=this.u2p(t.value)+shim+"px";t._elem.css("top",val);t.pack()}}if(lshow){var h=this._label._elem.outerHeight(true);this._label._elem.css("top",offmax-pixellength/2-h/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px")}else{this._label._elem.css("right","0px")}this._label.pack()}}}ticks=null};function bestFormatString(interval){var fstr;interval=Math.abs(interval);if(interval>=10){fstr="%d"}else if(interval>1){if(interval===parseInt(interval,10)){fstr="%d"}else{fstr="%.1f"}}else{var expv=-Math.floor(Math.log(interval)/Math.LN10);fstr="%."+expv+"f"}return fstr}var _factors=[.1,.2,.3,.4,.5,.8,1,2,3,4,5];var _getLowerFactor=function(f){var i=_factors.indexOf(f);if(i>0){return _factors[i-1]}else{return _factors[_factors.length-1]/100}};var _getHigherFactor=function(f){var i=_factors.indexOf(f);if(i<_factors.length-1){return _factors[i+1]}else{return _factors[0]*100}};function bestConstrainedInterval(min,max,nttarget){var low=Math.floor(nttarget/2);var hi=Math.ceil(nttarget*1.5);var badness=Number.MAX_VALUE;var r=max-min;var temp;var sd;var bestNT;var gsf=$.jqplot.getSignificantFigures;var fsd;var fs;var currentNT;var bestPrec;for(var i=0,l=hi-low+1;i<l;i++){currentNT=low+i;temp=r/(currentNT-1);sd=gsf(temp);temp=Math.abs(nttarget-currentNT)+sd.digitsRight;if(temp<badness){badness=temp;bestNT=currentNT;bestPrec=sd.digitsRight}else if(temp===badness){if(sd.digitsRight<bestPrec){bestNT=currentNT;bestPrec=sd.digitsRight}}}fsd=Math.max(bestPrec,Math.max(gsf(min).digitsRight,gsf(max).digitsRight));if(fsd===0){fs="%d"}else{fs="%."+fsd+"f"}temp=r/(bestNT-1);return[min,max,bestNT,fs,temp]}function bestInterval(range,numberTicks){numberTicks=numberTicks||7;var minimum=range/(numberTicks-1);
var magnitude=Math.pow(10,Math.floor(Math.log(minimum)/Math.LN10));var residual=minimum/magnitude;var interval;if(magnitude<1){if(residual>5){interval=10*magnitude}else if(residual>2){interval=5*magnitude}else if(residual>1){interval=2*magnitude}else{interval=magnitude}}else{if(residual>5){interval=10*magnitude}else if(residual>4){interval=5*magnitude}else if(residual>3){interval=4*magnitude}else if(residual>2){interval=3*magnitude}else if(residual>1){interval=2*magnitude}else{interval=magnitude}}return interval}function bestLinearInterval(range,scalefact){scalefact=scalefact||1;var expv=Math.floor(Math.log(range)/Math.LN10);var magnitude=Math.pow(10,expv);var f=range/magnitude;var fact;f=f/scalefact;if(f<=.38){fact=.1}else if(f<=1.6){fact=.2}else if(f<=4){fact=.5}else if(f<=8){fact=1}else if(f<=16){fact=2}else{fact=5}return fact*magnitude}function bestLinearComponents(range,scalefact){var expv=Math.floor(Math.log(range)/Math.LN10);var magnitude=Math.pow(10,expv);var f=range/magnitude;var interval;var fact;f=f/scalefact;if(f<=.38){fact=.1}else if(f<=1.6){fact=.2}else if(f<=4){fact=.5}else if(f<=8){fact=1}else if(f<=16){fact=2}else{fact=5}interval=fact*magnitude;return[interval,fact,magnitude]}$.jqplot.LinearTickGenerator=function(axis_min,axis_max,scalefact,numberTicks,keepMin,keepMax){keepMin=keepMin===null?false:keepMin;keepMax=keepMax===null||keepMin?false:keepMax;if(axis_min===axis_max){axis_max=axis_max?0:1}scalefact=scalefact||1;if(axis_max<axis_min){var a=axis_max;axis_max=axis_min;axis_min=a}var r=[];var ss=bestLinearInterval(axis_max-axis_min,scalefact);var gsf=$.jqplot.getSignificantFigures;if(numberTicks==null){if(!keepMin&&!keepMax){r[0]=Math.floor(axis_min/ss)*ss;r[1]=Math.ceil(axis_max/ss)*ss;r[2]=Math.round((r[1]-r[0])/ss+1);r[3]=bestFormatString(ss);r[4]=ss}else if(keepMin){r[0]=axis_min;r[2]=Math.ceil((axis_max-axis_min)/ss+1);r[1]=axis_min+(r[2]-1)*ss;var digitsMin=gsf(axis_min).digitsRight;var digitsSS=gsf(ss).digitsRight;if(digitsMin<digitsSS){r[3]=bestFormatString(ss)}else{r[3]="%."+digitsMin+"f"}r[4]=ss}else if(keepMax){r[1]=axis_max;r[2]=Math.ceil((axis_max-axis_min)/ss+1);r[0]=axis_max-(r[2]-1)*ss;var digitsMax=gsf(axis_max).digitsRight;var digitsSS=gsf(ss).digitsRight;if(digitsMax<digitsSS){r[3]=bestFormatString(ss)}else{r[3]="%."+digitsMax+"f"}r[4]=ss}}else{var tempr=[];tempr[0]=Math.floor(axis_min/ss)*ss;tempr[1]=Math.ceil(axis_max/ss)*ss;tempr[2]=Math.round((tempr[1]-tempr[0])/ss+1);tempr[3]=bestFormatString(ss);tempr[4]=ss;if(tempr[2]===numberTicks){r=tempr}else{var newti=bestInterval(tempr[1]-tempr[0],numberTicks);r[0]=tempr[0];r[2]=numberTicks;r[4]=newti;r[3]=bestFormatString(newti);r[1]=r[0]+(r[2]-1)*r[4]}}return r};$.jqplot.LinearTickGenerator.bestLinearInterval=bestLinearInterval;$.jqplot.LinearTickGenerator.bestInterval=bestInterval;$.jqplot.LinearTickGenerator.bestLinearComponents=bestLinearComponents;$.jqplot.LinearTickGenerator.bestConstrainedInterval=bestConstrainedInterval;$.jqplot.MarkerRenderer=function(options){this.show=true;this.style="filledCircle";this.lineWidth=2;this.size=9;this.color="#666666";this.shadow=true;this.shadowAngle=45;this.shadowOffset=1;this.shadowDepth=3;this.shadowAlpha="0.07";this.shadowRenderer=new $.jqplot.ShadowRenderer;this.shapeRenderer=new $.jqplot.ShapeRenderer;$.extend(true,this,options)};$.jqplot.MarkerRenderer.prototype.init=function(options){$.extend(true,this,options);var sdopt={angle:this.shadowAngle,offset:this.shadowOffset,alpha:this.shadowAlpha,lineWidth:this.lineWidth,depth:this.shadowDepth,closePath:true};if(this.style.indexOf("filled")!=-1){sdopt.fill=true}if(this.style.indexOf("ircle")!=-1){sdopt.isarc=true;sdopt.closePath=false}this.shadowRenderer.init(sdopt);var shopt={fill:false,isarc:false,strokeStyle:this.color,fillStyle:this.color,lineWidth:this.lineWidth,closePath:true};if(this.style.indexOf("filled")!=-1){shopt.fill=true}if(this.style.indexOf("ircle")!=-1){shopt.isarc=true;shopt.closePath=false}this.shapeRenderer.init(shopt)};$.jqplot.MarkerRenderer.prototype.drawDiamond=function(x,y,ctx,fill,options){var stretch=1.2;var dx=this.size/2/stretch;var dy=this.size/2*stretch;var points=[[x-dx,y],[x,y+dy],[x+dx,y],[x,y-dy]];if(this.shadow){this.shadowRenderer.draw(ctx,points)}this.shapeRenderer.draw(ctx,points,options)};$.jqplot.MarkerRenderer.prototype.drawPlus=function(x,y,ctx,fill,options){var stretch=1;var dx=this.size/2*stretch;var dy=this.size/2*stretch;var points1=[[x,y-dy],[x,y+dy]];var points2=[[x+dx,y],[x-dx,y]];var opts=$.extend(true,{},this.options,{closePath:false});if(this.shadow){this.shadowRenderer.draw(ctx,points1,{closePath:false});this.shadowRenderer.draw(ctx,points2,{closePath:false})}this.shapeRenderer.draw(ctx,points1,opts);this.shapeRenderer.draw(ctx,points2,opts)};$.jqplot.MarkerRenderer.prototype.drawX=function(x,y,ctx,fill,options){var stretch=1;var dx=this.size/2*stretch;var dy=this.size/2*stretch;var opts=$.extend(true,{},this.options,{closePath:false});var points1=[[x-dx,y-dy],[x+dx,y+dy]];var points2=[[x-dx,y+dy],[x+dx,y-dy]];if(this.shadow){this.shadowRenderer.draw(ctx,points1,{closePath:false});this.shadowRenderer.draw(ctx,points2,{closePath:false})}this.shapeRenderer.draw(ctx,points1,opts);this.shapeRenderer.draw(ctx,points2,opts)};$.jqplot.MarkerRenderer.prototype.drawDash=function(x,y,ctx,fill,options){var stretch=1;var dx=this.size/2*stretch;var dy=this.size/2*stretch;var points=[[x-dx,y],[x+dx,y]];if(this.shadow){this.shadowRenderer.draw(ctx,points)}this.shapeRenderer.draw(ctx,points,options)};$.jqplot.MarkerRenderer.prototype.drawLine=function(p1,p2,ctx,fill,options){var points=[p1,p2];if(this.shadow){this.shadowRenderer.draw(ctx,points)}this.shapeRenderer.draw(ctx,points,options)};$.jqplot.MarkerRenderer.prototype.drawSquare=function(x,y,ctx,fill,options){var stretch=1;var dx=this.size/2/stretch;var dy=this.size/2*stretch;var points=[[x-dx,y-dy],[x-dx,y+dy],[x+dx,y+dy],[x+dx,y-dy]];if(this.shadow){this.shadowRenderer.draw(ctx,points)}this.shapeRenderer.draw(ctx,points,options)};$.jqplot.MarkerRenderer.prototype.drawCircle=function(x,y,ctx,fill,options){var radius=this.size/2;var end=2*Math.PI;var points=[x,y,radius,0,end,true];if(this.shadow){this.shadowRenderer.draw(ctx,points)}this.shapeRenderer.draw(ctx,points,options)};$.jqplot.MarkerRenderer.prototype.draw=function(x,y,ctx,options){options=options||{};if(options.show==null||options.show!=false){if(options.color&&!options.fillStyle){options.fillStyle=options.color}if(options.color&&!options.strokeStyle){options.strokeStyle=options.color}switch(this.style){case"diamond":this.drawDiamond(x,y,ctx,false,options);break;case"filledDiamond":this.drawDiamond(x,y,ctx,true,options);break;case"circle":this.drawCircle(x,y,ctx,false,options);break;case"filledCircle":this.drawCircle(x,y,ctx,true,options);break;case"square":this.drawSquare(x,y,ctx,false,options);break;case"filledSquare":this.drawSquare(x,y,ctx,true,options);break;case"x":this.drawX(x,y,ctx,true,options);break;case"plus":this.drawPlus(x,y,ctx,true,options);break;case"dash":this.drawDash(x,y,ctx,true,options);break;case"line":this.drawLine(x,y,ctx,false,options);break;default:this.drawDiamond(x,y,ctx,false,options);break}}};$.jqplot.ShadowRenderer=function(options){this.angle=45;this.offset=1;this.alpha=.07;this.lineWidth=1.5;this.lineJoin="miter";this.lineCap="round";this.closePath=false;this.fill=false;this.depth=3;this.strokeStyle="rgba(0,0,0,0.1)";this.isarc=false;$.extend(true,this,options)};$.jqplot.ShadowRenderer.prototype.init=function(options){$.extend(true,this,options)};$.jqplot.ShadowRenderer.prototype.draw=function(ctx,points,options){ctx.save();var opts=options!=null?options:{};var fill=opts.fill!=null?opts.fill:this.fill;var fillRect=opts.fillRect!=null?opts.fillRect:this.fillRect;var closePath=opts.closePath!=null?opts.closePath:this.closePath;var offset=opts.offset!=null?opts.offset:this.offset;var alpha=opts.alpha!=null?opts.alpha:this.alpha;var depth=opts.depth!=null?opts.depth:this.depth;var isarc=opts.isarc!=null?opts.isarc:this.isarc;var linePattern=opts.linePattern!=null?opts.linePattern:this.linePattern;ctx.lineWidth=opts.lineWidth!=null?opts.lineWidth:this.lineWidth;ctx.lineJoin=opts.lineJoin!=null?opts.lineJoin:this.lineJoin;ctx.lineCap=opts.lineCap!=null?opts.lineCap:this.lineCap;ctx.strokeStyle=opts.strokeStyle||this.strokeStyle||"rgba(0,0,0,"+alpha+")";ctx.fillStyle=opts.fillStyle||this.fillStyle||"rgba(0,0,0,"+alpha+")";for(var j=0;j<depth;j++){var ctxPattern=$.jqplot.LinePattern(ctx,linePattern);ctx.translate(Math.cos(this.angle*Math.PI/180)*offset,Math.sin(this.angle*Math.PI/180)*offset);ctxPattern.beginPath();if(isarc){ctx.arc(points[0],points[1],points[2],points[3],points[4],true)}else if(fillRect){if(fillRect){ctx.fillRect(points[0],points[1],points[2],points[3])}}else if(points&&points.length){var move=true;for(var i=0;i<points.length;i++){if(points[i][0]!=null&&points[i][1]!=null){if(move){ctxPattern.moveTo(points[i][0],points[i][1]);move=false}else{ctxPattern.lineTo(points[i][0],points[i][1])}}else{move=true}}}if(closePath){ctxPattern.closePath()}if(fill){ctx.fill()}else{ctx.stroke()}}ctx.restore()};$.jqplot.ShapeRenderer=function(options){this.lineWidth=1.5;this.linePattern="solid";this.lineJoin="miter";this.lineCap="round";this.closePath=false;this.fill=false;this.isarc=false;this.fillRect=false;this.strokeRect=false;this.clearRect=false;this.strokeStyle="#999999";this.fillStyle="#999999";$.extend(true,this,options)};$.jqplot.ShapeRenderer.prototype.init=function(options){$.extend(true,this,options)};$.jqplot.ShapeRenderer.prototype.draw=function(ctx,points,options){ctx.save();var opts=options!=null?options:{};var fill=opts.fill!=null?opts.fill:this.fill;var closePath=opts.closePath!=null?opts.closePath:this.closePath;var fillRect=opts.fillRect!=null?opts.fillRect:this.fillRect;var strokeRect=opts.strokeRect!=null?opts.strokeRect:this.strokeRect;var clearRect=opts.clearRect!=null?opts.clearRect:this.clearRect;var isarc=opts.isarc!=null?opts.isarc:this.isarc;var linePattern=opts.linePattern!=null?opts.linePattern:this.linePattern;var ctxPattern=$.jqplot.LinePattern(ctx,linePattern);ctx.lineWidth=opts.lineWidth||this.lineWidth;ctx.lineJoin=opts.lineJoin||this.lineJoin;ctx.lineCap=opts.lineCap||this.lineCap;ctx.strokeStyle=opts.strokeStyle||opts.color||this.strokeStyle;ctx.fillStyle=opts.fillStyle||this.fillStyle;ctx.beginPath();if(isarc){ctx.arc(points[0],points[1],points[2],points[3],points[4],true);if(closePath){ctx.closePath()}if(fill){ctx.fill()}else{ctx.stroke()}ctx.restore();return}else if(clearRect){ctx.clearRect(points[0],points[1],points[2],points[3]);ctx.restore();return}else if(fillRect||strokeRect){if(fillRect){ctx.fillRect(points[0],points[1],points[2],points[3])}if(strokeRect){ctx.strokeRect(points[0],points[1],points[2],points[3]);ctx.restore();return}}else if(points&&points.length){var move=true;for(var i=0;i<points.length;i++){if(points[i][0]!=null&&points[i][1]!=null){if(move){ctxPattern.moveTo(points[i][0],points[i][1]);move=false}else{ctxPattern.lineTo(points[i][0],points[i][1])}}else{move=true}}if(closePath){ctxPattern.closePath()}if(fill){ctx.fill()}else{ctx.stroke()}}ctx.restore()};$.jqplot.TableLegendRenderer=function(){};$.jqplot.TableLegendRenderer.prototype.init=function(options){$.extend(true,this,options)};$.jqplot.TableLegendRenderer.prototype.addrow=function(label,color,pad,reverse){var rs=pad?this.rowSpacing+"px":"0px";var tr;var td;var elem;var div0;var div1;elem=document.createElement("tr");tr=$(elem);tr.addClass("jqplot-table-legend");elem=null;if(reverse){tr.prependTo(this._elem)}else{tr.appendTo(this._elem)}if(this.showSwatches){td=$(document.createElement("td"));td.addClass("jqplot-table-legend jqplot-table-legend-swatch");td.css({textAlign:"center",paddingTop:rs});div0=$(document.createElement("div"));div0.addClass("jqplot-table-legend-swatch-outline");div1=$(document.createElement("div"));div1.addClass("jqplot-table-legend-swatch");div1.css({backgroundColor:color,borderColor:color});tr.append(td.append(div0.append(div1)))}if(this.showLabels){td=$(document.createElement("td"));td.addClass("jqplot-table-legend jqplot-table-legend-label");td.css("paddingTop",rs);tr.append(td);if(this.escapeHtml){td.text(label)}else{td.html(label)}}td=null;div0=null;div1=null;tr=null;elem=null};$.jqplot.TableLegendRenderer.prototype.draw=function(){if(this._elem){this._elem.emptyForce();this._elem=null}if(this.show){var series=this._series;var elem=document.createElement("table");this._elem=$(elem);this._elem.addClass("jqplot-table-legend");var ss={position:"absolute"};if(this.background){ss["background"]=this.background}if(this.border){ss["border"]=this.border}if(this.fontSize){ss["fontSize"]=this.fontSize}if(this.fontFamily){ss["fontFamily"]=this.fontFamily}if(this.textColor){ss["textColor"]=this.textColor}if(this.marginTop!=null){ss["marginTop"]=this.marginTop}if(this.marginBottom!=null){ss["marginBottom"]=this.marginBottom}if(this.marginLeft!=null){ss["marginLeft"]=this.marginLeft}if(this.marginRight!=null){ss["marginRight"]=this.marginRight}var pad=false,reverse=false,s;for(var i=0;i<series.length;i++){s=series[i];if(s._stack||s.renderer.constructor==$.jqplot.BezierCurveRenderer){reverse=true}if(s.show&&s.showLabel){var lt=this.labels[i]||s.label.toString();if(lt){var color=s.color;if(reverse&&i<series.length-1){pad=true}else if(reverse&&i==series.length-1){pad=false}this.renderer.addrow.call(this,lt,color,pad,reverse);pad=true}for(var j=0;j<$.jqplot.addLegendRowHooks.length;j++){var item=$.jqplot.addLegendRowHooks[j].call(this,s);if(item){this.renderer.addrow.call(this,item.label,item.color,pad);pad=true}}lt=null}}}return this._elem};$.jqplot.TableLegendRenderer.prototype.pack=function(offsets){if(this.show){if(this.placement=="insideGrid"){switch(this.location){case"nw":var a=offsets.left;var b=offsets.top;this._elem.css("left",a);this._elem.css("top",b);break;case"n":var a=(offsets.left+(this._plotDimensions.width-offsets.right))/2-this.getWidth()/2;var b=offsets.top;this._elem.css("left",a);this._elem.css("top",b);break;case"ne":var a=offsets.right;var b=offsets.top;this._elem.css({right:a,top:b});break;case"e":var a=offsets.right;var b=(offsets.top+(this._plotDimensions.height-offsets.bottom))/2-this.getHeight()/2;this._elem.css({right:a,top:b});break;case"se":var a=offsets.right;var b=offsets.bottom;this._elem.css({right:a,bottom:b});break;case"s":var a=(offsets.left+(this._plotDimensions.width-offsets.right))/2-this.getWidth()/2;var b=offsets.bottom;this._elem.css({left:a,bottom:b});break;case"sw":var a=offsets.left;var b=offsets.bottom;this._elem.css({left:a,bottom:b});break;case"w":var a=offsets.left;var b=(offsets.top+(this._plotDimensions.height-offsets.bottom))/2-this.getHeight()/2;this._elem.css({left:a,top:b});break;default:var a=offsets.right;var b=offsets.bottom;this._elem.css({right:a,bottom:b});break}}else if(this.placement=="outside"){switch(this.location){case"nw":var a=this._plotDimensions.width-offsets.left;var b=offsets.top;this._elem.css("right",a);this._elem.css("top",b);break;case"n":var a=(offsets.left+(this._plotDimensions.width-offsets.right))/2-this.getWidth()/2;var b=this._plotDimensions.height-offsets.top;this._elem.css("left",a);this._elem.css("bottom",b);break;case"ne":var a=this._plotDimensions.width-offsets.right;var b=offsets.top;this._elem.css({left:a,top:b});break;case"e":var a=this._plotDimensions.width-offsets.right;var b=(offsets.top+(this._plotDimensions.height-offsets.bottom))/2-this.getHeight()/2;this._elem.css({left:a,top:b});break;case"se":var a=this._plotDimensions.width-offsets.right;var b=offsets.bottom;this._elem.css({left:a,bottom:b});break;case"s":var a=(offsets.left+(this._plotDimensions.width-offsets.right))/2-this.getWidth()/2;var b=this._plotDimensions.height-offsets.bottom;this._elem.css({left:a,top:b});break;case"sw":var a=this._plotDimensions.width-offsets.left;var b=offsets.bottom;this._elem.css({right:a,bottom:b});break;case"w":var a=this._plotDimensions.width-offsets.left;var b=(offsets.top+(this._plotDimensions.height-offsets.bottom))/2-this.getHeight()/2;this._elem.css({right:a,top:b});break;default:var a=offsets.right;var b=offsets.bottom;this._elem.css({right:a,bottom:b});break}}else{switch(this.location){case"nw":this._elem.css({left:0,top:offsets.top});break;case"n":var a=(offsets.left+(this._plotDimensions.width-offsets.right))/2-this.getWidth()/2;this._elem.css({left:a,top:offsets.top});break;case"ne":this._elem.css({right:0,top:offsets.top});break;case"e":var b=(offsets.top+(this._plotDimensions.height-offsets.bottom))/2-this.getHeight()/2;this._elem.css({right:offsets.right,top:b});break;case"se":this._elem.css({right:offsets.right,bottom:offsets.bottom});break;case"s":var a=(offsets.left+(this._plotDimensions.width-offsets.right))/2-this.getWidth()/2;this._elem.css({left:a,bottom:offsets.bottom});break;case"sw":this._elem.css({left:offsets.left,bottom:offsets.bottom});break;case"w":var b=(offsets.top+(this._plotDimensions.height-offsets.bottom))/2-this.getHeight()/2;this._elem.css({left:offsets.left,top:b});break;default:this._elem.css({right:offsets.right,bottom:offsets.bottom});break}}}};$.jqplot.ThemeEngine=function(){this.themes={};this.activeTheme=null};$.jqplot.ThemeEngine.prototype.init=function(){var th=new $.jqplot.Theme({_name:"Default"});var n,i,nn;for(n in th.target){if(n=="textColor"){th.target[n]=this.target.css("color")}else{th.target[n]=this.target.css(n)}}if(this.title.show&&this.title._elem){for(n in th.title){if(n=="textColor"){th.title[n]=this.title._elem.css("color")}else{th.title[n]=this.title._elem.css(n)}}}for(n in th.grid){th.grid[n]=this.grid[n]}if(th.grid.backgroundColor==null&&this.grid.background!=null){th.grid.backgroundColor=this.grid.background}if(this.legend.show&&this.legend._elem){for(n in th.legend){if(n=="textColor"){th.legend[n]=this.legend._elem.css("color")}else{th.legend[n]=this.legend._elem.css(n)}}}var s;for(i=0;i<this.series.length;i++){s=this.series[i];if(s.renderer.constructor==$.jqplot.LineRenderer){th.series.push(new LineSeriesProperties)}else if(s.renderer.constructor==$.jqplot.BarRenderer){th.series.push(new BarSeriesProperties)}else if(s.renderer.constructor==$.jqplot.PieRenderer){th.series.push(new PieSeriesProperties)}else if(s.renderer.constructor==$.jqplot.DonutRenderer){th.series.push(new DonutSeriesProperties)}else if(s.renderer.constructor==$.jqplot.FunnelRenderer){th.series.push(new FunnelSeriesProperties)}else if(s.renderer.constructor==$.jqplot.MeterGaugeRenderer){th.series.push(new MeterSeriesProperties)}else{th.series.push({})}for(n in th.series[i]){th.series[i][n]=s[n]}}var a,ax;for(n in this.axes){ax=this.axes[n];a=th.axes[n]=new AxisProperties;a.borderColor=ax.borderColor;a.borderWidth=ax.borderWidth;if(ax._ticks&&ax._ticks[0]){for(nn in a.ticks){if(ax._ticks[0].hasOwnProperty(nn)){a.ticks[nn]=ax._ticks[0][nn]}else if(ax._ticks[0]._elem){a.ticks[nn]=ax._ticks[0]._elem.css(nn)}}}if(ax._label&&ax._label.show){for(nn in a.label){if(ax._label[nn]){a.label[nn]=ax._label[nn]}else if(ax._label._elem){if(nn=="textColor"){a.label[nn]=ax._label._elem.css("color")}else{a.label[nn]=ax._label._elem.css(nn)}}}}}this.themeEngine._add(th);this.themeEngine.activeTheme=this.themeEngine.themes[th._name]};$.jqplot.ThemeEngine.prototype.get=function(name){if(!name){return this.activeTheme}else{return this.themes[name]}};function numericalOrder(a,b){return a-b}$.jqplot.ThemeEngine.prototype.getThemeNames=function(){var tn=[];for(var n in this.themes){tn.push(n)}return tn.sort(numericalOrder)};$.jqplot.ThemeEngine.prototype.getThemes=function(){var tn=[];var themes=[];for(var n in this.themes){tn.push(n)}tn.sort(numericalOrder);for(var i=0;i<tn.length;i++){themes.push(this.themes[tn[i]])}return themes};$.jqplot.ThemeEngine.prototype.activate=function(plot,name){var redrawPlot=false;if(!name&&this.activeTheme&&this.activeTheme._name){name=this.activeTheme._name}if(!this.themes.hasOwnProperty(name)){throw new Error("No theme of that name")}else{var th=this.themes[name];this.activeTheme=th;var val,checkBorderColor=false,checkBorderWidth=false;var arr=["xaxis","x2axis","yaxis","y2axis"];for(i=0;i<arr.length;i++){var ax=arr[i];if(th.axesStyles.borderColor!=null){plot.axes[ax].borderColor=th.axesStyles.borderColor}if(th.axesStyles.borderWidth!=null){plot.axes[ax].borderWidth=th.axesStyles.borderWidth}}for(var axname in plot.axes){var axis=plot.axes[axname];if(axis.show){var thaxis=th.axes[axname]||{};var thaxstyle=th.axesStyles;var thax=$.jqplot.extend(true,{},thaxis,thaxstyle);val=th.axesStyles.borderColor!=null?th.axesStyles.borderColor:thax.borderColor;if(thax.borderColor!=null){axis.borderColor=thax.borderColor;redrawPlot=true}val=th.axesStyles.borderWidth!=null?th.axesStyles.borderWidth:thax.borderWidth;if(thax.borderWidth!=null){axis.borderWidth=thax.borderWidth;redrawPlot=true}if(axis._ticks&&axis._ticks[0]){for(var nn in thax.ticks){val=thax.ticks[nn];if(val!=null){axis.tickOptions[nn]=val;axis._ticks=[];redrawPlot=true}}}if(axis._label&&axis._label.show){for(var nn in thax.label){val=thax.label[nn];if(val!=null){axis.labelOptions[nn]=val;redrawPlot=true}}}}}for(var n in th.grid){if(th.grid[n]!=null){plot.grid[n]=th.grid[n]}}if(!redrawPlot){plot.grid.draw()}if(plot.legend.show){for(n in th.legend){if(th.legend[n]!=null){plot.legend[n]=th.legend[n]}}}if(plot.title.show){for(n in th.title){if(th.title[n]!=null){plot.title[n]=th.title[n]}}}var i;for(i=0;i<th.series.length;i++){var opts={};var redrawSeries=false;for(n in th.series[i]){val=th.seriesStyles[n]!=null?th.seriesStyles[n]:th.series[i][n];if(val!=null){opts[n]=val;if(n=="color"){plot.series[i].renderer.shapeRenderer.fillStyle=val;plot.series[i].renderer.shapeRenderer.strokeStyle=val;plot.series[i][n]=val}else if(n=="lineWidth"||n=="linePattern"){plot.series[i].renderer.shapeRenderer[n]=val;plot.series[i][n]=val}else if(n=="markerOptions"){merge(plot.series[i].markerOptions,val);merge(plot.series[i].markerRenderer,val)}else{plot.series[i][n]=val}redrawPlot=true}}}if(redrawPlot){plot.target.empty();plot.draw()}for(n in th.target){if(th.target[n]!=null){plot.target.css(n,th.target[n])}}}};$.jqplot.ThemeEngine.prototype._add=function(theme,name){if(name){theme._name=name}if(!theme._name){theme._name=Date.parse(new Date)}if(!this.themes.hasOwnProperty(theme._name)){this.themes[theme._name]=theme}else{throw new Error("jqplot.ThemeEngine Error: Theme already in use")}};$.jqplot.ThemeEngine.prototype.remove=function(name){if(name=="Default"){return false}return delete this.themes[name]};$.jqplot.ThemeEngine.prototype.newTheme=function(name,obj){if(typeof name=="object"){obj=obj||name;name=null}if(obj&&obj._name){name=obj._name}else{name=name||Date.parse(new Date)}var th=this.copy(this.themes["Default"]._name,name);$.jqplot.extend(th,obj);return th};function clone(obj){if(obj==null||typeof obj!="object"){return obj}var temp=new obj.constructor;for(var key in obj){temp[key]=clone(obj[key])}return temp}$.jqplot.clone=clone;function merge(obj1,obj2){if(obj2==null||typeof obj2!="object"){return}for(var key in obj2){if(key=="highlightColors"){obj1[key]=clone(obj2[key])}if(obj2[key]!=null&&typeof obj2[key]=="object"){if(!obj1.hasOwnProperty(key)){obj1[key]={}}merge(obj1[key],obj2[key])}else{obj1[key]=obj2[key]}}}$.jqplot.merge=merge;$.jqplot.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2}if(typeof target!=="object"&&!toString.call(target)==="[object Function]"){target={}}for(;i<length;i++){if((options=arguments[i])!=null){for(var name in options){var src=target[name],copy=options[name];if(target===copy){continue}if(deep&&copy&&typeof copy==="object"&&!copy.nodeType){target[name]=$.jqplot.extend(deep,src||(copy.length!=null?[]:{}),copy)}else if(copy!==undefined){target[name]=copy}}}}return target};$.jqplot.ThemeEngine.prototype.rename=function(oldName,newName){if(oldName=="Default"||newName=="Default"){throw new Error("jqplot.ThemeEngine Error: Cannot rename from/to Default")}if(this.themes.hasOwnProperty(newName)){throw new Error("jqplot.ThemeEngine Error: New name already in use.")}else if(this.themes.hasOwnProperty(oldName)){var th=this.copy(oldName,newName);this.remove(oldName);return th}throw new Error("jqplot.ThemeEngine Error: Old name or new name invalid")};$.jqplot.ThemeEngine.prototype.copy=function(sourceName,targetName,obj){if(targetName=="Default"){throw new Error("jqplot.ThemeEngine Error: Cannot copy over Default theme")}if(!this.themes.hasOwnProperty(sourceName)){var s="jqplot.ThemeEngine Error: Source name invalid";throw new Error(s)}if(this.themes.hasOwnProperty(targetName)){var s="jqplot.ThemeEngine Error: Target name invalid";throw new Error(s)}else{var th=clone(this.themes[sourceName]);th._name=targetName;$.jqplot.extend(true,th,obj);this._add(th);return th}};$.jqplot.Theme=function(name,obj){if(typeof name=="object"){obj=obj||name;name=null}name=name||Date.parse(new Date);this._name=name;this.target={backgroundColor:null};this.legend={textColor:null,fontFamily:null,fontSize:null,border:null,background:null};this.title={textColor:null,fontFamily:null,fontSize:null,textAlign:null};this.seriesStyles={};this.series=[];this.grid={drawGridlines:null,gridLineColor:null,gridLineWidth:null,backgroundColor:null,borderColor:null,borderWidth:null,shadow:null};this.axesStyles={label:{},ticks:{}};this.axes={};if(typeof obj=="string"){this._name=obj}else if(typeof obj=="object"){$.jqplot.extend(true,this,obj)}};var AxisProperties=function(){this.borderColor=null;this.borderWidth=null;this.ticks=new AxisTicks;this.label=new AxisLabel};var AxisTicks=function(){this.show=null;this.showGridline=null;this.showLabel=null;this.showMark=null;this.size=null;this.textColor=null;this.whiteSpace=null;this.fontSize=null;this.fontFamily=null};var AxisLabel=function(){this.textColor=null;this.whiteSpace=null;this.fontSize=null;this.fontFamily=null;this.fontWeight=null};var LineSeriesProperties=function(){this.color=null;this.lineWidth=null;this.linePattern=null;this.shadow=null;this.fillColor=null;this.showMarker=null;this.markerOptions=new MarkerOptions};var MarkerOptions=function(){this.show=null;this.style=null;this.lineWidth=null;this.size=null;this.color=null;this.shadow=null};var BarSeriesProperties=function(){this.color=null;this.seriesColors=null;this.lineWidth=null;this.shadow=null;this.barPadding=null;this.barMargin=null;this.barWidth=null;this.highlightColors=null};var PieSeriesProperties=function(){this.seriesColors=null;this.padding=null;this.sliceMargin=null;this.fill=null;this.shadow=null;this.startAngle=null;this.lineWidth=null;this.highlightColors=null};var DonutSeriesProperties=function(){this.seriesColors=null;this.padding=null;this.sliceMargin=null;this.fill=null;this.shadow=null;this.startAngle=null;this.lineWidth=null;this.innerDiameter=null;this.thickness=null;this.ringMargin=null;this.highlightColors=null};var FunnelSeriesProperties=function(){this.color=null;this.lineWidth=null;this.shadow=null;this.padding=null;this.sectionMargin=null;this.seriesColors=null;this.highlightColors=null};var MeterSeriesProperties=function(){this.padding=null;this.backgroundColor=null;this.ringColor=null;this.tickColor=null;this.ringWidth=null;this.intervalColors=null;this.intervalInnerRadius=null;this.intervalOuterRadius=null;this.hubRadius=null;this.needleThickness=null;this.needlePad=null};$.fn.jqplotChildText=function(){return $(this).contents().filter(function(){return this.nodeType==3}).text()};$.fn.jqplotGetComputedFontStyle=function(){var css=window.getComputedStyle?window.getComputedStyle(this[0],""):this[0].currentStyle;var attrs=css["font-style"]?["font-style","font-weight","font-size","font-family"]:["fontStyle","fontWeight","fontSize","fontFamily"];var style=[];for(var i=0;i<attrs.length;++i){var attr=String(css[attrs[i]]);if(attr&&attr!="normal"){style.push(attr)}}return style.join(" ")};$.fn.jqplotToImageCanvas=function(options){options=options||{};var x_offset=options.x_offset==null?0:options.x_offset;var y_offset=options.y_offset==null?0:options.y_offset;var backgroundColor=options.backgroundColor==null?"rgb(255,255,255)":options.backgroundColor;if($(this).width()==0||$(this).height()==0){return null}if($.jqplot.use_excanvas){return null}var newCanvas=document.createElement("canvas");var h=$(this).outerHeight(true);var w=$(this).outerWidth(true);var offs=$(this).offset();var plotleft=offs.left;var plottop=offs.top;var transx=0,transy=0;var clses=["jqplot-table-legend","jqplot-xaxis-tick","jqplot-x2axis-tick","jqplot-yaxis-tick","jqplot-y2axis-tick","jqplot-y3axis-tick","jqplot-y4axis-tick","jqplot-y5axis-tick","jqplot-y6axis-tick","jqplot-y7axis-tick","jqplot-y8axis-tick","jqplot-y9axis-tick","jqplot-xaxis-label","jqplot-x2axis-label","jqplot-yaxis-label","jqplot-y2axis-label","jqplot-y3axis-label","jqplot-y4axis-label","jqplot-y5axis-label","jqplot-y6axis-label","jqplot-y7axis-label","jqplot-y8axis-label","jqplot-y9axis-label"];var temptop,templeft,tempbottom,tempright;for(var i=0;i<clses.length;i++){$(this).find("."+clses[i]).each(function(){temptop=$(this).offset().top-plottop;templeft=$(this).offset().left-plotleft;tempright=templeft+$(this).outerWidth(true)+transx;tempbottom=temptop+$(this).outerHeight(true)+transy;if(templeft<-transx){w=w-transx-templeft;transx=-templeft}if(temptop<-transy){h=h-transy-temptop;transy=-temptop}if(tempright>w){w=tempright}if(tempbottom>h){h=tempbottom}})}newCanvas.width=w+Number(x_offset);newCanvas.height=h+Number(y_offset);var newContext=newCanvas.getContext("2d");newContext.save();newContext.fillStyle=backgroundColor;newContext.fillRect(0,0,newCanvas.width,newCanvas.height);newContext.restore();newContext.translate(transx,transy);newContext.textAlign="left";newContext.textBaseline="top";function getLineheight(el){var lineheight=parseInt($(el).css("line-height"),10);if(isNaN(lineheight)){lineheight=parseInt($(el).css("font-size"),10)*1.2}return lineheight}function writeWrappedText(el,context,text,left,top,canvasWidth){var lineheight=getLineheight(el);var tagwidth=$(el).innerWidth();var tagheight=$(el).innerHeight();var words=text.split(/\s+/);var wl=words.length;var w="";var breaks=[];var temptop=top;var templeft=left;for(var i=0;i<wl;i++){w+=words[i];if(context.measureText(w).width>tagwidth){breaks.push(i);w="";i--}}if(breaks.length===0){if($(el).css("textAlign")==="center"){templeft=left+(canvasWidth-context.measureText(w).width)/2-transx}context.fillText(text,templeft,top)}else{w=words.slice(0,breaks[0]).join(" ");if($(el).css("textAlign")==="center"){templeft=left+(canvasWidth-context.measureText(w).width)/2-transx}context.fillText(w,templeft,temptop);temptop+=lineheight;for(var i=1,l=breaks.length;i<l;i++){w=words.slice(breaks[i-1],breaks[i]).join(" ");if($(el).css("textAlign")==="center"){templeft=left+(canvasWidth-context.measureText(w).width)/2-transx}context.fillText(w,templeft,temptop);temptop+=lineheight}w=words.slice(breaks[i-1],words.length).join(" ");if($(el).css("textAlign")==="center"){templeft=left+(canvasWidth-context.measureText(w).width)/2-transx}context.fillText(w,templeft,temptop)}}function _jqpToImage(el,x_offset,y_offset){var tagname=el.tagName.toLowerCase();var p=$(el).position();var css=window.getComputedStyle?window.getComputedStyle(el,""):el.currentStyle;var left=x_offset+p.left+parseInt(css.marginLeft,10)+parseInt(css.borderLeftWidth,10)+parseInt(css.paddingLeft,10);var top=y_offset+p.top+parseInt(css.marginTop,10)+parseInt(css.borderTopWidth,10)+parseInt(css.paddingTop,10);var w=newCanvas.width;if((tagname=="div"||tagname=="span")&&!$(el).hasClass("jqplot-highlighter-tooltip")){$(el).children().each(function(){_jqpToImage(this,left,top)});var text=$(el).jqplotChildText();if(text){newContext.font=$(el).jqplotGetComputedFontStyle();newContext.fillStyle=$(el).css("color");writeWrappedText(el,newContext,text,left,top,w)}}else if(tagname==="table"&&$(el).hasClass("jqplot-table-legend")){newContext.strokeStyle=$(el).css("border-top-color");
newContext.fillStyle=$(el).css("background-color");newContext.fillRect(left,top,$(el).innerWidth(),$(el).innerHeight());if(parseInt($(el).css("border-top-width"),10)>0){newContext.strokeRect(left,top,$(el).innerWidth(),$(el).innerHeight())}$(el).find("div.jqplot-table-legend-swatch-outline").each(function(){var elem=$(this);newContext.strokeStyle=elem.css("border-top-color");var l=left+elem.position().left;var t=top+elem.position().top;newContext.strokeRect(l,t,elem.innerWidth(),elem.innerHeight());l+=parseInt(elem.css("padding-left"),10);t+=parseInt(elem.css("padding-top"),10);var h=elem.innerHeight()-2*parseInt(elem.css("padding-top"),10);var w=elem.innerWidth()-2*parseInt(elem.css("padding-left"),10);var swatch=elem.children("div.jqplot-table-legend-swatch");newContext.fillStyle=swatch.css("background-color");newContext.fillRect(l,t,w,h)});$(el).find("td.jqplot-table-legend-label").each(function(){var elem=$(this);var l=left+elem.position().left;var t=top+elem.position().top+parseInt(elem.css("padding-top"),10);newContext.font=elem.jqplotGetComputedFontStyle();newContext.fillStyle=elem.css("color");writeWrappedText(elem,newContext,elem.text(),l,t,w)});var elem=null}else if(tagname=="canvas"){newContext.drawImage(el,left,top)}}$(this).children().each(function(){_jqpToImage(this,x_offset,y_offset)});return newCanvas};$.fn.jqplotToImageStr=function(options){var imgCanvas=$(this).jqplotToImageCanvas(options);if(imgCanvas){return imgCanvas.toDataURL("image/png")}else{return null}};$.fn.jqplotToImageElem=function(options){var elem=document.createElement("img");var str=$(this).jqplotToImageStr(options);elem.src=str;return elem};$.fn.jqplotToImageElemStr=function(options){var str="<img src="+$(this).jqplotToImageStr(options)+" />";return str};$.fn.jqplotSaveImage=function(){var imgData=$(this).jqplotToImageStr({});if(imgData){window.location.href=imgData.replace("image/png","image/octet-stream")}};$.fn.jqplotViewImage=function(){var imgStr=$(this).jqplotToImageElemStr({});var imgData=$(this).jqplotToImageStr({});if(imgStr){var w=window.open("");w.document.open("image/png");w.document.write(imgStr);w.document.close();w=null}};var jsDate=function(){this.syntax=jsDate.config.syntax;this._type="jsDate";this.proxy=new Date;this.options={};this.locale=jsDate.regional.getLocale();this.formatString="";this.defaultCentury=jsDate.config.defaultCentury;switch(arguments.length){case 0:break;case 1:if(get_type(arguments[0])=="[object Object]"&&arguments[0]._type!="jsDate"){var opts=this.options=arguments[0];this.syntax=opts.syntax||this.syntax;this.defaultCentury=opts.defaultCentury||this.defaultCentury;this.proxy=jsDate.createDate(opts.date)}else{this.proxy=jsDate.createDate(arguments[0])}break;default:var a=[];for(var i=0;i<arguments.length;i++){a.push(arguments[i])}this.proxy=new Date;this.proxy.setFullYear.apply(this.proxy,a.slice(0,3));if(a.slice(3).length){this.proxy.setHours.apply(this.proxy,a.slice(3))}break}};jsDate.config={defaultLocale:"en",syntax:"perl",defaultCentury:1900};jsDate.prototype.add=function(number,unit){var factor=multipliers[unit]||multipliers.day;if(typeof factor=="number"){this.proxy.setTime(this.proxy.getTime()+factor*number)}else{factor.add(this,number)}return this};jsDate.prototype.clone=function(){return new jsDate(this.proxy.getTime())};jsDate.prototype.getUtcOffset=function(){return this.proxy.getTimezoneOffset()*6e4};jsDate.prototype.diff=function(dateObj,unit,allowDecimal){dateObj=new jsDate(dateObj);if(dateObj===null){return null}var factor=multipliers[unit]||multipliers.day;if(typeof factor=="number"){var unitDiff=(this.proxy.getTime()-dateObj.proxy.getTime())/factor}else{var unitDiff=factor.diff(this.proxy,dateObj.proxy)}return allowDecimal?unitDiff:Math[unitDiff>0?"floor":"ceil"](unitDiff)};jsDate.prototype.getAbbrDayName=function(){return jsDate.regional[this.locale]["dayNamesShort"][this.proxy.getDay()]};jsDate.prototype.getAbbrMonthName=function(){return jsDate.regional[this.locale]["monthNamesShort"][this.proxy.getMonth()]};jsDate.prototype.getAMPM=function(){return this.proxy.getHours()>=12?"PM":"AM"};jsDate.prototype.getAmPm=function(){return this.proxy.getHours()>=12?"pm":"am"};jsDate.prototype.getCentury=function(){return parseInt(this.proxy.getFullYear()/100,10)};jsDate.prototype.getDate=function(){return this.proxy.getDate()};jsDate.prototype.getDay=function(){return this.proxy.getDay()};jsDate.prototype.getDayOfWeek=function(){var dow=this.proxy.getDay();return dow===0?7:dow};jsDate.prototype.getDayOfYear=function(){var d=this.proxy;var ms=d-new Date(""+d.getFullYear()+"/1/1 GMT");ms+=d.getTimezoneOffset()*6e4;d=null;return parseInt(ms/6e4/60/24,10)+1};jsDate.prototype.getDayName=function(){return jsDate.regional[this.locale]["dayNames"][this.proxy.getDay()]};jsDate.prototype.getFullWeekOfYear=function(){var d=this.proxy;var doy=this.getDayOfYear();var rdow=6-d.getDay();var woy=parseInt((doy+rdow)/7,10);return woy};jsDate.prototype.getFullYear=function(){return this.proxy.getFullYear()};jsDate.prototype.getGmtOffset=function(){var hours=this.proxy.getTimezoneOffset()/60;var prefix=hours<0?"+":"-";hours=Math.abs(hours);return prefix+addZeros(Math.floor(hours),2)+":"+addZeros(hours%1*60,2)};jsDate.prototype.getHours=function(){return this.proxy.getHours()};jsDate.prototype.getHours12=function(){var hours=this.proxy.getHours();return hours>12?hours-12:hours==0?12:hours};jsDate.prototype.getIsoWeek=function(){var d=this.proxy;var woy=this.getWeekOfYear();var dow1_1=new Date(""+d.getFullYear()+"/1/1").getDay();var idow=woy+(dow1_1>4||dow1_1<=1?0:1);if(idow==53&&new Date(""+d.getFullYear()+"/12/31").getDay()<4){idow=1}else if(idow===0){d=new jsDate(new Date(""+(d.getFullYear()-1)+"/12/31"));idow=d.getIsoWeek()}d=null;return idow};jsDate.prototype.getMilliseconds=function(){return this.proxy.getMilliseconds()};jsDate.prototype.getMinutes=function(){return this.proxy.getMinutes()};jsDate.prototype.getMonth=function(){return this.proxy.getMonth()};jsDate.prototype.getMonthName=function(){return jsDate.regional[this.locale]["monthNames"][this.proxy.getMonth()]};jsDate.prototype.getMonthNumber=function(){return this.proxy.getMonth()+1};jsDate.prototype.getSeconds=function(){return this.proxy.getSeconds()};jsDate.prototype.getShortYear=function(){return this.proxy.getYear()%100};jsDate.prototype.getTime=function(){return this.proxy.getTime()};jsDate.prototype.getTimezoneAbbr=function(){return this.proxy.toString().replace(/^.*\(([^)]+)\)$/,"$1")};jsDate.prototype.getTimezoneName=function(){var match=/(?:\((.+)\)$| ([A-Z]{3}) )/.exec(this.toString());return match[1]||match[2]||"GMT"+this.getGmtOffset()};jsDate.prototype.getTimezoneOffset=function(){return this.proxy.getTimezoneOffset()};jsDate.prototype.getWeekOfYear=function(){var doy=this.getDayOfYear();var rdow=7-this.getDayOfWeek();var woy=parseInt((doy+rdow)/7,10);return woy};jsDate.prototype.getUnix=function(){return Math.round(this.proxy.getTime()/1e3,0)};jsDate.prototype.getYear=function(){return this.proxy.getYear()};jsDate.prototype.next=function(unit){unit=unit||"day";return this.clone().add(1,unit)};jsDate.prototype.set=function(){switch(arguments.length){case 0:this.proxy=new Date;break;case 1:if(get_type(arguments[0])=="[object Object]"&&arguments[0]._type!="jsDate"){var opts=this.options=arguments[0];this.syntax=opts.syntax||this.syntax;this.defaultCentury=opts.defaultCentury||this.defaultCentury;this.proxy=jsDate.createDate(opts.date)}else{this.proxy=jsDate.createDate(arguments[0])}break;default:var a=[];for(var i=0;i<arguments.length;i++){a.push(arguments[i])}this.proxy=new Date;this.proxy.setFullYear.apply(this.proxy,a.slice(0,3));if(a.slice(3).length){this.proxy.setHours.apply(this.proxy,a.slice(3))}break}return this};jsDate.prototype.setDate=function(n){this.proxy.setDate(n);return this};jsDate.prototype.setFullYear=function(){this.proxy.setFullYear.apply(this.proxy,arguments);return this};jsDate.prototype.setHours=function(){this.proxy.setHours.apply(this.proxy,arguments);return this};jsDate.prototype.setMilliseconds=function(n){this.proxy.setMilliseconds(n);return this};jsDate.prototype.setMinutes=function(){this.proxy.setMinutes.apply(this.proxy,arguments);return this};jsDate.prototype.setMonth=function(){this.proxy.setMonth.apply(this.proxy,arguments);return this};jsDate.prototype.setSeconds=function(){this.proxy.setSeconds.apply(this.proxy,arguments);return this};jsDate.prototype.setTime=function(n){this.proxy.setTime(n);return this};jsDate.prototype.setYear=function(){this.proxy.setYear.apply(this.proxy,arguments);return this};jsDate.prototype.strftime=function(formatString){formatString=formatString||this.formatString||jsDate.regional[this.locale]["formatString"];return jsDate.strftime(this,formatString,this.syntax)};jsDate.prototype.toString=function(){return this.proxy.toString()};jsDate.prototype.toYmdInt=function(){return this.proxy.getFullYear()*1e4+this.getMonthNumber()*100+this.proxy.getDate()};jsDate.regional={en:{monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],formatString:"%Y-%m-%d %H:%M:%S"},fr:{monthNames:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthNamesShort:["Jan","Fév","Mar","Avr","Mai","Jun","Jul","Aoû","Sep","Oct","Nov","Déc"],dayNames:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],dayNamesShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],formatString:"%Y-%m-%d %H:%M:%S"},de:{monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],formatString:"%Y-%m-%d %H:%M:%S"},es:{monthNames:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthNamesShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],dayNames:["Domingo","Lunes","Martes","Mi&eacute;rcoles","Jueves","Viernes","S&aacute;bado"],dayNamesShort:["Dom","Lun","Mar","Mi&eacute;","Juv","Vie","S&aacute;b"],formatString:"%Y-%m-%d %H:%M:%S"},ru:{monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthNamesShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],dayNames:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],dayNamesShort:["вск","пнд","втр","срд","чтв","птн","сбт"],formatString:"%Y-%m-%d %H:%M:%S"},ar:{monthNames:["كانون الثاني","شباط","آذار","نيسان","آذار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["السبت","الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة"],dayNamesShort:["سبت","أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة"],formatString:"%Y-%m-%d %H:%M:%S"},pt:{monthNames:["Janeiro","Fevereiro","Mar&ccedil;o","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Ter&ccedil;a-feira","Quarta-feira","Quinta-feira","Sexta-feira","S&aacute;bado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","S&aacute;b"],formatString:"%Y-%m-%d %H:%M:%S"},"pt-BR":{monthNames:["Janeiro","Fevereiro","Mar&ccedil;o","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Ter&ccedil;a-feira","Quarta-feira","Quinta-feira","Sexta-feira","S&aacute;bado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","S&aacute;b"],formatString:"%Y-%m-%d %H:%M:%S"},pl:{monthNames:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthNamesShort:["Sty","Lut","Mar","Kwi","Maj","Cze","Lip","Sie","Wrz","Paź","Lis","Gru"],dayNames:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],dayNamesShort:["Ni","Pn","Wt","Śr","Cz","Pt","Sb"],formatString:"%Y-%m-%d %H:%M:%S"},nl:{monthNames:["Januari","Februari","Maart","April","Mei","Juni","July","Augustus","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:","[("Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag")],dayNamesShort:["Zo","Ma","Di","Wo","Do","Vr","Za"],formatString:"%Y-%m-%d %H:%M:%S"},sv:{monthNames:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],monthNamesShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],dayNames:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],dayNamesShort:["sön","mån","tis","ons","tor","fre","lör"],formatString:"%Y-%m-%d %H:%M:%S"}};jsDate.regional["en-US"]=jsDate.regional["en-GB"]=jsDate.regional["en"];jsDate.regional.getLocale=function(){var l=jsDate.config.defaultLocale;if(document&&document.getElementsByTagName("html")&&document.getElementsByTagName("html")[0].lang){l=document.getElementsByTagName("html")[0].lang;if(!jsDate.regional.hasOwnProperty(l)){l=jsDate.config.defaultLocale}}return l};var day=24*60*60*1e3;var addZeros=function(num,digits){num=String(num);var i=digits-num.length;var s=String(Math.pow(10,i)).slice(1);return s.concat(num)};var multipliers={millisecond:1,second:1e3,minute:60*1e3,hour:60*60*1e3,day:day,week:7*day,month:{add:function(d,number){multipliers.year.add(d,Math[number>0?"floor":"ceil"](number/12));var prevMonth=d.getMonth()+number%12;if(prevMonth==12){prevMonth=0;d.setYear(d.getFullYear()+1)}else if(prevMonth==-1){prevMonth=11;d.setYear(d.getFullYear()-1)}d.setMonth(prevMonth)},diff:function(d1,d2){var diffYears=d1.getFullYear()-d2.getFullYear();var diffMonths=d1.getMonth()-d2.getMonth()+diffYears*12;var diffDays=d1.getDate()-d2.getDate();return diffMonths+diffDays/30}},year:{add:function(d,number){d.setYear(d.getFullYear()+Math[number>0?"floor":"ceil"](number))},diff:function(d1,d2){return multipliers.month.diff(d1,d2)/12}}};for(var unit in multipliers){if(unit.substring(unit.length-1)!="s"){multipliers[unit+"s"]=multipliers[unit]}}var format=function(d,code,syntax){if(jsDate.formats[syntax]["shortcuts"][code]){return jsDate.strftime(d,jsDate.formats[syntax]["shortcuts"][code],syntax)}else{var getter=(jsDate.formats[syntax]["codes"][code]||"").split(".");var nbr=d["get"+getter[0]]?d["get"+getter[0]]():"";if(getter[1]){nbr=addZeros(nbr,getter[1])}return nbr}};jsDate.strftime=function(d,formatString,syntax,locale){var syn="perl";var loc=jsDate.regional.getLocale();if(syntax&&jsDate.formats.hasOwnProperty(syntax)){syn=syntax}else if(syntax&&jsDate.regional.hasOwnProperty(syntax)){loc=syntax}if(locale&&jsDate.formats.hasOwnProperty(locale)){syn=locale}else if(locale&&jsDate.regional.hasOwnProperty(locale)){loc=locale}if(get_type(d)!="[object Object]"||d._type!="jsDate"){d=new jsDate(d);d.locale=loc}if(!formatString){formatString=d.formatString||jsDate.regional[loc]["formatString"]}var source=formatString||"%Y-%m-%d",result="",match;while(source.length>0){if(match=source.match(jsDate.formats[syn].codes.matcher)){result+=source.slice(0,match.index);result+=(match[1]||"")+format(d,match[2],syn);source=source.slice(match.index+match[0].length)}else{result+=source;source=""}}return result};jsDate.formats={ISO:"%Y-%m-%dT%H:%M:%S.%N%G",SQL:"%Y-%m-%d %H:%M:%S"};jsDate.formats.perl={codes:{matcher:/()%(#?(%|[a-z]))/i,Y:"FullYear",y:"ShortYear.2",m:"MonthNumber.2","#m":"MonthNumber",B:"MonthName",b:"AbbrMonthName",d:"Date.2","#d":"Date",e:"Date",A:"DayName",a:"AbbrDayName",w:"Day",H:"Hours.2","#H":"Hours",I:"Hours12.2","#I":"Hours12",p:"AMPM",M:"Minutes.2","#M":"Minutes",S:"Seconds.2","#S":"Seconds",s:"Unix",N:"Milliseconds.3","#N":"Milliseconds",O:"TimezoneOffset",Z:"TimezoneName",G:"GmtOffset"},shortcuts:{F:"%Y-%m-%d",T:"%H:%M:%S",X:"%H:%M:%S",x:"%m/%d/%y",D:"%m/%d/%y","#c":"%a %b %e %H:%M:%S %Y",v:"%e-%b-%Y",R:"%H:%M",r:"%I:%M:%S %p",t:"	",n:"\n","%":"%"}};jsDate.formats.php={codes:{matcher:/()%((%|[a-z]))/i,a:"AbbrDayName",A:"DayName",d:"Date.2",e:"Date",j:"DayOfYear.3",u:"DayOfWeek",w:"Day",U:"FullWeekOfYear.2",V:"IsoWeek.2",W:"WeekOfYear.2",b:"AbbrMonthName",B:"MonthName",m:"MonthNumber.2",h:"AbbrMonthName",C:"Century.2",y:"ShortYear.2",Y:"FullYear",H:"Hours.2",I:"Hours12.2",l:"Hours12",p:"AMPM",P:"AmPm",M:"Minutes.2",S:"Seconds.2",s:"Unix",O:"TimezoneOffset",z:"GmtOffset",Z:"TimezoneAbbr"},shortcuts:{D:"%m/%d/%y",F:"%Y-%m-%d",T:"%H:%M:%S",X:"%H:%M:%S",x:"%m/%d/%y",R:"%H:%M",r:"%I:%M:%S %p",t:"	",n:"\n","%":"%"}};jsDate.createDate=function(date){if(date==null){return new Date}if(date instanceof Date){return date}if(typeof date=="number"){return new Date(date)}var parsable=String(date).replace(/^\s*(.+)\s*$/g,"$1");parsable=parsable.replace(/^([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,4})/,"$1/$2/$3");parsable=parsable.replace(/^(3[01]|[0-2]?\d)[-\/]([a-z]{3,})[-\/](\d{4})/i,"$1 $2 $3");var match=parsable.match(/^(3[01]|[0-2]?\d)[-\/]([a-z]{3,})[-\/](\d{2})\D*/i);if(match&&match.length>3){var m3=parseFloat(match[3]);var ny=jsDate.config.defaultCentury+m3;ny=String(ny);parsable=parsable.replace(/^(3[01]|[0-2]?\d)[-\/]([a-z]{3,})[-\/](\d{2})\D*/i,match[1]+" "+match[2]+" "+ny)}match=parsable.match(/^([0-9]{1,2})[-\/]([0-9]{1,2})[-\/]([0-9]{1,2})[^0-9]/);function h1(parsable,match){var m1=parseFloat(match[1]);var m2=parseFloat(match[2]);var m3=parseFloat(match[3]);var cent=jsDate.config.defaultCentury;var ny,nd,nm,str;if(m1>31){nd=m3;nm=m2;ny=cent+m1}else{nd=m2;nm=m1;ny=cent+m3}str=nm+"/"+nd+"/"+ny;return parsable.replace(/^([0-9]{1,2})[-\/]([0-9]{1,2})[-\/]([0-9]{1,2})/,str)}if(match&&match.length>3){parsable=h1(parsable,match)}var match=parsable.match(/^([0-9]{1,2})[-\/]([0-9]{1,2})[-\/]([0-9]{1,2})$/);if(match&&match.length>3){parsable=h1(parsable,match)}var i=0;var length=jsDate.matchers.length;var pattern,ms,current=parsable,obj;while(i<length){ms=Date.parse(current);if(!isNaN(ms)){return new Date(ms)}pattern=jsDate.matchers[i];if(typeof pattern=="function"){obj=pattern.call(jsDate,current);if(obj instanceof Date){return obj}}else{current=parsable.replace(pattern[0],pattern[1])}i++}return NaN};jsDate.daysInMonth=function(year,month){if(month==2){return new Date(year,1,29).getDate()==29?29:28}return[undefined,31,undefined,31,30,31,30,31,31,30,31,30,31][month]};jsDate.matchers=[[/(3[01]|[0-2]\d)\s*\.\s*(1[0-2]|0\d)\s*\.\s*([1-9]\d{3})/,"$2/$1/$3"],[/([1-9]\d{3})\s*-\s*(1[0-2]|0\d)\s*-\s*(3[01]|[0-2]\d)/,"$2/$3/$1"],function(str){var match=str.match(/^(?:(.+)\s+)?([012]?\d)(?:\s*\:\s*(\d\d))?(?:\s*\:\s*(\d\d(\.\d*)?))?\s*(am|pm)?\s*$/i);if(match){if(match[1]){var d=this.createDate(match[1]);if(isNaN(d)){return}}else{var d=new Date;d.setMilliseconds(0)}var hour=parseFloat(match[2]);if(match[6]){hour=match[6].toLowerCase()=="am"?hour==12?0:hour:hour==12?12:hour+12}d.setHours(hour,parseInt(match[3]||0,10),parseInt(match[4]||0,10),(parseFloat(match[5]||0)||0)*1e3);return d}else{return str}},function(str){var match=str.match(/^(?:(.+))[T|\s+]([012]\d)(?:\:(\d\d))(?:\:(\d\d))(?:\.\d+)([\+\-]\d\d\:\d\d)$/i);if(match){if(match[1]){var d=this.createDate(match[1]);if(isNaN(d)){return}}else{var d=new Date;d.setMilliseconds(0)}var hour=parseFloat(match[2]);d.setHours(hour,parseInt(match[3],10),parseInt(match[4],10),parseFloat(match[5])*1e3);return d}else{return str}},function(str){var match=str.match(/^([0-3]?\d)\s*[-\/.\s]{1}\s*([a-zA-Z]{3,9})\s*[-\/.\s]{1}\s*([0-3]?\d)$/);if(match){var d=new Date;var cent=jsDate.config.defaultCentury;var m1=parseFloat(match[1]);var m3=parseFloat(match[3]);var ny,nd,nm;if(m1>31){nd=m3;ny=cent+m1}else{nd=m1;ny=cent+m3}var nm=inArray(match[2],jsDate.regional[jsDate.regional.getLocale()]["monthNamesShort"]);if(nm==-1){nm=inArray(match[2],jsDate.regional[jsDate.regional.getLocale()]["monthNames"])}d.setFullYear(ny,nm,nd);d.setHours(0,0,0,0);return d}else{return str}}];function inArray(elem,array){if(array.indexOf){return array.indexOf(elem)}for(var i=0,length=array.length;i<length;i++){if(array[i]===elem){return i}}return-1}function get_type(thing){if(thing===null)return"[object Null]";return Object.prototype.toString.call(thing)}$.jsDate=jsDate;$.jqplot.sprintf=function(){function pad(str,len,chr,leftJustify){var padding=str.length>=len?"":Array(1+len-str.length>>>0).join(chr);return leftJustify?str+padding:padding+str}function thousand_separate(value){var value_str=new String(value);for(var i=10;i>0;i--){if(value_str==(value_str=value_str.replace(/^(\d+)(\d{3})/,"$1"+$.jqplot.sprintf.thousandsSeparator+"$2")))break}return value_str}function justify(value,prefix,leftJustify,minWidth,zeroPad,htmlSpace){var diff=minWidth-value.length;if(diff>0){var spchar=" ";if(htmlSpace){spchar="&nbsp;"}if(leftJustify||!zeroPad){value=pad(value,minWidth,spchar,leftJustify)}else{value=value.slice(0,prefix.length)+pad("",diff,"0",true)+value.slice(prefix.length)}}return value}function formatBaseX(value,base,prefix,leftJustify,minWidth,precision,zeroPad,htmlSpace){var number=value>>>0;prefix=prefix&&number&&{2:"0b",8:"0",16:"0x"}[base]||"";value=prefix+pad(number.toString(base),precision||0,"0",false);return justify(value,prefix,leftJustify,minWidth,zeroPad,htmlSpace)}function formatString(value,leftJustify,minWidth,precision,zeroPad,htmlSpace){if(precision!=null){value=value.slice(0,precision)}return justify(value,"",leftJustify,minWidth,zeroPad,htmlSpace)}var a=arguments,i=0,format=a[i++];return format.replace($.jqplot.sprintf.regex,function(substring,valueIndex,flags,minWidth,_,precision,type){if(substring=="%%"){return"%"}var leftJustify=false,positivePrefix="",zeroPad=false,prefixBaseX=false,htmlSpace=false,thousandSeparation=false;for(var j=0;flags&&j<flags.length;j++)switch(flags.charAt(j)){case" ":positivePrefix=" ";break;case"+":positivePrefix="+";break;case"-":leftJustify=true;break;case"0":zeroPad=true;break;case"#":prefixBaseX=true;break;case"&":htmlSpace=true;break;case"'":thousandSeparation=true;break}if(!minWidth){minWidth=0}else if(minWidth=="*"){minWidth=+a[i++]}else if(minWidth.charAt(0)=="*"){minWidth=+a[minWidth.slice(1,-1)]}else{minWidth=+minWidth}if(minWidth<0){minWidth=-minWidth;leftJustify=true}if(!isFinite(minWidth)){throw new Error("$.jqplot.sprintf: (minimum-)width must be finite")}if(!precision){precision="fFeE".indexOf(type)>-1?6:type=="d"?0:void 0}else if(precision=="*"){precision=+a[i++]}else if(precision.charAt(0)=="*"){precision=+a[precision.slice(1,-1)]}else{precision=+precision}var value=valueIndex?a[valueIndex.slice(0,-1)]:a[i++];switch(type){case"s":{if(value==null){return""}return formatString(String(value),leftJustify,minWidth,precision,zeroPad,htmlSpace)}case"c":return formatString(String.fromCharCode(+value),leftJustify,minWidth,precision,zeroPad,htmlSpace);case"b":return formatBaseX(value,2,prefixBaseX,leftJustify,minWidth,precision,zeroPad,htmlSpace);case"o":return formatBaseX(value,8,prefixBaseX,leftJustify,minWidth,precision,zeroPad,htmlSpace);case"x":return formatBaseX(value,16,prefixBaseX,leftJustify,minWidth,precision,zeroPad,htmlSpace);case"X":return formatBaseX(value,16,prefixBaseX,leftJustify,minWidth,precision,zeroPad,htmlSpace).toUpperCase();case"u":return formatBaseX(value,10,prefixBaseX,leftJustify,minWidth,precision,zeroPad,htmlSpace);case"i":{var number=parseInt(+value,10);if(isNaN(number)){return""}var prefix=number<0?"-":positivePrefix;var number_str=thousandSeparation?thousand_separate(String(Math.abs(number))):String(Math.abs(number));value=prefix+pad(number_str,precision,"0",false);return justify(value,prefix,leftJustify,minWidth,zeroPad,htmlSpace)}case"d":{var number=Math.round(+value);if(isNaN(number)){return""}var prefix=number<0?"-":positivePrefix;var number_str=thousandSeparation?thousand_separate(String(Math.abs(number))):String(Math.abs(number));value=prefix+pad(number_str,precision,"0",false);return justify(value,prefix,leftJustify,minWidth,zeroPad,htmlSpace)}case"e":case"E":case"f":case"F":case"g":case"G":{var number=+value;if(isNaN(number)){return""}var prefix=number<0?"-":positivePrefix;var method=["toExponential","toFixed","toPrecision"]["efg".indexOf(type.toLowerCase())];var textTransform=["toString","toUpperCase"]["eEfFgG".indexOf(type)%2];var number_str=Math.abs(number)[method](precision);var parts=number_str.toString().split(".");parts[0]=thousandSeparation?thousand_separate(parts[0]):parts[0];number_str=parts.join($.jqplot.sprintf.decimalMark);value=prefix+number_str;var justified=justify(value,prefix,leftJustify,minWidth,zeroPad,htmlSpace)[textTransform]();return justified}case"p":case"P":{var number=+value;if(isNaN(number)){return""}var prefix=number<0?"-":positivePrefix;var parts=String(Number(Math.abs(number)).toExponential()).split(/e|E/);var sd=parts[0].indexOf(".")!=-1?parts[0].length-1:String(number).length;var zeros=parts[1]<0?-parts[1]-1:0;if(Math.abs(number)<1){if(sd+zeros<=precision){value=prefix+Math.abs(number).toPrecision(sd)}else{if(sd<=precision-1){value=prefix+Math.abs(number).toExponential(sd-1)}else{value=prefix+Math.abs(number).toExponential(precision-1)}}}else{var prec=sd<=precision?sd:precision;value=prefix+Math.abs(number).toPrecision(prec)}var textTransform=["toString","toUpperCase"]["pP".indexOf(type)%2];return justify(value,prefix,leftJustify,minWidth,zeroPad,htmlSpace)[textTransform]()}case"n":return"";default:return substring}})};$.jqplot.sprintf.thousandsSeparator=",";$.jqplot.sprintf.decimalMark=".";$.jqplot.sprintf.regex=/%%|%(\d+\$)?([-+#0&\' ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([nAscboxXuidfegpEGP])/g;$.jqplot.getSignificantFigures=function(number){var parts=String(Number(Math.abs(number)).toExponential()).split(/e|E/);var sd=parts[0].indexOf(".")!=-1?parts[0].length-1:parts[0].length;var zeros=parts[1]<0?-parts[1]-1:0;var expn=parseInt(parts[1],10);var dleft=expn+1>0?expn+1:0;var dright=sd<=dleft?0:sd-expn-1;return{significantDigits:sd,digitsLeft:dleft,digitsRight:dright,zeros:zeros,exponent:expn}};$.jqplot.getPrecision=function(number){return $.jqplot.getSignificantFigures(number).digitsRight};var backCompat=$.uiBackCompat!==false;$.jqplot.effects={effect:{}};var dataSpace="jqplot.storage.";$.extend($.jqplot.effects,{version:"1.9pre",save:function(element,set){for(var i=0;i<set.length;i++){if(set[i]!==null){element.data(dataSpace+set[i],element[0].style[set[i]])}}},restore:function(element,set){for(var i=0;i<set.length;i++){if(set[i]!==null){element.css(set[i],element.data(dataSpace+set[i]))}}},setMode:function(el,mode){if(mode==="toggle"){mode=el.is(":hidden")?"show":"hide"}return mode},createWrapper:function(element){if(element.parent().is(".ui-effects-wrapper")){return element.parent()}var props={width:element.outerWidth(true),height:element.outerHeight(true),float:element.css("float")},wrapper=$("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),size={width:element.width(),height:element.height()},active=document.activeElement;element.wrap(wrapper);if(element[0]===active||$.contains(element[0],active)){$(active).focus()}wrapper=element.parent();if(element.css("position")==="static"){wrapper.css({position:"relative"});element.css({position:"relative"})}else{$.extend(props,{position:element.css("position"),zIndex:element.css("z-index")});$.each(["top","left","bottom","right"],function(i,pos){props[pos]=element.css(pos);if(isNaN(parseInt(props[pos],10))){props[pos]="auto"}});element.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}element.css(size);return wrapper.css(props).show()},removeWrapper:function(element){var active=document.activeElement;if(element.parent().is(".ui-effects-wrapper")){element.parent().replaceWith(element);if(element[0]===active||$.contains(element[0],active)){$(active).focus()}}return element}});function _normalizeArguments(effect,options,speed,callback){if($.isPlainObject(effect)){return effect}effect={effect:effect};if(options===undefined){options={}}if($.isFunction(options)){callback=options;speed=null;options={}}if($.type(options)==="number"||$.fx.speeds[options]){callback=speed;speed=options;options={}}if($.isFunction(speed)){callback=speed;speed=null}if(options){$.extend(effect,options)}speed=speed||options.duration;effect.duration=$.fx.off?0:typeof speed==="number"?speed:speed in $.fx.speeds?$.fx.speeds[speed]:$.fx.speeds._default;effect.complete=callback||options.complete;return effect}function standardSpeed(speed){if(!speed||typeof speed==="number"||$.fx.speeds[speed]){return true}if(typeof speed==="string"&&!$.jqplot.effects.effect[speed]){if(backCompat&&$.jqplot.effects[speed]){return false}return true}return false}$.fn.extend({jqplotEffect:function(effect,options,speed,callback){var args=_normalizeArguments.apply(this,arguments),mode=args.mode,queue=args.queue,effectMethod=$.jqplot.effects.effect[args.effect],oldEffectMethod=!effectMethod&&backCompat&&$.jqplot.effects[args.effect];if($.fx.off||!(effectMethod||oldEffectMethod)){if(mode){return this[mode](args.duration,args.complete)}else{return this.each(function(){if(args.complete){args.complete.call(this)}})}}function run(next){var elem=$(this),complete=args.complete,mode=args.mode;function done(){if($.isFunction(complete)){complete.call(elem[0])}if($.isFunction(next)){next()}}if(elem.is(":hidden")?mode==="hide":mode==="show"){done()}else{effectMethod.call(elem[0],args,done)}}if(effectMethod){return queue===false?this.each(run):this.queue(queue||"fx",run)}else{return oldEffectMethod.call(this,{options:args,duration:args.duration,callback:args.complete,mode:args.mode})}}});var rvertical=/up|down|vertical/,rpositivemotion=/up|left|vertical|horizontal/;$.jqplot.effects.effect.blind=function(o,done){var el=$(this),props=["position","top","bottom","left","right","height","width"],mode=$.jqplot.effects.setMode(el,o.mode||"hide"),direction=o.direction||"up",vertical=rvertical.test(direction),ref=vertical?"height":"width",ref2=vertical?"top":"left",motion=rpositivemotion.test(direction),animation={},show=mode==="show",wrapper,distance,top;if(el.parent().is(".ui-effects-wrapper")){$.jqplot.effects.save(el.parent(),props)}else{$.jqplot.effects.save(el,props)}el.show();top=parseInt(el.css("top"),10);wrapper=$.jqplot.effects.createWrapper(el).css({overflow:"hidden"});distance=vertical?wrapper[ref]()+top:wrapper[ref]();animation[ref]=show?String(distance):"0";if(!motion){el.css(vertical?"bottom":"right",0).css(vertical?"top":"left","").css({position:"absolute"});animation[ref2]=show?"0":String(distance)}if(show){wrapper.css(ref,0);if(!motion){wrapper.css(ref2,distance)}}wrapper.animate(animation,{duration:o.duration,easing:o.easing,queue:false,complete:function(){if(mode==="hide"){el.hide()}$.jqplot.effects.restore(el,props);$.jqplot.effects.removeWrapper(el);done()}})}})(jQuery);(function($){$.jqplot.PointLabels=function(options){this.show=$.jqplot.config.enablePlugins;this.location="n";this.labelsFromSeries=false;this.seriesLabelIndex=null;this.labels=[];this._labels=[];this.stackedValue=false;this.ypadding=6;this.xpadding=6;this.escapeHTML=true;this.edgeTolerance=-5;this.formatter=$.jqplot.DefaultTickFormatter;this.formatString="";this.hideZeros=false;this.seriesLabelsForStackedBars=false;this._elems=[];$.extend(true,this,options)};var locations=["nw","n","ne","e","se","s","sw","w"];var locationIndicies={nw:0,n:1,ne:2,e:3,se:4,s:5,sw:6,w:7};var oppositeLocations=["se","s","sw","w","nw","n","ne","e"];
$.jqplot.PointLabels.init=function(target,data,seriesDefaults,opts,plot){var options=$.extend(true,{},seriesDefaults,opts);options.pointLabels=options.pointLabels||{};if(this.renderer.constructor===$.jqplot.BarRenderer&&this.barDirection==="horizontal"&&!options.pointLabels.location){options.pointLabels.location="e"}this.plugins.pointLabels=new $.jqplot.PointLabels(options.pointLabels);this.plugins.pointLabels.setLabels.call(this)};$.jqplot.PointLabels.prototype.setLabels=function(){var p=this.plugins.pointLabels;var labelIdx;if(p.seriesLabelIndex!=null){labelIdx=p.seriesLabelIndex}else if(this.renderer.constructor===$.jqplot.BarRenderer&&this.barDirection==="horizontal"){labelIdx=0}else{labelIdx=this._plotData.length===0?0:this._plotData[0].length-1}p._labels=[];if(p.labels.length===0||p.labelsFromSeries){if(p.stackedValue){if(this._plotData.length&&this._plotData[0].length){for(var i=0;i<this._plotData.length;i++){p._labels.push(this._plotData[i][labelIdx])}}}else{var d=this.data;if(this.renderer.constructor===$.jqplot.BarRenderer&&this.waterfall){d=this._data}if(d.length&&d[0].length){for(var i=0;i<d.length;i++){p._labels.push(d[i][labelIdx])}}d=null}}else if(p.seriesLabelsForStackedBars){p._labels=p.labels[this.index]}else if(p.labels.length){p._labels=p.labels}};$.jqplot.PointLabels.prototype.xOffset=function(elem,location,padding){location=location||this.location;padding=padding||this.xpadding;var offset;switch(location){case"nw":offset=-elem.outerWidth(true)-this.xpadding;break;case"n":offset=-elem.outerWidth(true)/2;break;case"ne":offset=this.xpadding;break;case"e":offset=this.xpadding;break;case"se":offset=this.xpadding;break;case"s":offset=-elem.outerWidth(true)/2;break;case"sw":offset=-elem.outerWidth(true)-this.xpadding;break;case"w":offset=-elem.outerWidth(true)-this.xpadding;break;default:offset=-elem.outerWidth(true)-this.xpadding;break}return offset};$.jqplot.PointLabels.prototype.yOffset=function(elem,location,padding){location=location||this.location;padding=padding||this.xpadding;var offset;switch(location){case"nw":offset=-elem.outerHeight(true)-this.ypadding;break;case"n":offset=-elem.outerHeight(true)-this.ypadding;break;case"ne":offset=-elem.outerHeight(true)-this.ypadding;break;case"e":offset=-elem.outerHeight(true)/2;break;case"se":offset=this.ypadding;break;case"s":offset=this.ypadding;break;case"sw":offset=this.ypadding;break;case"w":offset=-elem.outerHeight(true)/2;break;default:offset=-elem.outerHeight(true)-this.ypadding;break}return offset};$.jqplot.PointLabels.draw=function(sctx,options,plot){var p=this.plugins.pointLabels;p.setLabels.call(this);for(var i=0;i<p._elems.length;i++){p._elems[i].emptyForce()}p._elems.splice(0,p._elems.length);if(p.show){var ax="_"+this._stackAxis+"axis";if(!p.formatString){p.formatString=this[ax]._ticks[0].formatString;p.formatter=this[ax]._ticks[0].formatter}var pd=this._plotData;var ppd=this._prevPlotData;var xax=this._xaxis;var yax=this._yaxis;var elem,helem;for(var i=0,l=p._labels.length;i<l;i++){var label=p._labels[i];if(p.hideZeros&&parseInt(p._labels[i],10)==0){label=""}if(label!=null){label=p.formatter(p.formatString,label)}helem=document.createElement("div");p._elems[i]=$(helem);elem=p._elems[i];elem.addClass("jqplot-point-label jqplot-series-"+this.index+" jqplot-point-"+i);elem.css("position","absolute");elem.insertAfter(sctx.canvas);if(p.escapeHTML){elem.text(label)}else{elem.html(label)}var location=p.location;if(this.fillToZero&&pd[i][1]<0||this.fillToZero&&this._type==="bar"&&this.barDirection==="horizontal"&&pd[i][0]<0||(this.waterfall&&parseInt(label,10))<0){location=oppositeLocations[locationIndicies[location]]}var ell=xax.u2p(pd[i][0])+p.xOffset(elem,location);var elt=yax.u2p(pd[i][1])+p.yOffset(elem,location);if(this._stack&&!p.stackedValue){if(this.barDirection==="vertical"){elt=(this._barPoints[i][0][1]+this._barPoints[i][1][1])/2+plot._gridPadding.top-.5*elem.outerHeight(true)}else{ell=(this._barPoints[i][2][0]+this._barPoints[i][0][0])/2+plot._gridPadding.left-.5*elem.outerWidth(true)}}if(this.renderer.constructor==$.jqplot.BarRenderer){if(this.barDirection=="vertical"){ell+=this._barNudge}else{elt-=this._barNudge}}elem.css("left",ell);elem.css("top",elt);var elr=ell+elem.width();var elb=elt+elem.height();var et=p.edgeTolerance;var scl=$(sctx.canvas).position().left;var sct=$(sctx.canvas).position().top;var scr=sctx.canvas.width+scl;var scb=sctx.canvas.height+sct;if(ell-et<scl||elt-et<sct||elr+et>scr||elb+et>scb){elem.remove()}elem=null;helem=null}}};$.jqplot.postSeriesInitHooks.push($.jqplot.PointLabels.init);$.jqplot.postDrawSeriesHooks.push($.jqplot.PointLabels.draw)})(jQuery);(function($){$.jqplot.BarRenderer=function(){$.jqplot.LineRenderer.call(this)};$.jqplot.BarRenderer.prototype=new $.jqplot.LineRenderer;$.jqplot.BarRenderer.prototype.constructor=$.jqplot.BarRenderer;$.jqplot.BarRenderer.prototype.init=function(options,plot){this.barPadding=8;this.barMargin=10;this.barDirection="vertical";this.barWidth=null;this.shadowOffset=2;this.shadowDepth=5;this.shadowAlpha=.08;this.waterfall=false;this.groups=1;this.varyBarColor=false;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.transposedData=true;this.renderer.animation={show:false,direction:"down",speed:3e3,_supported:true};this._type="bar";if(options.highlightMouseDown&&options.highlightMouseOver==null){options.highlightMouseOver=false}$.extend(true,this,options);$.extend(true,this.renderer,options);this.fill=true;if(this.barDirection==="horizontal"&&this.rendererOptions.animation&&this.rendererOptions.animation.direction==null){this.renderer.animation.direction="left"}if(this.waterfall){this.fillToZero=false;this.disableStack=true}if(this.barDirection=="vertical"){this._primaryAxis="_xaxis";this._stackAxis="y";this.fillAxis="y"}else{this._primaryAxis="_yaxis";this._stackAxis="x";this.fillAxis="x"}this._highlightedPoint=null;this._plotSeriesInfo=null;this._dataColors=[];this._barPoints=[];var opts={lineJoin:"miter",lineCap:"round",fill:true,isarc:false,strokeStyle:this.color,fillStyle:this.color,closePath:this.fill};this.renderer.shapeRenderer.init(opts);var sopts={lineJoin:"miter",lineCap:"round",fill:true,isarc:false,angle:this.shadowAngle,offset:this.shadowOffset,alpha:this.shadowAlpha,depth:this.shadowDepth,closePath:this.fill};this.renderer.shadowRenderer.init(sopts);plot.postInitHooks.addOnce(postInit);plot.postDrawHooks.addOnce(postPlotDraw);plot.eventListenerHooks.addOnce("jqplotMouseMove",handleMove);plot.eventListenerHooks.addOnce("jqplotMouseDown",handleMouseDown);plot.eventListenerHooks.addOnce("jqplotMouseUp",handleMouseUp);plot.eventListenerHooks.addOnce("jqplotClick",handleClick);plot.eventListenerHooks.addOnce("jqplotRightClick",handleRightClick)};function barPreInit(target,data,seriesDefaults,options){if(this.rendererOptions.barDirection=="horizontal"){this._stackAxis="x";this._primaryAxis="_yaxis"}if(this.rendererOptions.waterfall==true){this._data=$.extend(true,[],this.data);var sum=0;var pos=!this.rendererOptions.barDirection||this.rendererOptions.barDirection==="vertical"||this.transposedData===false?1:0;for(var i=0;i<this.data.length;i++){sum+=this.data[i][pos];if(i>0){this.data[i][pos]+=this.data[i-1][pos]}}this.data[this.data.length]=pos==1?[this.data.length+1,sum]:[sum,this.data.length+1];this._data[this._data.length]=pos==1?[this._data.length+1,sum]:[sum,this._data.length+1]}if(this.rendererOptions.groups>1){this.breakOnNull=true;var l=this.data.length;var skip=parseInt(l/this.rendererOptions.groups,10);var count=0;for(var i=skip;i<l;i+=skip){this.data.splice(i+count,0,[null,null]);this._plotData.splice(i+count,0,[null,null]);this._stackData.splice(i+count,0,[null,null]);count++}for(i=0;i<this.data.length;i++){if(this._primaryAxis=="_xaxis"){this.data[i][0]=i+1;this._plotData[i][0]=i+1;this._stackData[i][0]=i+1}else{this.data[i][1]=i+1;this._plotData[i][1]=i+1;this._stackData[i][1]=i+1}}}}$.jqplot.preSeriesInitHooks.push(barPreInit);$.jqplot.BarRenderer.prototype.calcSeriesNumbers=function(){var nvals=0;var nseries=0;var paxis=this[this._primaryAxis];var s,series,pos;for(var i=0;i<paxis._series.length;i++){series=paxis._series[i];if(series===this){pos=i}if(series.renderer.constructor==$.jqplot.BarRenderer){nvals+=series.data.length;nseries+=1}}return[nvals,nseries,pos]};$.jqplot.BarRenderer.prototype.setBarWidth=function(){var i;var nvals=0;var nseries=0;var paxis=this[this._primaryAxis];var s,series,pos;var temp=this._plotSeriesInfo=this.renderer.calcSeriesNumbers.call(this);nvals=temp[0];nseries=temp[1];var nticks=paxis.numberTicks;var nbins=(nticks-1)/2;if(paxis.name=="xaxis"||paxis.name=="x2axis"){if(this._stack){this.barWidth=(paxis._offsets.max-paxis._offsets.min)/nvals*nseries-this.barMargin}else{this.barWidth=((paxis._offsets.max-paxis._offsets.min)/nbins-this.barPadding*(nseries-1)-this.barMargin*2)/nseries}}else{if(this._stack){this.barWidth=(paxis._offsets.min-paxis._offsets.max)/nvals*nseries-this.barMargin}else{this.barWidth=((paxis._offsets.min-paxis._offsets.max)/nbins-this.barPadding*(nseries-1)-this.barMargin*2)/nseries}}return[nvals,nseries]};function computeHighlightColors(colors){var ret=[];for(var i=0;i<colors.length;i++){var rgba=$.jqplot.getColorComponents(colors[i]);var newrgb=[rgba[0],rgba[1],rgba[2]];var sum=newrgb[0]+newrgb[1]+newrgb[2];for(var j=0;j<3;j++){newrgb[j]=sum>570?newrgb[j]*.8:newrgb[j]+.3*(255-newrgb[j]);newrgb[j]=parseInt(newrgb[j],10)}ret.push("rgb("+newrgb[0]+","+newrgb[1]+","+newrgb[2]+")")}return ret}function getStart(sidx,didx,comp,plot,axis){var seriesIndex=sidx,prevSeriesIndex=sidx-1,start,prevVal,aidx=axis==="x"?0:1;if(seriesIndex>0){prevVal=plot.series[prevSeriesIndex]._plotData[didx][aidx];if(comp*prevVal<0){start=getStart(prevSeriesIndex,didx,comp,plot,axis)}else{start=plot.series[prevSeriesIndex].gridData[didx][aidx]}}else{start=aidx===0?plot.series[seriesIndex]._xaxis.series_u2p(0):plot.series[seriesIndex]._yaxis.series_u2p(0)}return start}$.jqplot.BarRenderer.prototype.draw=function(ctx,gridData,options,plot){var i;var opts=$.extend({},options);var shadow=opts.shadow!=undefined?opts.shadow:this.shadow;var showLine=opts.showLine!=undefined?opts.showLine:this.showLine;var fill=opts.fill!=undefined?opts.fill:this.fill;var xaxis=this.xaxis;var yaxis=this.yaxis;var xp=this._xaxis.series_u2p;var yp=this._yaxis.series_u2p;var pointx,pointy;this._dataColors=[];this._barPoints=[];if(this.barWidth==null){this.renderer.setBarWidth.call(this)}var temp=this._plotSeriesInfo=this.renderer.calcSeriesNumbers.call(this);var nvals=temp[0];var nseries=temp[1];var pos=temp[2];var points=[];if(this._stack){this._barNudge=0}else{this._barNudge=(-Math.abs(nseries/2-.5)+pos)*(this.barWidth+this.barPadding)}if(showLine){var negativeColors=new $.jqplot.ColorGenerator(this.negativeSeriesColors);var positiveColors=new $.jqplot.ColorGenerator(this.seriesColors);var negativeColor=negativeColors.get(this.index);if(!this.useNegativeColors){negativeColor=opts.fillStyle}var positiveColor=opts.fillStyle;var base;var xstart;var ystart;if(this.barDirection=="vertical"){for(var i=0;i<gridData.length;i++){if(!this._stack&&this.data[i][1]==null){continue}points=[];base=gridData[i][0]+this._barNudge;if(this._stack&&this._prevGridData.length){ystart=getStart(this.index,i,this._plotData[i][1],plot,"y")}else{if(this.fillToZero){ystart=this._yaxis.series_u2p(0)}else if(this.waterfall&&i>0&&i<this.gridData.length-1){ystart=this.gridData[i-1][1]}else if(this.waterfall&&i==0&&i<this.gridData.length-1){if(this._yaxis.min<=0&&this._yaxis.max>=0){ystart=this._yaxis.series_u2p(0)}else if(this._yaxis.min>0){ystart=ctx.canvas.height}else{ystart=0}}else if(this.waterfall&&i==this.gridData.length-1){if(this._yaxis.min<=0&&this._yaxis.max>=0){ystart=this._yaxis.series_u2p(0)}else if(this._yaxis.min>0){ystart=ctx.canvas.height}else{ystart=0}}else{ystart=ctx.canvas.height}}if(this.fillToZero&&this._plotData[i][1]<0||this.waterfall&&this._data[i][1]<0){if(this.varyBarColor&&!this._stack){if(this.useNegativeColors){opts.fillStyle=negativeColors.next()}else{opts.fillStyle=positiveColors.next()}}else{opts.fillStyle=negativeColor}}else{if(this.varyBarColor&&!this._stack){opts.fillStyle=positiveColors.next()}else{opts.fillStyle=positiveColor}}if(!this.fillToZero||this._plotData[i][1]>=0){points.push([base-this.barWidth/2,ystart]);points.push([base-this.barWidth/2,gridData[i][1]]);points.push([base+this.barWidth/2,gridData[i][1]]);points.push([base+this.barWidth/2,ystart])}else{points.push([base-this.barWidth/2,gridData[i][1]]);points.push([base-this.barWidth/2,ystart]);points.push([base+this.barWidth/2,ystart]);points.push([base+this.barWidth/2,gridData[i][1]])}this._barPoints.push(points);if(shadow&&!this._stack){var sopts=$.extend(true,{},opts);delete sopts.fillStyle;this.renderer.shadowRenderer.draw(ctx,points,sopts)}var clr=opts.fillStyle||this.color;this._dataColors.push(clr);this.renderer.shapeRenderer.draw(ctx,points,opts)}}else if(this.barDirection=="horizontal"){for(var i=0;i<gridData.length;i++){if(!this._stack&&this.data[i][0]==null){continue}points=[];base=gridData[i][1]-this._barNudge;xstart;if(this._stack&&this._prevGridData.length){xstart=getStart(this.index,i,this._plotData[i][0],plot,"x")}else{if(this.fillToZero){xstart=this._xaxis.series_u2p(0)}else if(this.waterfall&&i>0&&i<this.gridData.length-1){xstart=this.gridData[i-1][0]}else if(this.waterfall&&i==0&&i<this.gridData.length-1){if(this._xaxis.min<=0&&this._xaxis.max>=0){xstart=this._xaxis.series_u2p(0)}else if(this._xaxis.min>0){xstart=0}else{xstart=0}}else if(this.waterfall&&i==this.gridData.length-1){if(this._xaxis.min<=0&&this._xaxis.max>=0){xstart=this._xaxis.series_u2p(0)}else if(this._xaxis.min>0){xstart=0}else{xstart=ctx.canvas.width}}else{xstart=0}}if(this.fillToZero&&this._plotData[i][1]<0||this.waterfall&&this._data[i][1]<0){if(this.varyBarColor&&!this._stack){if(this.useNegativeColors){opts.fillStyle=negativeColors.next()}else{opts.fillStyle=positiveColors.next()}}}else{if(this.varyBarColor&&!this._stack){opts.fillStyle=positiveColors.next()}else{opts.fillStyle=positiveColor}}if(!this.fillToZero||this._plotData[i][0]>=0){points.push([xstart,base+this.barWidth/2]);points.push([xstart,base-this.barWidth/2]);points.push([gridData[i][0],base-this.barWidth/2]);points.push([gridData[i][0],base+this.barWidth/2])}else{points.push([gridData[i][0],base+this.barWidth/2]);points.push([gridData[i][0],base-this.barWidth/2]);points.push([xstart,base-this.barWidth/2]);points.push([xstart,base+this.barWidth/2])}this._barPoints.push(points);if(shadow&&!this._stack){var sopts=$.extend(true,{},opts);delete sopts.fillStyle;this.renderer.shadowRenderer.draw(ctx,points,sopts)}var clr=opts.fillStyle||this.color;this._dataColors.push(clr);this.renderer.shapeRenderer.draw(ctx,points,opts)}}}if(this.highlightColors.length==0){this.highlightColors=$.jqplot.computeHighlightColors(this._dataColors)}else if(typeof this.highlightColors=="string"){var temp=this.highlightColors;this.highlightColors=[];for(var i=0;i<this._dataColors.length;i++){this.highlightColors.push(temp)}}};$.jqplot.BarRenderer.prototype.drawShadow=function(ctx,gridData,options,plot){var i;var opts=options!=undefined?options:{};var shadow=opts.shadow!=undefined?opts.shadow:this.shadow;var showLine=opts.showLine!=undefined?opts.showLine:this.showLine;var fill=opts.fill!=undefined?opts.fill:this.fill;var xaxis=this.xaxis;var yaxis=this.yaxis;var xp=this._xaxis.series_u2p;var yp=this._yaxis.series_u2p;var pointx,points,pointy,nvals,nseries,pos;if(this._stack&&this.shadow){if(this.barWidth==null){this.renderer.setBarWidth.call(this)}var temp=this._plotSeriesInfo=this.renderer.calcSeriesNumbers.call(this);nvals=temp[0];nseries=temp[1];pos=temp[2];if(this._stack){this._barNudge=0}else{this._barNudge=(-Math.abs(nseries/2-.5)+pos)*(this.barWidth+this.barPadding)}if(showLine){if(this.barDirection=="vertical"){for(var i=0;i<gridData.length;i++){if(this.data[i][1]==null){continue}points=[];var base=gridData[i][0]+this._barNudge;var ystart;if(this._stack&&this._prevGridData.length){ystart=getStart(this.index,i,this._plotData[i][1],plot,"y")}else{if(this.fillToZero){ystart=this._yaxis.series_u2p(0)}else{ystart=ctx.canvas.height}}points.push([base-this.barWidth/2,ystart]);points.push([base-this.barWidth/2,gridData[i][1]]);points.push([base+this.barWidth/2,gridData[i][1]]);points.push([base+this.barWidth/2,ystart]);this.renderer.shadowRenderer.draw(ctx,points,opts)}}else if(this.barDirection=="horizontal"){for(var i=0;i<gridData.length;i++){if(this.data[i][0]==null){continue}points=[];var base=gridData[i][1]-this._barNudge;var xstart;if(this._stack&&this._prevGridData.length){xstart=getStart(this.index,i,this._plotData[i][0],plot,"x")}else{if(this.fillToZero){xstart=this._xaxis.series_u2p(0)}else{xstart=0}}points.push([xstart,base+this.barWidth/2]);points.push([gridData[i][0],base+this.barWidth/2]);points.push([gridData[i][0],base-this.barWidth/2]);points.push([xstart,base-this.barWidth/2]);this.renderer.shadowRenderer.draw(ctx,points,opts)}}}}};function postInit(target,data,options){for(var i=0;i<this.series.length;i++){if(this.series[i].renderer.constructor==$.jqplot.BarRenderer){if(this.series[i].highlightMouseOver){this.series[i].highlightMouseDown=false}}}}function postPlotDraw(){if(this.plugins.barRenderer&&this.plugins.barRenderer.highlightCanvas){this.plugins.barRenderer.highlightCanvas.resetCanvas();this.plugins.barRenderer.highlightCanvas=null}this.plugins.barRenderer={highlightedSeriesIndex:null};this.plugins.barRenderer.highlightCanvas=new $.jqplot.GenericCanvas;this.eventCanvas._elem.before(this.plugins.barRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-barRenderer-highlight-canvas",this._plotDimensions,this));this.plugins.barRenderer.highlightCanvas.setContext();this.eventCanvas._elem.bind("mouseleave",{plot:this},function(ev){unhighlight(ev.data.plot)})}function highlight(plot,sidx,pidx,points){var s=plot.series[sidx];var canvas=plot.plugins.barRenderer.highlightCanvas;canvas._ctx.clearRect(0,0,canvas._ctx.canvas.width,canvas._ctx.canvas.height);s._highlightedPoint=pidx;plot.plugins.barRenderer.highlightedSeriesIndex=sidx;var opts={fillStyle:s.highlightColors[pidx]};s.renderer.shapeRenderer.draw(canvas._ctx,points,opts);canvas=null}function unhighlight(plot){var canvas=plot.plugins.barRenderer.highlightCanvas;canvas._ctx.clearRect(0,0,canvas._ctx.canvas.width,canvas._ctx.canvas.height);for(var i=0;i<plot.series.length;i++){plot.series[i]._highlightedPoint=null}plot.plugins.barRenderer.highlightedSeriesIndex=null;plot.target.trigger("jqplotDataUnhighlight");canvas=null}function handleMove(ev,gridpos,datapos,neighbor,plot){if(neighbor){var ins=[neighbor.seriesIndex,neighbor.pointIndex,neighbor.data];var evt1=jQuery.Event("jqplotDataMouseOver");evt1.pageX=ev.pageX;evt1.pageY=ev.pageY;plot.target.trigger(evt1,ins);if(plot.series[ins[0]].highlightMouseOver&&!(ins[0]==plot.plugins.barRenderer.highlightedSeriesIndex&&ins[1]==plot.series[ins[0]]._highlightedPoint)){var evt=jQuery.Event("jqplotDataHighlight");evt.which=ev.which;evt.pageX=ev.pageX;evt.pageY=ev.pageY;plot.target.trigger(evt,ins);highlight(plot,neighbor.seriesIndex,neighbor.pointIndex,neighbor.points)}}else if(neighbor==null){unhighlight(plot)}}function handleMouseDown(ev,gridpos,datapos,neighbor,plot){if(neighbor){var ins=[neighbor.seriesIndex,neighbor.pointIndex,neighbor.data];if(plot.series[ins[0]].highlightMouseDown&&!(ins[0]==plot.plugins.barRenderer.highlightedSeriesIndex&&ins[1]==plot.series[ins[0]]._highlightedPoint)){var evt=jQuery.Event("jqplotDataHighlight");evt.which=ev.which;evt.pageX=ev.pageX;evt.pageY=ev.pageY;plot.target.trigger(evt,ins);highlight(plot,neighbor.seriesIndex,neighbor.pointIndex,neighbor.points)}}else if(neighbor==null){unhighlight(plot)}}function handleMouseUp(ev,gridpos,datapos,neighbor,plot){var idx=plot.plugins.barRenderer.highlightedSeriesIndex;if(idx!=null&&plot.series[idx].highlightMouseDown){unhighlight(plot)}}function handleClick(ev,gridpos,datapos,neighbor,plot){if(neighbor){var ins=[neighbor.seriesIndex,neighbor.pointIndex,neighbor.data];var evt=jQuery.Event("jqplotDataClick");evt.which=ev.which;evt.pageX=ev.pageX;evt.pageY=ev.pageY;plot.target.trigger(evt,ins)}}function handleRightClick(ev,gridpos,datapos,neighbor,plot){if(neighbor){var ins=[neighbor.seriesIndex,neighbor.pointIndex,neighbor.data];var idx=plot.plugins.barRenderer.highlightedSeriesIndex;if(idx!=null&&plot.series[idx].highlightMouseDown){unhighlight(plot)}var evt=jQuery.Event("jqplotDataRightClick");evt.which=ev.which;evt.pageX=ev.pageX;evt.pageY=ev.pageY;plot.target.trigger(evt,ins)}}})(jQuery);(function($){$.jqplot.CanvasAxisLabelRenderer=function(options){this.angle=0;this.axis;this.show=true;this.showLabel=true;this.label="";this.fontFamily='"Trebuchet MS", Arial, Helvetica, sans-serif';this.fontSize="11pt";this.fontWeight="normal";this.fontStretch=1;this.textColor="#666666";this.enableFontSupport=true;this.pt2px=null;this._elem;this._ctx;this._plotWidth;this._plotHeight;this._plotDimensions={height:null,width:null};$.extend(true,this,options);if(options.angle==null&&this.axis!="xaxis"&&this.axis!="x2axis"){this.angle=-90}var ropts={fontSize:this.fontSize,fontWeight:this.fontWeight,fontStretch:this.fontStretch,fillStyle:this.textColor,angle:this.getAngleRad(),fontFamily:this.fontFamily};if(this.pt2px){ropts.pt2px=this.pt2px}if(this.enableFontSupport){if($.jqplot.support_canvas_text()){this._textRenderer=new $.jqplot.CanvasFontRenderer(ropts)}else{this._textRenderer=new $.jqplot.CanvasTextRenderer(ropts)}}else{this._textRenderer=new $.jqplot.CanvasTextRenderer(ropts)}};$.jqplot.CanvasAxisLabelRenderer.prototype.init=function(options){$.extend(true,this,options);this._textRenderer.init({fontSize:this.fontSize,fontWeight:this.fontWeight,fontStretch:this.fontStretch,fillStyle:this.textColor,angle:this.getAngleRad(),fontFamily:this.fontFamily})};$.jqplot.CanvasAxisLabelRenderer.prototype.getWidth=function(ctx){if(this._elem){return this._elem.outerWidth(true)}else{var tr=this._textRenderer;var l=tr.getWidth(ctx);var h=tr.getHeight(ctx);var w=Math.abs(Math.sin(tr.angle)*h)+Math.abs(Math.cos(tr.angle)*l);return w}};$.jqplot.CanvasAxisLabelRenderer.prototype.getHeight=function(ctx){if(this._elem){return this._elem.outerHeight(true)}else{var tr=this._textRenderer;var l=tr.getWidth(ctx);var h=tr.getHeight(ctx);var w=Math.abs(Math.cos(tr.angle)*h)+Math.abs(Math.sin(tr.angle)*l);return w}};$.jqplot.CanvasAxisLabelRenderer.prototype.getAngleRad=function(){var a=this.angle*Math.PI/180;return a};$.jqplot.CanvasAxisLabelRenderer.prototype.draw=function(ctx,plot){if(this._elem){if($.jqplot.use_excanvas&&window.G_vmlCanvasManager.uninitElement!==undefined){window.G_vmlCanvasManager.uninitElement(this._elem.get(0))}this._elem.emptyForce();this._elem=null}var elem=plot.canvasManager.getCanvas();this._textRenderer.setText(this.label,ctx);var w=this.getWidth(ctx);var h=this.getHeight(ctx);elem.width=w;elem.height=h;elem.style.width=w;elem.style.height=h;elem=plot.canvasManager.initCanvas(elem);this._elem=$(elem);this._elem.css({position:"absolute"});this._elem.addClass("jqplot-"+this.axis+"-label");elem=null;return this._elem};$.jqplot.CanvasAxisLabelRenderer.prototype.pack=function(){this._textRenderer.draw(this._elem.get(0).getContext("2d"),this.label)}})(jQuery);(function($){$.jqplot.CanvasTextRenderer=function(options){this.fontStyle="normal";this.fontVariant="normal";this.fontWeight="normal";this.fontSize="10px";this.fontFamily="sans-serif";this.fontStretch=1;this.fillStyle="#666666";this.angle=0;this.textAlign="start";this.textBaseline="alphabetic";this.text;this.width;this.height;this.pt2px=1.28;$.extend(true,this,options);this.normalizedFontSize=this.normalizeFontSize(this.fontSize);this.setHeight()};$.jqplot.CanvasTextRenderer.prototype.init=function(options){$.extend(true,this,options);this.normalizedFontSize=this.normalizeFontSize(this.fontSize);this.setHeight()};$.jqplot.CanvasTextRenderer.prototype.normalizeFontSize=function(sz){sz=String(sz);var n=parseFloat(sz);if(sz.indexOf("px")>-1){return n/this.pt2px}else if(sz.indexOf("pt")>-1){return n}else if(sz.indexOf("em")>-1){return n*12}else if(sz.indexOf("%")>-1){return n*12/100}else{return n/this.pt2px}};$.jqplot.CanvasTextRenderer.prototype.fontWeight2Float=function(w){if(Number(w)){return w/400}else{switch(w){case"normal":return 1;break;case"bold":return 1.75;break;case"bolder":return 2.25;break;case"lighter":return.75;break;default:return 1;break}}};$.jqplot.CanvasTextRenderer.prototype.getText=function(){return this.text};$.jqplot.CanvasTextRenderer.prototype.setText=function(t,ctx){this.text=t;this.setWidth(ctx);return this};$.jqplot.CanvasTextRenderer.prototype.getWidth=function(ctx){return this.width};$.jqplot.CanvasTextRenderer.prototype.setWidth=function(ctx,w){if(!w){this.width=this.measure(ctx,this.text)}else{this.width=w}return this};$.jqplot.CanvasTextRenderer.prototype.getHeight=function(ctx){return this.height};$.jqplot.CanvasTextRenderer.prototype.setHeight=function(w){if(!w){this.height=this.normalizedFontSize*this.pt2px}else{this.height=w}return this};$.jqplot.CanvasTextRenderer.prototype.letter=function(ch){return this.letters[ch]};$.jqplot.CanvasTextRenderer.prototype.ascent=function(){return this.normalizedFontSize};$.jqplot.CanvasTextRenderer.prototype.descent=function(){return 7*this.normalizedFontSize/25};$.jqplot.CanvasTextRenderer.prototype.measure=function(ctx,str){var total=0;var len=str.length;for(var i=0;i<len;i++){var c=this.letter(str.charAt(i));if(c){total+=c.width*this.normalizedFontSize/25*this.fontStretch}}return total};$.jqplot.CanvasTextRenderer.prototype.draw=function(ctx,str){var x=0;var y=this.height*.72;var total=0;var len=str.length;var mag=this.normalizedFontSize/25;ctx.save();var tx,ty;if(-Math.PI/2<=this.angle&&this.angle<=0||Math.PI*3/2<=this.angle&&this.angle<=Math.PI*2){tx=0;ty=-Math.sin(this.angle)*this.width}else if(0<this.angle&&this.angle<=Math.PI/2||-Math.PI*2<=this.angle&&this.angle<=-Math.PI*3/2){tx=Math.sin(this.angle)*this.height;ty=0}else if(-Math.PI<this.angle&&this.angle<-Math.PI/2||Math.PI<=this.angle&&this.angle<=Math.PI*3/2){tx=-Math.cos(this.angle)*this.width;ty=-Math.sin(this.angle)*this.width-Math.cos(this.angle)*this.height}else if(-Math.PI*3/2<this.angle&&this.angle<Math.PI||Math.PI/2<this.angle&&this.angle<Math.PI){tx=Math.sin(this.angle)*this.height-Math.cos(this.angle)*this.width;ty=-Math.cos(this.angle)*this.height}ctx.strokeStyle=this.fillStyle;ctx.fillStyle=this.fillStyle;ctx.translate(tx,ty);ctx.rotate(this.angle);ctx.lineCap="round";var fact=this.normalizedFontSize>30?2:2+(30-this.normalizedFontSize)/20;ctx.lineWidth=fact*mag*this.fontWeight2Float(this.fontWeight);for(var i=0;i<len;i++){var c=this.letter(str.charAt(i));if(!c){continue}ctx.beginPath();var penUp=1;var needStroke=0;for(var j=0;j<c.points.length;j++){var a=c.points[j];if(a[0]==-1&&a[1]==-1){penUp=1;continue}if(penUp){ctx.moveTo(x+a[0]*mag*this.fontStretch,y-a[1]*mag);penUp=false}else{ctx.lineTo(x+a[0]*mag*this.fontStretch,y-a[1]*mag)}}ctx.stroke();x+=c.width*mag*this.fontStretch}ctx.restore();return total};$.jqplot.CanvasTextRenderer.prototype.letters={" ":{width:16,points:[]},"!":{width:10,points:[[5,21],[5,7],[-1,-1],[5,2],[4,1],[5,0],[6,1],[5,2]]},'"':{width:16,points:[[4,21],[4,14],[-1,-1],[12,21],[12,14]]},"#":{width:21,points:[[11,25],[4,-7],[-1,-1],[17,25],[10,-7],[-1,-1],[4,12],[18,12],[-1,-1],[3,6],[17,6]]},$:{width:20,points:[[8,25],[8,-4],[-1,-1],[12,25],[12,-4],[-1,-1],[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},"%":{width:24,points:[[21,21],[3,0],[-1,-1],[8,21],[10,19],[10,17],[9,15],[7,14],[5,14],[3,16],[3,18],[4,20],[6,21],[8,21],[10,20],[13,19],[16,19],[19,20],[21,21],[-1,-1],[17,7],[15,6],[14,4],[14,2],[16,0],[18,0],[20,1],[21,3],[21,5],[19,7],[17,7]]},"&":{width:26,points:[[23,12],[23,13],[22,14],[21,14],[20,13],[19,11],[17,6],[15,3],[13,1],[11,0],[7,0],[5,1],[4,2],[3,4],[3,6],[4,8],[5,9],[12,13],[13,14],[14,16],[14,18],[13,20],[11,21],[9,20],[8,18],[8,16],[9,13],[11,10],[16,3],[18,1],[20,0],[22,0],[23,1],[23,2]]},"'":{width:10,points:[[5,19],[4,20],[5,21],[6,20],[6,18],[5,16],[4,15]]},"(":{width:14,points:[[11,25],[9,23],[7,20],[5,16],[4,11],[4,7],[5,2],[7,-2],[9,-5],[11,-7]]},")":{width:14,points:[[3,25],[5,23],[7,20],[9,16],[10,11],[10,7],[9,2],[7,-2],[5,-5],[3,-7]]},"*":{width:16,points:[[8,21],[8,9],[-1,-1],[3,18],[13,12],[-1,-1],[13,18],[3,12]]},"+":{width:26,points:[[13,18],[13,0],[-1,-1],[4,9],[22,9]]},",":{width:10,points:[[6,1],[5,0],[4,1],[5,2],[6,1],[6,-1],[5,-3],[4,-4]]},"-":{width:18,points:[[6,9],[12,9]]},".":{width:10,points:[[5,2],[4,1],[5,0],[6,1],[5,2]]},"/":{width:22,points:[[20,25],[2,-7]]},0:{width:20,points:[[9,21],[6,20],[4,17],[3,12],[3,9],[4,4],[6,1],[9,0],[11,0],[14,1],[16,4],[17,9],[17,12],[16,17],[14,20],[11,21],[9,21]]},1:{width:20,points:[[6,17],[8,18],[11,21],[11,0]]},2:{width:20,points:[[4,16],[4,17],[5,19],[6,20],[8,21],[12,21],[14,20],[15,19],[16,17],[16,15],[15,13],[13,10],[3,0],[17,0]]},3:{width:20,points:[[5,21],[16,21],[10,13],[13,13],[15,12],[16,11],[17,8],[17,6],[16,3],[14,1],[11,0],[8,0],[5,1],[4,2],[3,4]]},4:{width:20,points:[[13,21],[3,7],[18,7],[-1,-1],[13,21],[13,0]]},5:{width:20,points:[[15,21],[5,21],[4,12],[5,13],[8,14],[11,14],[14,13],[16,11],[17,8],[17,6],[16,3],[14,1],[11,0],[8,0],[5,1],[4,2],[3,4]]},6:{width:20,points:[[16,18],[15,20],[12,21],[10,21],[7,20],[5,17],[4,12],[4,7],[5,3],[7,1],[10,0],[11,0],[14,1],[16,3],[17,6],[17,7],[16,10],[14,12],[11,13],[10,13],[7,12],[5,10],[4,7]]},7:{width:20,points:[[17,21],[7,0],[-1,-1],[3,21],[17,21]]},8:{width:20,points:[[8,21],[5,20],[4,18],[4,16],[5,14],[7,13],[11,12],[14,11],[16,9],[17,7],[17,4],[16,2],[15,1],[12,0],[8,0],[5,1],[4,2],[3,4],[3,7],[4,9],[6,11],[9,12],[13,13],[15,14],[16,16],[16,18],[15,20],[12,21],[8,21]]},9:{width:20,points:[[16,14],[15,11],[13,9],[10,8],[9,8],[6,9],[4,11],[3,14],[3,15],[4,18],[6,20],[9,21],[10,21],[13,20],[15,18],[16,14],[16,9],[15,4],[13,1],[10,0],[8,0],[5,1],[4,3]]},":":{width:10,points:[[5,14],[4,13],[5,12],[6,13],[5,14],[-1,-1],[5,2],[4,1],[5,0],[6,1],[5,2]]},";":{width:10,points:[[5,14],[4,13],[5,12],[6,13],[5,14],[-1,-1],[6,1],[5,0],[4,1],[5,2],[6,1],[6,-1],[5,-3],[4,-4]]},"<":{width:24,points:[[20,18],[4,9],[20,0]]},"=":{width:26,points:[[4,12],[22,12],[-1,-1],[4,6],[22,6]]},">":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};
$.jqplot.CanvasFontRenderer=function(options){options=options||{};if(!options.pt2px){options.pt2px=1.5}$.jqplot.CanvasTextRenderer.call(this,options)};$.jqplot.CanvasFontRenderer.prototype=new $.jqplot.CanvasTextRenderer({});$.jqplot.CanvasFontRenderer.prototype.constructor=$.jqplot.CanvasFontRenderer;$.jqplot.CanvasFontRenderer.prototype.measure=function(ctx,str){var fstyle=this.fontSize+" "+this.fontFamily;ctx.save();ctx.font=fstyle;var w=ctx.measureText(str).width;ctx.restore();return w};$.jqplot.CanvasFontRenderer.prototype.draw=function(ctx,str){var x=0;var y=this.height*.72;ctx.save();var tx,ty;if(-Math.PI/2<=this.angle&&this.angle<=0||Math.PI*3/2<=this.angle&&this.angle<=Math.PI*2){tx=0;ty=-Math.sin(this.angle)*this.width}else if(0<this.angle&&this.angle<=Math.PI/2||-Math.PI*2<=this.angle&&this.angle<=-Math.PI*3/2){tx=Math.sin(this.angle)*this.height;ty=0}else if(-Math.PI<this.angle&&this.angle<-Math.PI/2||Math.PI<=this.angle&&this.angle<=Math.PI*3/2){tx=-Math.cos(this.angle)*this.width;ty=-Math.sin(this.angle)*this.width-Math.cos(this.angle)*this.height}else if(-Math.PI*3/2<this.angle&&this.angle<Math.PI||Math.PI/2<this.angle&&this.angle<Math.PI){tx=Math.sin(this.angle)*this.height-Math.cos(this.angle)*this.width;ty=-Math.cos(this.angle)*this.height}ctx.strokeStyle=this.fillStyle;ctx.fillStyle=this.fillStyle;var fstyle=this.fontSize+" "+this.fontFamily;ctx.font=fstyle;ctx.translate(tx,ty);ctx.rotate(this.angle);ctx.fillText(str,x,y);ctx.restore()}})(jQuery);(function($){$.jqplot.CategoryAxisRenderer=function(options){$.jqplot.LinearAxisRenderer.call(this);this.sortMergedLabels=false};$.jqplot.CategoryAxisRenderer.prototype=new $.jqplot.LinearAxisRenderer;$.jqplot.CategoryAxisRenderer.prototype.constructor=$.jqplot.CategoryAxisRenderer;$.jqplot.CategoryAxisRenderer.prototype.init=function(options){this.groups=1;this.groupLabels=[];this._groupLabels=[];this._grouped=false;this._barsPerGroup=null;this.reverse=false;$.extend(true,this,{tickOptions:{formatString:"%d"}},options);var db=this._dataBounds;for(var i=0;i<this._series.length;i++){var s=this._series[i];if(s.groups){this.groups=s.groups}var d=s.data;for(var j=0;j<d.length;j++){if(this.name=="xaxis"||this.name=="x2axis"){if(d[j][0]<db.min||db.min==null){db.min=d[j][0]}if(d[j][0]>db.max||db.max==null){db.max=d[j][0]}}else{if(d[j][1]<db.min||db.min==null){db.min=d[j][1]}if(d[j][1]>db.max||db.max==null){db.max=d[j][1]}}}}if(this.groupLabels.length){this.groups=this.groupLabels.length}};$.jqplot.CategoryAxisRenderer.prototype.createTicks=function(){var ticks=this._ticks;var userTicks=this.ticks;var name=this.name;var db=this._dataBounds;var dim,interval;var min,max;var pos1,pos2;var tt,i;if(userTicks.length){if(this.groups>1&&!this._grouped){var l=userTicks.length;var skip=parseInt(l/this.groups,10);var count=0;for(var i=skip;i<l;i+=skip){userTicks.splice(i+count,0," ");count++}this._grouped=true}this.min=.5;this.max=userTicks.length+.5;var range=this.max-this.min;this.numberTicks=2*userTicks.length+1;for(i=0;i<userTicks.length;i++){tt=this.min+2*i*range/(this.numberTicks-1);var t=new this.tickRenderer(this.tickOptions);t.showLabel=false;t.setTick(tt,this.name);this._ticks.push(t);var t=new this.tickRenderer(this.tickOptions);t.label=userTicks[i];t.showMark=false;t.showGridline=false;t.setTick(tt+.5,this.name);this._ticks.push(t)}var t=new this.tickRenderer(this.tickOptions);t.showLabel=false;t.setTick(tt+1,this.name);this._ticks.push(t)}else{if(name=="xaxis"||name=="x2axis"){dim=this._plotDimensions.width}else{dim=this._plotDimensions.height}if(this.min!=null&&this.max!=null&&this.numberTicks!=null){this.tickInterval=null}if(this.min!=null&&this.max!=null&&this.tickInterval!=null){if(parseInt((this.max-this.min)/this.tickInterval,10)!=(this.max-this.min)/this.tickInterval){this.tickInterval=null}}var labels=[];var numcats=0;var min=.5;var max,val;var isMerged=false;for(var i=0;i<this._series.length;i++){var s=this._series[i];for(var j=0;j<s.data.length;j++){if(this.name=="xaxis"||this.name=="x2axis"){val=s.data[j][0]}else{val=s.data[j][1]}if($.inArray(val,labels)==-1){isMerged=true;numcats+=1;labels.push(val)}}}if(isMerged&&this.sortMergedLabels){labels.sort(function(a,b){return a-b})}this.ticks=labels;for(var i=0;i<this._series.length;i++){var s=this._series[i];for(var j=0;j<s.data.length;j++){if(this.name=="xaxis"||this.name=="x2axis"){val=s.data[j][0]}else{val=s.data[j][1]}var idx=$.inArray(val,labels)+1;if(this.name=="xaxis"||this.name=="x2axis"){s.data[j][0]=idx}else{s.data[j][1]=idx}}}if(this.groups>1&&!this._grouped){var l=labels.length;var skip=parseInt(l/this.groups,10);var count=0;for(var i=skip;i<l;i+=skip+1){labels[i]=" "}this._grouped=true}max=numcats+.5;if(this.numberTicks==null){this.numberTicks=2*numcats+1}var range=max-min;this.min=min;this.max=max;var track=0;var maxVisibleTicks=parseInt(3+dim/10,10);var skip=parseInt(numcats/maxVisibleTicks,10);if(this.tickInterval==null){this.tickInterval=range/(this.numberTicks-1)}for(var i=0;i<this.numberTicks;i++){tt=this.min+i*this.tickInterval;var t=new this.tickRenderer(this.tickOptions);if(i/2==parseInt(i/2,10)){t.showLabel=false;t.showMark=true}else{if(skip>0&&track<skip){t.showLabel=false;track+=1}else{t.showLabel=true;track=0}t.label=t.formatter(t.formatString,labels[(i-1)/2]);t.showMark=false;t.showGridline=false}t.setTick(tt,this.name);this._ticks.push(t)}}};$.jqplot.CategoryAxisRenderer.prototype.draw=function(ctx,plot){if(this.show){this.renderer.createTicks.call(this);var dim=0;var temp;if(this._elem){this._elem.emptyForce()}this._elem=this._elem||$('<div class="jqplot-axis jqplot-'+this.name+'" style="position:absolute;"></div>');if(this.name=="xaxis"||this.name=="x2axis"){this._elem.width(this._plotDimensions.width)}else{this._elem.height(this._plotDimensions.height)}this.labelOptions.axis=this.name;this._label=new this.labelRenderer(this.labelOptions);if(this._label.show){var elem=this._label.draw(ctx,plot);elem.appendTo(this._elem)}var t=this._ticks;for(var i=0;i<t.length;i++){var tick=t[i];if(tick.showLabel&&(!tick.isMinorTick||this.showMinorTicks)){var elem=tick.draw(ctx,plot);elem.appendTo(this._elem)}}this._groupLabels=[];for(var i=0;i<this.groupLabels.length;i++){var elem=$('<div style="position:absolute;" class="jqplot-'+this.name+'-groupLabel"></div>');elem.html(this.groupLabels[i]);this._groupLabels.push(elem);elem.appendTo(this._elem)}}return this._elem};$.jqplot.CategoryAxisRenderer.prototype.set=function(){var dim=0;var temp;var w=0;var h=0;var lshow=this._label==null?false:this._label.show;if(this.show){var t=this._ticks;for(var i=0;i<t.length;i++){var tick=t[i];if(tick.showLabel&&(!tick.isMinorTick||this.showMinorTicks)){if(this.name=="xaxis"||this.name=="x2axis"){temp=tick._elem.outerHeight(true)}else{temp=tick._elem.outerWidth(true)}if(temp>dim){dim=temp}}}var dim2=0;for(var i=0;i<this._groupLabels.length;i++){var l=this._groupLabels[i];if(this.name=="xaxis"||this.name=="x2axis"){temp=l.outerHeight(true)}else{temp=l.outerWidth(true)}if(temp>dim2){dim2=temp}}if(lshow){w=this._label._elem.outerWidth(true);h=this._label._elem.outerHeight(true)}if(this.name=="xaxis"){dim+=dim2+h;this._elem.css({height:dim+"px",left:"0px",bottom:"0px"})}else if(this.name=="x2axis"){dim+=dim2+h;this._elem.css({height:dim+"px",left:"0px",top:"0px"})}else if(this.name=="yaxis"){dim+=dim2+w;this._elem.css({width:dim+"px",left:"0px",top:"0px"});if(lshow&&this._label.constructor==$.jqplot.AxisLabelRenderer){this._label._elem.css("width",w+"px")}}else{dim+=dim2+w;this._elem.css({width:dim+"px",right:"0px",top:"0px"});if(lshow&&this._label.constructor==$.jqplot.AxisLabelRenderer){this._label._elem.css("width",w+"px")}}}};$.jqplot.CategoryAxisRenderer.prototype.pack=function(pos,offsets){var ticks=this._ticks;var max=this.max;var min=this.min;var offmax=offsets.max;var offmin=offsets.min;var lshow=this._label==null?false:this._label.show;var i;for(var p in pos){this._elem.css(p,pos[p])}this._offsets=offsets;var pixellength=offmax-offmin;var unitlength=max-min;if(!this.reverse){this.u2p=function(u){return(u-min)*pixellength/unitlength+offmin};this.p2u=function(p){return(p-offmin)*unitlength/pixellength+min};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(u){return(u-min)*pixellength/unitlength};this.series_p2u=function(p){return p*unitlength/pixellength+min}}else{this.series_u2p=function(u){return(u-max)*pixellength/unitlength};this.series_p2u=function(p){return p*unitlength/pixellength+max}}}else{this.u2p=function(u){return offmin+(max-u)*pixellength/unitlength};this.p2u=function(p){return min+(p-offmin)*unitlength/pixellength};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(u){return(max-u)*pixellength/unitlength};this.series_p2u=function(p){return p*unitlength/pixellength+max}}else{this.series_u2p=function(u){return(min-u)*pixellength/unitlength};this.series_p2u=function(p){return p*unitlength/pixellength+min}}}if(this.show){if(this.name=="xaxis"||this.name=="x2axis"){for(i=0;i<ticks.length;i++){var t=ticks[i];if(t.show&&t.showLabel){var shim;if(t.constructor==$.jqplot.CanvasAxisTickRenderer&&t.angle){var temp=this.name=="xaxis"?1:-1;switch(t.labelPosition){case"auto":if(temp*t.angle<0){shim=-t.getWidth()+t._textRenderer.height*Math.sin(-t._textRenderer.angle)/2}else{shim=-t._textRenderer.height*Math.sin(t._textRenderer.angle)/2}break;case"end":shim=-t.getWidth()+t._textRenderer.height*Math.sin(-t._textRenderer.angle)/2;break;case"start":shim=-t._textRenderer.height*Math.sin(t._textRenderer.angle)/2;break;case"middle":shim=-t.getWidth()/2+t._textRenderer.height*Math.sin(-t._textRenderer.angle)/2;break;default:shim=-t.getWidth()/2+t._textRenderer.height*Math.sin(-t._textRenderer.angle)/2;break}}else{shim=-t.getWidth()/2}var val=this.u2p(t.value)+shim+"px";t._elem.css("left",val);t.pack()}}var labeledge=["bottom",0];if(lshow){var w=this._label._elem.outerWidth(true);this._label._elem.css("left",offmin+pixellength/2-w/2+"px");if(this.name=="xaxis"){this._label._elem.css("bottom","0px");labeledge=["bottom",this._label._elem.outerHeight(true)]}else{this._label._elem.css("top","0px");labeledge=["top",this._label._elem.outerHeight(true)]}this._label.pack()}var step=parseInt(this._ticks.length/this.groups,10);for(i=0;i<this._groupLabels.length;i++){var mid=0;var count=0;for(var j=i*step;j<=(i+1)*step;j++){if(this._ticks[j]._elem&&this._ticks[j].label!=" "){var t=this._ticks[j]._elem;var p=t.position();mid+=p.left+t.outerWidth(true)/2;count++}}mid=mid/count;this._groupLabels[i].css({left:mid-this._groupLabels[i].outerWidth(true)/2});this._groupLabels[i].css(labeledge[0],labeledge[1])}}else{for(i=0;i<ticks.length;i++){var t=ticks[i];if(t.show&&t.showLabel){var shim;if(t.constructor==$.jqplot.CanvasAxisTickRenderer&&t.angle){var temp=this.name=="yaxis"?1:-1;switch(t.labelPosition){case"auto":case"end":if(temp*t.angle<0){shim=-t._textRenderer.height*Math.cos(-t._textRenderer.angle)/2}else{shim=-t.getHeight()+t._textRenderer.height*Math.cos(t._textRenderer.angle)/2}break;case"start":if(t.angle>0){shim=-t._textRenderer.height*Math.cos(-t._textRenderer.angle)/2}else{shim=-t.getHeight()+t._textRenderer.height*Math.cos(t._textRenderer.angle)/2}break;case"middle":shim=-t.getHeight()/2;break;default:shim=-t.getHeight()/2;break}}else{shim=-t.getHeight()/2}var val=this.u2p(t.value)+shim+"px";t._elem.css("top",val);t.pack()}}var labeledge=["left",0];if(lshow){var h=this._label._elem.outerHeight(true);this._label._elem.css("top",offmax-pixellength/2-h/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px");labeledge=["left",this._label._elem.outerWidth(true)]}else{this._label._elem.css("right","0px");labeledge=["right",this._label._elem.outerWidth(true)]}this._label.pack()}var step=parseInt(this._ticks.length/this.groups,10);for(i=0;i<this._groupLabels.length;i++){var mid=0;var count=0;for(var j=i*step;j<=(i+1)*step;j++){if(this._ticks[j]._elem&&this._ticks[j].label!=" "){var t=this._ticks[j]._elem;var p=t.position();mid+=p.top+t.outerHeight()/2;count++}}mid=mid/count;this._groupLabels[i].css({top:mid-this._groupLabels[i].outerHeight()/2});this._groupLabels[i].css(labeledge[0],labeledge[1])}}}}})(jQuery);(function($){$.jqplot.EnhancedLegendRenderer=function(){$.jqplot.TableLegendRenderer.call(this)};$.jqplot.EnhancedLegendRenderer.prototype=new $.jqplot.TableLegendRenderer;$.jqplot.EnhancedLegendRenderer.prototype.constructor=$.jqplot.EnhancedLegendRenderer;$.jqplot.EnhancedLegendRenderer.prototype.init=function(options){this.numberRows=null;this.numberColumns=null;this.seriesToggle="normal";this.seriesToggleReplot=false;this.disableIEFading=true;$.extend(true,this,options);if(this.seriesToggle){$.jqplot.postDrawHooks.push(postDraw)}};$.jqplot.EnhancedLegendRenderer.prototype.draw=function(offsets,plot){var legend=this;if(this.show){var series=this._series;var s;var ss="position:absolute;";ss+=this.background?"background:"+this.background+";":"";ss+=this.border?"border:"+this.border+";":"";ss+=this.fontSize?"font-size:"+this.fontSize+";":"";ss+=this.fontFamily?"font-family:"+this.fontFamily+";":"";ss+=this.textColor?"color:"+this.textColor+";":"";ss+=this.marginTop!=null?"margin-top:"+this.marginTop+";":"";ss+=this.marginBottom!=null?"margin-bottom:"+this.marginBottom+";":"";ss+=this.marginLeft!=null?"margin-left:"+this.marginLeft+";":"";ss+=this.marginRight!=null?"margin-right:"+this.marginRight+";":"";this._elem=$('<table class="jqplot-table-legend" style="'+ss+'"></table>');if(this.seriesToggle){this._elem.css("z-index","3")}var pad=false,reverse=false,nr,nc;if(this.numberRows){nr=this.numberRows;if(!this.numberColumns){nc=Math.ceil(series.length/nr)}else{nc=this.numberColumns}}else if(this.numberColumns){nc=this.numberColumns;nr=Math.ceil(series.length/this.numberColumns)}else{nr=series.length;nc=1}var i,j,tr,td1,td2,lt,rs,div,div0,div1;var idx=0;for(i=series.length-1;i>=0;i--){if(nc==1&&series[i]._stack||series[i].renderer.constructor==$.jqplot.BezierCurveRenderer){reverse=true}}for(i=0;i<nr;i++){tr=$(document.createElement("tr"));tr.addClass("jqplot-table-legend");if(reverse){tr.prependTo(this._elem)}else{tr.appendTo(this._elem)}for(j=0;j<nc;j++){if(idx<series.length&&(series[idx].show||series[idx].showLabel)){s=series[idx];lt=this.labels[idx]||s.label.toString();if(lt){var color=s.color;if(!reverse){if(i>0){pad=true}else{pad=false}}else{if(i==nr-1){pad=false}else{pad=true}}rs=pad?this.rowSpacing:"0";td1=$(document.createElement("td"));td1.addClass("jqplot-table-legend jqplot-table-legend-swatch");td1.css({textAlign:"center",paddingTop:rs});div0=$(document.createElement("div"));div0.addClass("jqplot-table-legend-swatch-outline");div1=$(document.createElement("div"));div1.addClass("jqplot-table-legend-swatch");div1.css({backgroundColor:color,borderColor:color});td1.append(div0.append(div1));td2=$(document.createElement("td"));td2.addClass("jqplot-table-legend jqplot-table-legend-label");td2.css("paddingTop",rs);if(this.escapeHtml){td2.text(lt)}else{td2.html(lt)}if(reverse){if(this.showLabels){td2.prependTo(tr)}if(this.showSwatches){td1.prependTo(tr)}}else{if(this.showSwatches){td1.appendTo(tr)}if(this.showLabels){td2.appendTo(tr)}}if(this.seriesToggle){var speed;if(typeof this.seriesToggle==="string"||typeof this.seriesToggle==="number"){if(!$.jqplot.use_excanvas||!this.disableIEFading){speed=this.seriesToggle}}if(this.showSwatches){td1.bind("click",{series:s,speed:speed,plot:plot,replot:this.seriesToggleReplot},handleToggle);td1.addClass("jqplot-seriesToggle")}if(this.showLabels){td2.bind("click",{series:s,speed:speed,plot:plot,replot:this.seriesToggleReplot},handleToggle);td2.addClass("jqplot-seriesToggle")}if(!s.show&&s.showLabel){td1.addClass("jqplot-series-hidden");td2.addClass("jqplot-series-hidden")}}pad=true}}idx++}td1=td2=div0=div1=null}}return this._elem};var handleToggle=function(ev){var d=ev.data,s=d.series,replot=d.replot,plot=d.plot,speed=d.speed,sidx=s.index,showing=false;if(s.canvas._elem.is(":hidden")||!s.show){showing=true}var doLegendToggle=function(){if(replot){var opts={};if($.isPlainObject(replot)){$.extend(true,opts,replot)}plot.replot(opts);if(showing&&speed){var s=plot.series[sidx];if(s.shadowCanvas._elem){s.shadowCanvas._elem.hide().fadeIn(speed)}s.canvas._elem.hide().fadeIn(speed);s.canvas._elem.nextAll(".jqplot-point-label.jqplot-series-"+s.index).hide().fadeIn(speed)}}else{var s=plot.series[sidx];if(s.canvas._elem.is(":hidden")||!s.show){if(typeof plot.options.legend.showSwatches==="undefined"||plot.options.legend.showSwatches===true){plot.legend._elem.find("td").eq(sidx*2).addClass("jqplot-series-hidden")}if(typeof plot.options.legend.showLabels==="undefined"||plot.options.legend.showLabels===true){plot.legend._elem.find("td").eq(sidx*2+1).addClass("jqplot-series-hidden")}}else{if(typeof plot.options.legend.showSwatches==="undefined"||plot.options.legend.showSwatches===true){plot.legend._elem.find("td").eq(sidx*2).removeClass("jqplot-series-hidden")}if(typeof plot.options.legend.showLabels==="undefined"||plot.options.legend.showLabels===true){plot.legend._elem.find("td").eq(sidx*2+1).removeClass("jqplot-series-hidden")}}}};s.toggleDisplay(ev,doLegendToggle)};var postDraw=function(){if(this.legend.renderer.constructor==$.jqplot.EnhancedLegendRenderer&&this.legend.seriesToggle){var e=this.legend._elem.detach();this.eventCanvas._elem.after(e)}}})(jQuery);(function($){$.jqplot.PieRenderer=function(){$.jqplot.LineRenderer.call(this)};$.jqplot.PieRenderer.prototype=new $.jqplot.LineRenderer;$.jqplot.PieRenderer.prototype.constructor=$.jqplot.PieRenderer;$.jqplot.PieRenderer.prototype.init=function(options,plot){this.diameter=null;this.padding=20;this.sliceMargin=0;this.fill=true;this.shadowOffset=2;this.shadowAlpha=.07;this.shadowDepth=5;this.highlightMouseOver=true;this.highlightMouseDown=false;this.highlightColors=[];this.dataLabels="percent";this.showDataLabels=false;this.dataLabelFormatString=null;this.dataLabelThreshold=3;this.dataLabelPositionFactor=.52;this.dataLabelNudge=2;this.dataLabelCenterOn=true;this.startAngle=0;this.tickRenderer=$.jqplot.PieTickRenderer;this._drawData=true;this._type="pie";this.sumDataLabels=null;if(options.highlightMouseDown&&options.highlightMouseOver==null){options.highlightMouseOver=false}$.extend(true,this,options);if(this.sliceMargin<0){this.sliceMargin=0}this._diameter=null;this._radius=null;this._sliceAngles=[];this._highlightedPoint=null;if(this.highlightColors.length==0){for(var i=0;i<this.seriesColors.length;i++){var rgba=$.jqplot.getColorComponents(this.seriesColors[i]);var newrgb=[rgba[0],rgba[1],rgba[2]];var sum=newrgb[0]+newrgb[1]+newrgb[2];for(var j=0;j<3;j++){newrgb[j]=sum>570?newrgb[j]*.8:newrgb[j]+.3*(255-newrgb[j]);newrgb[j]=parseInt(newrgb[j],10)}this.highlightColors.push("rgb("+newrgb[0]+","+newrgb[1]+","+newrgb[2]+")")}}this.highlightColorGenerator=new $.jqplot.ColorGenerator(this.highlightColors);plot.postParseOptionsHooks.addOnce(postParseOptions);plot.postInitHooks.addOnce(postInit);plot.eventListenerHooks.addOnce("jqplotMouseMove",handleMove);plot.eventListenerHooks.addOnce("jqplotMouseDown",handleMouseDown);plot.eventListenerHooks.addOnce("jqplotMouseUp",handleMouseUp);plot.eventListenerHooks.addOnce("jqplotClick",handleClick);plot.eventListenerHooks.addOnce("jqplotRightClick",handleRightClick);plot.postDrawHooks.addOnce(postPlotDraw)};$.jqplot.PieRenderer.prototype.setGridData=function(plot){var stack=[];var td=[];var sa=this.startAngle/180*Math.PI;var tot=0;this._drawData=false;for(var i=0;i<this.data.length;i++){if(this.data[i][1]!=0){this._drawData=true}stack.push(this.data[i][1]);td.push([this.data[i][0]]);if(i>0){stack[i]+=stack[i-1]}tot+=this.data[i][1]}var fact=Math.PI*2/stack[stack.length-1];for(var i=0;i<stack.length;i++){td[i][1]=stack[i]*fact;td[i][2]=this.data[i][1]/tot}this.gridData=td};$.jqplot.PieRenderer.prototype.makeGridData=function(data,plot){var stack=[];var td=[];var tot=0;var sa=this.startAngle/180*Math.PI;this._drawData=false;for(var i=0;i<data.length;i++){if(this.data[i][1]!=0){this._drawData=true}stack.push(data[i][1]);td.push([data[i][0]]);if(i>0){stack[i]+=stack[i-1]}tot+=data[i][1]}var fact=Math.PI*2/stack[stack.length-1];for(var i=0;i<stack.length;i++){td[i][1]=stack[i]*fact;td[i][2]=data[i][1]/tot}return td};function calcRadiusAdjustment(ang){return Math.sin((ang-(ang-Math.PI)/8/Math.PI)/2)}function calcRPrime(ang1,ang2,sliceMargin,fill,lineWidth){var rprime=0;var ang=ang2-ang1;var absang=Math.abs(ang);var sm=sliceMargin;if(fill==false){sm+=lineWidth}if(sm>0&&absang>.01&&absang<6.282){rprime=parseFloat(sm)/2/calcRadiusAdjustment(ang)}return rprime}$.jqplot.PieRenderer.prototype.drawSlice=function(ctx,ang1,ang2,color,isShadow){if(this._drawData){var r=this._radius;var fill=this.fill;var lineWidth=this.lineWidth;var sm=this.sliceMargin;if(this.fill==false){sm+=this.lineWidth}ctx.save();ctx.translate(this._center[0],this._center[1]);var rprime=calcRPrime(ang1,ang2,this.sliceMargin,this.fill,this.lineWidth);var transx=rprime*Math.cos((ang1+ang2)/2);var transy=rprime*Math.sin((ang1+ang2)/2);if(ang2-ang1<=Math.PI){r-=rprime}else{r+=rprime}ctx.translate(transx,transy);if(isShadow){for(var i=0,l=this.shadowDepth;i<l;i++){ctx.save();ctx.translate(this.shadowOffset*Math.cos(this.shadowAngle/180*Math.PI),this.shadowOffset*Math.sin(this.shadowAngle/180*Math.PI));doDraw(r)}for(var i=0,l=this.shadowDepth;i<l;i++){ctx.restore()}}else{doDraw(r)}ctx.restore()}function doDraw(rad){if(ang2>6.282+this.startAngle){ang2=6.282+this.startAngle;if(ang1>ang2){ang1=6.281+this.startAngle}}if(ang1>=ang2){return}ctx.beginPath();ctx.fillStyle=color;ctx.strokeStyle=color;ctx.lineWidth=lineWidth;ctx.arc(0,0,rad,ang1,ang2,false);ctx.lineTo(0,0);ctx.closePath();if(fill){ctx.fill()}else{ctx.stroke()}}};$.jqplot.PieRenderer.prototype.draw=function(ctx,gd,options,plot){var i;var opts=options!=undefined?options:{};var offx=0;var offy=0;var trans=1;var colorGenerator=new $.jqplot.ColorGenerator(this.seriesColors);if(options.legendInfo&&options.legendInfo.placement=="insideGrid"){var li=options.legendInfo;switch(li.location){case"nw":offx=li.width+li.xoffset;break;case"w":offx=li.width+li.xoffset;break;case"sw":offx=li.width+li.xoffset;break;case"ne":offx=li.width+li.xoffset;trans=-1;break;case"e":offx=li.width+li.xoffset;trans=-1;break;case"se":offx=li.width+li.xoffset;trans=-1;break;case"n":offy=li.height+li.yoffset;break;case"s":offy=li.height+li.yoffset;trans=-1;break;default:break}}var shadow=opts.shadow!=undefined?opts.shadow:this.shadow;var fill=opts.fill!=undefined?opts.fill:this.fill;var cw=ctx.canvas.width;var ch=ctx.canvas.height;var w=cw-offx-2*this.padding;var h=ch-offy-2*this.padding;var mindim=Math.min(w,h);var d=mindim;this._sliceAngles=[];var sm=this.sliceMargin;if(this.fill==false){sm+=this.lineWidth}var rprime;var maxrprime=0;var ang,ang1,ang2,shadowColor;var sa=this.startAngle/180*Math.PI;for(var i=0,l=gd.length;i<l;i++){ang1=i==0?sa:gd[i-1][1]+sa;ang2=gd[i][1]+sa;this._sliceAngles.push([ang1,ang2]);rprime=calcRPrime(ang1,ang2,this.sliceMargin,this.fill,this.lineWidth);if(Math.abs(ang2-ang1)>Math.PI){maxrprime=Math.max(rprime,maxrprime)}}if(this.diameter!=null&&this.diameter>0){this._diameter=this.diameter-2*maxrprime}else{this._diameter=d-2*maxrprime}if(this._diameter<6){$.jqplot.log("Diameter of pie too small, not rendering.");return}var r=this._radius=this._diameter/2;this._center=[(cw-trans*offx)/2+trans*offx+maxrprime*Math.cos(sa),(ch-trans*offy)/2+trans*offy+maxrprime*Math.sin(sa)];if(this.shadow){for(var i=0,l=gd.length;i<l;i++){shadowColor="rgba(0,0,0,"+this.shadowAlpha+")";this.renderer.drawSlice.call(this,ctx,this._sliceAngles[i][0],this._sliceAngles[i][1],shadowColor,true)}}for(var i=0;i<gd.length;i++){this.renderer.drawSlice.call(this,ctx,this._sliceAngles[i][0],this._sliceAngles[i][1],colorGenerator.next(),false);if(this.showDataLabels&&gd[i][2]*100>=this.dataLabelThreshold){var fstr,avgang=(this._sliceAngles[i][0]+this._sliceAngles[i][1])/2,label;if(this.dataLabels=="label"){fstr=this.dataLabelFormatString||"%s";label=$.jqplot.sprintf(fstr,gd[i][0])}else if(this.dataLabels=="value"){fstr=this.dataLabelFormatString||"%d";label=$.jqplot.sprintf(fstr,this.data[i][1])}else if(this.dataLabels=="percent"){fstr=this.dataLabelFormatString||"%d%%";label=$.jqplot.sprintf(fstr,gd[i][2]*100)}else if(this.dataLabels.constructor==Array){fstr=this.dataLabelFormatString||"%s";label=$.jqplot.sprintf(fstr,this.dataLabels[i])}var sum_data_label="";if(this.sumDataLabels){sum_data_label=this.sumDataLabels[i]+"<br />"}var fact=this._radius*this.dataLabelPositionFactor+this.sliceMargin+this.dataLabelNudge;var x=this._center[0]+Math.cos(avgang)*fact+this.canvas._offsets.left;var y=this._center[1]+Math.sin(avgang)*fact+this.canvas._offsets.top;var labelelem=$('<div class="jqplot-pie-series jqplot-data-label" style="position:absolute;">'+sum_data_label+label+"</div>").insertBefore(plot.eventCanvas._elem);if(this.dataLabelCenterOn){x-=labelelem.width()/2;y-=labelelem.height()/2}else{x-=labelelem.width()*Math.sin(avgang/2);y-=labelelem.height()/2}x=Math.round(x);y=Math.round(y);labelelem.css({left:x,top:y})}}};$.jqplot.PieAxisRenderer=function(){$.jqplot.LinearAxisRenderer.call(this)};$.jqplot.PieAxisRenderer.prototype=new $.jqplot.LinearAxisRenderer;$.jqplot.PieAxisRenderer.prototype.constructor=$.jqplot.PieAxisRenderer;$.jqplot.PieAxisRenderer.prototype.init=function(options){this.tickRenderer=$.jqplot.PieTickRenderer;$.extend(true,this,options);this._dataBounds={min:0,max:100};this.min=0;this.max=100;this.showTicks=false;this.ticks=[];this.showMark=false;this.show=false};$.jqplot.PieLegendRenderer=function(){$.jqplot.TableLegendRenderer.call(this)};$.jqplot.PieLegendRenderer.prototype=new $.jqplot.TableLegendRenderer;$.jqplot.PieLegendRenderer.prototype.constructor=$.jqplot.PieLegendRenderer;$.jqplot.PieLegendRenderer.prototype.init=function(options){this.numberRows=null;this.numberColumns=null;$.extend(true,this,options)};$.jqplot.PieLegendRenderer.prototype.draw=function(){var legend=this;if(this.show){var series=this._series;this._elem=$(document.createElement("table"));this._elem.addClass("jqplot-table-legend");var ss={position:"absolute"};if(this.background){ss["background"]=this.background}if(this.border){ss["border"]=this.border}if(this.fontSize){ss["fontSize"]=this.fontSize}if(this.fontFamily){ss["fontFamily"]=this.fontFamily}if(this.textColor){ss["textColor"]=this.textColor}if(this.marginTop!=null){ss["marginTop"]=this.marginTop}if(this.marginBottom!=null){ss["marginBottom"]=this.marginBottom}if(this.marginLeft!=null){ss["marginLeft"]=this.marginLeft}if(this.marginRight!=null){ss["marginRight"]=this.marginRight}this._elem.css(ss);var pad=false,reverse=false,nr,nc;var s=series[0];var colorGenerator=new $.jqplot.ColorGenerator(s.seriesColors);if(s.show){var pd=s.data;if(this.numberRows){nr=this.numberRows;if(!this.numberColumns){nc=Math.ceil(pd.length/nr)}else{nc=this.numberColumns}}else if(this.numberColumns){nc=this.numberColumns;nr=Math.ceil(pd.length/this.numberColumns)}else{nr=pd.length;nc=1}var i,j;var tr,td1,td2;var lt,rs,color;var idx=0;var div0,div1;for(i=0;i<nr;i++){tr=$(document.createElement("tr"));tr.addClass("jqplot-table-legend");if(reverse){tr.prependTo(this._elem)}else{tr.appendTo(this._elem)}for(j=0;j<nc;j++){if(idx<pd.length){lt=this.labels[idx]||pd[idx][0].toString();color=colorGenerator.next();if(!reverse){if(i>0){pad=true}else{pad=false}}else{if(i==nr-1){pad=false}else{pad=true}}rs=pad?this.rowSpacing:"0";td1=$(document.createElement("td"));td1.addClass("jqplot-table-legend jqplot-table-legend-swatch");td1.css({textAlign:"center",paddingTop:rs});div0=$(document.createElement("div"));div0.addClass("jqplot-table-legend-swatch-outline");div1=$(document.createElement("div"));div1.addClass("jqplot-table-legend-swatch");div1.css({backgroundColor:color,borderColor:color});td1.append(div0.append(div1));td2=$(document.createElement("td"));td2.addClass("jqplot-table-legend jqplot-table-legend-label");td2.css("paddingTop",rs);if(this.escapeHtml){td2.text(lt)}else{td2.html(lt)}if(reverse){td2.prependTo(tr);td1.prependTo(tr)}else{td1.appendTo(tr);td2.appendTo(tr)}pad=true}idx++}}}}return this._elem};$.jqplot.PieRenderer.prototype.handleMove=function(ev,gridpos,datapos,neighbor,plot){if(neighbor){var ins=[neighbor.seriesIndex,neighbor.pointIndex,neighbor.data];plot.target.trigger("jqplotDataMouseOver",ins);if(plot.series[ins[0]].highlightMouseOver&&!(ins[0]==plot.plugins.pieRenderer.highlightedSeriesIndex&&ins[1]==plot.series[ins[0]]._highlightedPoint)){plot.target.trigger("jqplotDataHighlight",ins);highlight(plot,ins[0],ins[1])}}else if(neighbor==null){unhighlight(plot)}};function preInit(target,data,options){options=options||{};options.axesDefaults=options.axesDefaults||{};options.legend=options.legend||{};options.seriesDefaults=options.seriesDefaults||{};var setopts=false;if(options.seriesDefaults.renderer==$.jqplot.PieRenderer){setopts=true}else if(options.series){for(var i=0;i<options.series.length;i++){if(options.series[i].renderer==$.jqplot.PieRenderer){setopts=true}}}if(setopts){options.axesDefaults.renderer=$.jqplot.PieAxisRenderer;options.legend.renderer=$.jqplot.PieLegendRenderer;options.legend.preDraw=true;options.seriesDefaults.pointLabels={show:false}}}function postInit(target,data,options){for(var i=0;i<this.series.length;i++){if(this.series[i].renderer.constructor==$.jqplot.PieRenderer){if(this.series[i].highlightMouseOver){this.series[i].highlightMouseDown=false}}}}function postParseOptions(options){for(var i=0;i<this.series.length;i++){this.series[i].seriesColors=this.seriesColors;this.series[i].colorGenerator=$.jqplot.colorGenerator}}function highlight(plot,sidx,pidx){var s=plot.series[sidx];var canvas=plot.plugins.pieRenderer.highlightCanvas;canvas._ctx.clearRect(0,0,canvas._ctx.canvas.width,canvas._ctx.canvas.height);s._highlightedPoint=pidx;plot.plugins.pieRenderer.highlightedSeriesIndex=sidx;s.renderer.drawSlice.call(s,canvas._ctx,s._sliceAngles[pidx][0],s._sliceAngles[pidx][1],s.highlightColorGenerator.get(pidx),false)}function unhighlight(plot){var canvas=plot.plugins.pieRenderer.highlightCanvas;canvas._ctx.clearRect(0,0,canvas._ctx.canvas.width,canvas._ctx.canvas.height);for(var i=0;i<plot.series.length;i++){plot.series[i]._highlightedPoint=null}plot.plugins.pieRenderer.highlightedSeriesIndex=null;plot.target.trigger("jqplotDataUnhighlight")}function handleMove(ev,gridpos,datapos,neighbor,plot){if(neighbor){var ins=[neighbor.seriesIndex,neighbor.pointIndex,neighbor.data];var evt1=jQuery.Event("jqplotDataMouseOver");evt1.pageX=ev.pageX;evt1.pageY=ev.pageY;plot.target.trigger(evt1,ins);if(plot.series[ins[0]].highlightMouseOver&&!(ins[0]==plot.plugins.pieRenderer.highlightedSeriesIndex&&ins[1]==plot.series[ins[0]]._highlightedPoint)){var evt=jQuery.Event("jqplotDataHighlight");evt.which=ev.which;evt.pageX=ev.pageX;evt.pageY=ev.pageY;plot.target.trigger(evt,ins);highlight(plot,ins[0],ins[1])}}else if(neighbor==null){unhighlight(plot)}}function handleMouseDown(ev,gridpos,datapos,neighbor,plot){if(neighbor){var ins=[neighbor.seriesIndex,neighbor.pointIndex,neighbor.data];if(plot.series[ins[0]].highlightMouseDown&&!(ins[0]==plot.plugins.pieRenderer.highlightedSeriesIndex&&ins[1]==plot.series[ins[0]]._highlightedPoint)){var evt=jQuery.Event("jqplotDataHighlight");evt.which=ev.which;evt.pageX=ev.pageX;evt.pageY=ev.pageY;plot.target.trigger(evt,ins);highlight(plot,ins[0],ins[1])}}else if(neighbor==null){unhighlight(plot)}}function handleMouseUp(ev,gridpos,datapos,neighbor,plot){var idx=plot.plugins.pieRenderer.highlightedSeriesIndex;if(idx!=null&&plot.series[idx].highlightMouseDown){unhighlight(plot)}}function handleClick(ev,gridpos,datapos,neighbor,plot){if(neighbor){var ins=[neighbor.seriesIndex,neighbor.pointIndex,neighbor.data];var evt=jQuery.Event("jqplotDataClick");evt.which=ev.which;evt.pageX=ev.pageX;evt.pageY=ev.pageY;plot.target.trigger(evt,ins)}}function handleRightClick(ev,gridpos,datapos,neighbor,plot){if(neighbor){var ins=[neighbor.seriesIndex,neighbor.pointIndex,neighbor.data];
var idx=plot.plugins.pieRenderer.highlightedSeriesIndex;if(idx!=null&&plot.series[idx].highlightMouseDown){unhighlight(plot)}var evt=jQuery.Event("jqplotDataRightClick");evt.which=ev.which;evt.pageX=ev.pageX;evt.pageY=ev.pageY;plot.target.trigger(evt,ins)}}function postPlotDraw(){if(this.plugins.pieRenderer&&this.plugins.pieRenderer.highlightCanvas){this.plugins.pieRenderer.highlightCanvas.resetCanvas();this.plugins.pieRenderer.highlightCanvas=null}this.plugins.pieRenderer={highlightedSeriesIndex:null};this.plugins.pieRenderer.highlightCanvas=new $.jqplot.GenericCanvas;var labels=$(this.targetId+" .jqplot-data-label");if(labels.length){$(labels[0]).before(this.plugins.pieRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-pieRenderer-highlight-canvas",this._plotDimensions,this))}else{this.eventCanvas._elem.before(this.plugins.pieRenderer.highlightCanvas.createElement(this._gridPadding,"jqplot-pieRenderer-highlight-canvas",this._plotDimensions,this))}var hctx=this.plugins.pieRenderer.highlightCanvas.setContext();this.eventCanvas._elem.bind("mouseleave",{plot:this},function(ev){unhighlight(ev.data.plot)})}$.jqplot.preInitHooks.push(preInit);$.jqplot.PieTickRenderer=function(){$.jqplot.AxisTickRenderer.call(this)};$.jqplot.PieTickRenderer.prototype=new $.jqplot.AxisTickRenderer;$.jqplot.PieTickRenderer.prototype.constructor=$.jqplot.PieTickRenderer})(jQuery);"use strict";(function(){if(jQuery&&jQuery.jstree){return}var is_ie6=false,is_ie7=false,is_ff2=false;(function($){$.vakata={};$.vakata.css={get_css:function(rule_name,delete_flag,sheet){rule_name=rule_name.toLowerCase();var css_rules=sheet.cssRules||sheet.rules,j=0;do{if(css_rules.length&&j>css_rules.length+5){return false}if(css_rules[j].selectorText&&css_rules[j].selectorText.toLowerCase()==rule_name){if(delete_flag===true){if(sheet.removeRule){sheet.removeRule(j)}if(sheet.deleteRule){sheet.deleteRule(j)}return true}else{return css_rules[j]}}}while(css_rules[++j]);return false},add_css:function(rule_name,sheet){if($.jstree.css.get_css(rule_name,false,sheet)){return false}if(sheet.insertRule){sheet.insertRule(rule_name+" { }",0)}else{sheet.addRule(rule_name,null,0)}return $.vakata.css.get_css(rule_name)},remove_css:function(rule_name,sheet){return $.vakata.css.get_css(rule_name,true,sheet)},add_sheet:function(opts){var tmp=false,is_new=true;if(opts.str){if(opts.title){tmp=$("style[id='"+opts.title+"-stylesheet']")[0]}if(tmp){is_new=false}else{tmp=document.createElement("style");tmp.setAttribute("type","text/css");if(opts.title){tmp.setAttribute("id",opts.title+"-stylesheet")}}if(tmp.styleSheet){if(is_new){document.getElementsByTagName("head")[0].appendChild(tmp);tmp.styleSheet.cssText=opts.str}else{tmp.styleSheet.cssText=tmp.styleSheet.cssText+" "+opts.str}}else{tmp.appendChild(document.createTextNode(opts.str));document.getElementsByTagName("head")[0].appendChild(tmp)}return tmp.sheet||tmp.styleSheet}if(opts.url){if(document.createStyleSheet){try{tmp=document.createStyleSheet(opts.url)}catch(e){}}else{tmp=document.createElement("link");tmp.rel="stylesheet";tmp.type="text/css";tmp.media="all";tmp.href=opts.url;document.getElementsByTagName("head")[0].appendChild(tmp);return tmp.styleSheet}}}};var instances=[],focused_instance=-1,plugins={},prepared_move={};$.fn.jstree=function(settings){var isMethodCall=typeof settings=="string",args=Array.prototype.slice.call(arguments,1),returnValue=this;if(isMethodCall){if(settings.substring(0,1)=="_"){return returnValue}this.each(function(){var instance=instances[$.data(this,"jstree_instance_id")],methodValue=instance&&$.isFunction(instance[settings])?instance[settings].apply(instance,args):instance;if(typeof methodValue!=="undefined"&&(settings.indexOf("is_")===0||methodValue!==true&&methodValue!==false)){returnValue=methodValue;return false}})}else{this.each(function(){var instance_id=$.data(this,"jstree_instance_id"),a=[],b=settings?$.extend({},true,settings):{},c=$(this),s=false,t=[];a=a.concat(args);if(c.data("jstree")){a.push(c.data("jstree"))}b=a.length?$.extend.apply(null,[true,b].concat(a)):b;if(typeof instance_id!=="undefined"&&instances[instance_id]){instances[instance_id].destroy()}instance_id=parseInt(instances.push({}),10)-1;$.data(this,"jstree_instance_id",instance_id);b.plugins=$.isArray(b.plugins)?b.plugins:$.jstree.defaults.plugins.slice();b.plugins.unshift("core");b.plugins=b.plugins.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",");s=$.extend(true,{},$.jstree.defaults,b);s.plugins=b.plugins;$.each(plugins,function(i,val){if($.inArray(i,s.plugins)===-1){s[i]=null;delete s[i]}else{t.push(i)}});s.plugins=t;instances[instance_id]=new $.jstree._instance(instance_id,$(this).addClass("jstree jstree-"+instance_id),s);$.each(instances[instance_id]._get_settings().plugins,function(i,val){instances[instance_id].data[val]={}});$.each(instances[instance_id]._get_settings().plugins,function(i,val){if(plugins[val]){plugins[val].__init.apply(instances[instance_id])}});setTimeout(function(){if(instances[instance_id]){instances[instance_id].init()}},0)})}return returnValue};$.jstree={defaults:{plugins:[]},_focused:function(){return instances[focused_instance]||null},_reference:function(needle){if(instances[needle]){return instances[needle]}var o=$(needle);if(!o.length&&typeof needle==="string"){o=$("#"+needle)}if(!o.length){return null}return instances[o.closest(".jstree").data("jstree_instance_id")]||null},_instance:function(index,container,settings){this.data={core:{}};this.get_settings=function(){return $.extend(true,{},settings)};this._get_settings=function(){return settings};this.get_index=function(){return index};this.get_container=function(){return container};this.get_container_ul=function(){return container.children("ul:eq(0)")};this._set_settings=function(s){settings=$.extend(true,{},settings,s)}},_fn:{},plugin:function(pname,pdata){pdata=$.extend({},{__init:$.noop,__destroy:$.noop,_fn:{},defaults:false},pdata);plugins[pname]=pdata;$.jstree.defaults[pname]=pdata.defaults;$.each(pdata._fn,function(i,val){val.plugin=pname;val.old=$.jstree._fn[i];$.jstree._fn[i]=function(){var rslt,func=val,args=Array.prototype.slice.call(arguments),evnt=new $.Event("before.jstree"),rlbk=false;if(this.data.core.locked===true&&i!=="unlock"&&i!=="is_locked"){return}do{if(func&&func.plugin&&$.inArray(func.plugin,this._get_settings().plugins)!==-1){break}func=func.old}while(func);if(!func){return}if(i.indexOf("_")===0){rslt=func.apply(this,args)}else{rslt=this.get_container().triggerHandler(evnt,{func:i,inst:this,args:args,plugin:func.plugin});if(rslt===false){return}if(typeof rslt!=="undefined"){args=rslt}rslt=func.apply($.extend({},this,{__callback:function(data){this.get_container().triggerHandler(i+".jstree",{inst:this,args:args,rslt:data,rlbk:rlbk})},__rollback:function(){rlbk=this.get_rollback();return rlbk},__call_old:function(replace_arguments){return func.old.apply(this,replace_arguments?Array.prototype.slice.call(arguments,1):args)}}),args)}return rslt};$.jstree._fn[i].old=val.old;$.jstree._fn[i].plugin=pname})},rollback:function(rb){if(rb){if(!$.isArray(rb)){rb=[rb]}$.each(rb,function(i,val){instances[val.i].set_rollback(val.h,val.d)})}}};$.jstree._fn=$.jstree._instance.prototype={};$(function(){var u=navigator.userAgent.toLowerCase(),v=(u.match(/.+?(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],css_string=""+".jstree ul, .jstree li { display:block; margin:0 0 0 0; padding:0 0 0 0; list-style-type:none; } "+".jstree li { display:block; min-height:18px; line-height:18px; white-space:nowrap; margin-left:18px; min-width:18px; } "+".jstree-rtl li { margin-left:0; margin-right:18px; } "+".jstree > ul > li { margin-left:0px; } "+".jstree-rtl > ul > li { margin-right:0px; } "+".jstree ins { display:inline-block; text-decoration:none; width:18px; height:18px; margin:0 0 0 0; padding:0; } "+".jstree a { display:inline-block; line-height:16px; height:16px; color:black; white-space:nowrap; text-decoration:none; padding:1px 2px; margin:0; } "+".jstree a:focus { outline: none; } "+".jstree a > ins { height:16px; width:16px; } "+".jstree a > .jstree-icon { margin-right:3px; } "+".jstree-rtl a > .jstree-icon { margin-left:3px; margin-right:0; } "+"li.jstree-open > ul { display:block; } "+"li.jstree-closed > ul { display:none; } ";if(/msie/.test(u)&&parseInt(v,10)==6){is_ie6=true;try{document.execCommand("BackgroundImageCache",false,true)}catch(err){}css_string+=""+".jstree li { height:18px; margin-left:0; margin-right:0; } "+".jstree li li { margin-left:18px; } "+".jstree-rtl li li { margin-left:0px; margin-right:18px; } "+"li.jstree-open ul { display:block; } "+"li.jstree-closed ul { display:none !important; } "+".jstree li a { display:inline; border-width:0 !important; padding:0px 2px !important; } "+".jstree li a ins { height:16px; width:16px; margin-right:3px; } "+".jstree-rtl li a ins { margin-right:0px; margin-left:3px; } "}if(/msie/.test(u)&&parseInt(v,10)==7){is_ie7=true;css_string+=".jstree li a { border-width:0 !important; padding:0px 2px !important; } "}if(!/compatible/.test(u)&&/mozilla/.test(u)&&parseFloat(v,10)<1.9){is_ff2=true;css_string+=""+".jstree ins { display:-moz-inline-box; } "+".jstree li { line-height:12px; } "+".jstree a { display:-moz-inline-box; } "+".jstree .jstree-no-icons .jstree-checkbox { display:-moz-inline-stack !important; } "}$.vakata.css.add_sheet({str:css_string,title:"jstree"})});$.jstree.plugin("core",{__init:function(){this.data.core.locked=false;this.data.core.to_open=this.get_settings().core.initially_open;this.data.core.to_load=this.get_settings().core.initially_load},defaults:{html_titles:false,animation:500,initially_open:[],initially_load:[],open_parents:true,notify_plugins:true,rtl:false,load_open:false,strings:{loading:"Loading ...",new_node:"New node",multiple_selection:"Multiple selection"}},_fn:{init:function(){this.set_focus();if(this._get_settings().core.rtl){this.get_container().addClass("jstree-rtl").css("direction","rtl")}this.get_container().html("<ul><li class='jstree-last jstree-leaf'><ins>&#160;</ins><a class='jstree-loading' href='#'><ins class='jstree-icon'>&#160;</ins>"+this._get_string("loading")+"</a></li></ul>");this.data.core.li_height=this.get_container_ul().find("li.jstree-closed, li.jstree-leaf").eq(0).height()||18;this.get_container().delegate("li > ins","click.jstree",$.proxy(function(event){var trgt=$(event.target);this.toggle_node(trgt)},this)).bind("mousedown.jstree",$.proxy(function(){this.set_focus()},this)).bind("dblclick.jstree",function(event){var sel;if(document.selection&&document.selection.empty){document.selection.empty()}else{if(window.getSelection){sel=window.getSelection();try{sel.removeAllRanges();sel.collapse()}catch(err){}}}});if(this._get_settings().core.notify_plugins){this.get_container().bind("load_node.jstree",$.proxy(function(e,data){var o=this._get_node(data.rslt.obj),t=this;if(o===-1){o=this.get_container_ul()}if(!o.length){return}o.find("li").each(function(){var th=$(this);if(th.data("jstree")){$.each(th.data("jstree"),function(plugin,values){if(t.data[plugin]&&$.isFunction(t["_"+plugin+"_notify"])){t["_"+plugin+"_notify"].call(t,th,values)}})}})},this))}if(this._get_settings().core.load_open){this.get_container().bind("load_node.jstree",$.proxy(function(e,data){var o=this._get_node(data.rslt.obj),t=this;if(o===-1){o=this.get_container_ul()}if(!o.length){return}o.find("li.jstree-open:not(:has(ul))").each(function(){t.load_node(this,$.noop,$.noop)})},this))}this.__callback();this.load_node(-1,function(){this.loaded();this.reload_nodes()})},destroy:function(){var i,n=this.get_index(),s=this._get_settings(),_this=this;$.each(s.plugins,function(i,val){try{plugins[val].__destroy.apply(_this)}catch(err){}});this.__callback();if(this.is_focused()){for(i in instances){if(instances.hasOwnProperty(i)&&i!=n){instances[i].set_focus();break}}}if(n===focused_instance){focused_instance=-1}this.get_container().unbind(".jstree").undelegate(".jstree").removeData("jstree_instance_id").find("[class^='jstree']").andSelf().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")});$(document).unbind(".jstree-"+n).undelegate(".jstree-"+n);instances[n]=null;delete instances[n]},_core_notify:function(n,data){if(data.opened){this.open_node(n,false,true)}},lock:function(){this.data.core.locked=true;this.get_container().children("ul").addClass("jstree-locked").css("opacity","0.7");this.__callback({})},unlock:function(){this.data.core.locked=false;this.get_container().children("ul").removeClass("jstree-locked").css("opacity","1");this.__callback({})},is_locked:function(){return this.data.core.locked},save_opened:function(){var _this=this;this.data.core.to_open=[];this.get_container_ul().find("li.jstree-open").each(function(){if(this.id){_this.data.core.to_open.push("#"+this.id.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"))}});this.__callback(_this.data.core.to_open)},save_loaded:function(){},reload_nodes:function(is_callback){var _this=this,done=true,current=[],remaining=[];if(!is_callback){this.data.core.reopen=false;this.data.core.refreshing=true;this.data.core.to_open=$.map($.makeArray(this.data.core.to_open),function(n){return"#"+n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")});this.data.core.to_load=$.map($.makeArray(this.data.core.to_load),function(n){return"#"+n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")});if(this.data.core.to_open.length){this.data.core.to_load=this.data.core.to_load.concat(this.data.core.to_open)}}if(this.data.core.to_load.length){$.each(this.data.core.to_load,function(i,val){if(val=="#"){return true}if($(val).length){current.push(val)}else{remaining.push(val)}});if(current.length){this.data.core.to_load=remaining;$.each(current,function(i,val){if(!_this._is_loaded(val)){_this.load_node(val,function(){_this.reload_nodes(true)},function(){_this.reload_nodes(true)});done=false}})}}if(this.data.core.to_open.length){$.each(this.data.core.to_open,function(i,val){_this.open_node(val,false,true)})}if(done){if(this.data.core.reopen){clearTimeout(this.data.core.reopen)}this.data.core.reopen=setTimeout(function(){_this.__callback({},_this)},50);this.data.core.refreshing=false;this.reopen()}},reopen:function(){var _this=this;if(this.data.core.to_open.length){$.each(this.data.core.to_open,function(i,val){_this.open_node(val,false,true)})}this.__callback({})},refresh:function(obj){var _this=this;this.save_opened();if(!obj){obj=-1}obj=this._get_node(obj);if(!obj){obj=-1}if(obj!==-1){obj.children("UL").remove()}else{this.get_container_ul().empty()}this.load_node(obj,function(){_this.__callback({obj:obj});_this.reload_nodes()})},loaded:function(){this.__callback()},set_focus:function(){if(this.is_focused()){return}var f=$.jstree._focused();if(f){f.unset_focus()}this.get_container().addClass("jstree-focused");focused_instance=this.get_index();this.__callback()},is_focused:function(){return focused_instance==this.get_index()},unset_focus:function(){if(this.is_focused()){this.get_container().removeClass("jstree-focused");focused_instance=-1}this.__callback()},_get_node:function(obj){var $obj=$(obj,this.get_container());if($obj.is(".jstree")||obj==-1){return-1}$obj=$obj.closest("li",this.get_container());return $obj.length?$obj:false},_get_next:function(obj,strict){obj=this._get_node(obj);if(obj===-1){return this.get_container().find("> ul > li:first-child")}if(!obj.length){return false}if(strict){return obj.nextAll("li").size()>0?obj.nextAll("li:eq(0)"):false}if(obj.hasClass("jstree-open")){return obj.find("li:eq(0)")}else if(obj.nextAll("li").size()>0){return obj.nextAll("li:eq(0)")}else{return obj.parentsUntil(".jstree","li").next("li").eq(0)}},_get_prev:function(obj,strict){obj=this._get_node(obj);if(obj===-1){return this.get_container().find("> ul > li:last-child")}if(!obj.length){return false}if(strict){return obj.prevAll("li").length>0?obj.prevAll("li:eq(0)"):false}if(obj.prev("li").length){obj=obj.prev("li").eq(0);while(obj.hasClass("jstree-open")){obj=obj.children("ul:eq(0)").children("li:last")}return obj}else{var o=obj.parentsUntil(".jstree","li:eq(0)");return o.length?o:false}},_get_parent:function(obj){obj=this._get_node(obj);if(obj==-1||!obj.length){return false}var o=obj.parentsUntil(".jstree","li:eq(0)");return o.length?o:-1},_get_children:function(obj){obj=this._get_node(obj);if(obj===-1){return this.get_container().children("ul:eq(0)").children("li")}if(!obj.length){return false}return obj.children("ul:eq(0)").children("li")},get_path:function(obj,id_mode){var p=[],_this=this;obj=this._get_node(obj);if(obj===-1||!obj||!obj.length){return false}obj.parentsUntil(".jstree","li").each(function(){p.push(id_mode?this.id:_this.get_text(this))});p.reverse();p.push(id_mode?obj.attr("id"):this.get_text(obj));return p},_get_string:function(key){return this._get_settings().core.strings[key]||key},is_open:function(obj){obj=this._get_node(obj);return obj&&obj!==-1&&obj.hasClass("jstree-open")},is_closed:function(obj){obj=this._get_node(obj);return obj&&obj!==-1&&obj.hasClass("jstree-closed")},is_leaf:function(obj){obj=this._get_node(obj);return obj&&obj!==-1&&obj.hasClass("jstree-leaf")},correct_state:function(obj){obj=this._get_node(obj);if(!obj||obj===-1){return false}obj.removeClass("jstree-closed jstree-open").addClass("jstree-leaf").children("ul").remove();this.__callback({obj:obj})},open_node:function(obj,callback,skip_animation){obj=this._get_node(obj);if(!obj.length){return false}if(!obj.hasClass("jstree-closed")){if(callback){callback.call()}return false}var s=skip_animation||is_ie6?0:this._get_settings().core.animation,t=this;if(!this._is_loaded(obj)){obj.children("a").addClass("jstree-loading");this.load_node(obj,function(){t.open_node(obj,callback,skip_animation)},callback)}else{if(this._get_settings().core.open_parents){obj.parentsUntil(".jstree",".jstree-closed").each(function(){t.open_node(this,false,true)})}if(s){obj.children("ul").css("display","none")}obj.removeClass("jstree-closed").addClass("jstree-open").children("a").removeClass("jstree-loading");if(s){obj.children("ul").stop(true,true).slideDown(s,function(){this.style.display="";t.after_open(obj)})}else{t.after_open(obj)}this.__callback({obj:obj});if(callback){callback.call()}}},after_open:function(obj){this.__callback({obj:obj})},close_node:function(obj,skip_animation){obj=this._get_node(obj);var s=skip_animation||is_ie6?0:this._get_settings().core.animation,t=this;if(!obj.length||!obj.hasClass("jstree-open")){return false}if(s){obj.children("ul").attr("style","display:block !important")}obj.removeClass("jstree-open").addClass("jstree-closed");if(s){obj.children("ul").stop(true,true).slideUp(s,function(){this.style.display="";t.after_close(obj)})}else{t.after_close(obj)}this.__callback({obj:obj})},after_close:function(obj){this.__callback({obj:obj})},toggle_node:function(obj){obj=this._get_node(obj);if(obj.hasClass("jstree-closed")){return this.open_node(obj)}if(obj.hasClass("jstree-open")){return this.close_node(obj)}},open_all:function(obj,do_animation,original_obj){obj=obj?this._get_node(obj):-1;if(!obj||obj===-1){obj=this.get_container_ul()}if(original_obj){obj=obj.find("li.jstree-closed")}else{original_obj=obj;if(obj.is(".jstree-closed")){obj=obj.find("li.jstree-closed").andSelf()}else{obj=obj.find("li.jstree-closed")}}var _this=this;obj.each(function(){var __this=this;if(!_this._is_loaded(this)){_this.open_node(this,function(){_this.open_all(__this,do_animation,original_obj)},!do_animation)}else{_this.open_node(this,false,!do_animation)}});if(original_obj.find("li.jstree-closed").length===0){this.__callback({obj:original_obj})}},close_all:function(obj,do_animation){var _this=this;obj=obj?this._get_node(obj):this.get_container();if(!obj||obj===-1){obj=this.get_container_ul()}obj.find("li.jstree-open").andSelf().each(function(){_this.close_node(this,!do_animation)});this.__callback({obj:obj})},clean_node:function(obj){obj=obj&&obj!=-1?$(obj):this.get_container_ul();obj=obj.is("li")?obj.find("li").andSelf():obj.find("li");obj.removeClass("jstree-last").filter("li:last-child").addClass("jstree-last").end().filter(":has(li)").not(".jstree-open").removeClass("jstree-leaf").addClass("jstree-closed");obj.not(".jstree-open, .jstree-closed").addClass("jstree-leaf").children("ul").remove();this.__callback({obj:obj})},get_rollback:function(){this.__callback();return{i:this.get_index(),h:this.get_container().children("ul").clone(true),d:this.data}},set_rollback:function(html,data){this.get_container().empty().append(html);this.data=data;this.__callback()},load_node:function(obj,s_call,e_call){this.__callback({obj:obj})},_is_loaded:function(obj){return true},create_node:function(obj,position,js,callback,is_loaded){obj=this._get_node(obj);position=typeof position==="undefined"?"last":position;var d=$("<li />"),s=this._get_settings().core,tmp;if(obj!==-1&&!obj.length){return false}if(!is_loaded&&!this._is_loaded(obj)){this.load_node(obj,function(){this.create_node(obj,position,js,callback,true)});return false}this.__rollback();if(typeof js==="string"){js={data:js}}if(!js){js={}}if(js.attr){d.attr(js.attr)}if(js.metadata){d.data(js.metadata)}if(js.state){d.addClass("jstree-"+js.state)}if(!js.data){js.data=this._get_string("new_node")}if(!$.isArray(js.data)){tmp=js.data;js.data=[];js.data.push(tmp)}$.each(js.data,function(i,m){tmp=$("<a />");if($.isFunction(m)){m=m.call(this,js)}if(typeof m=="string"){tmp.attr("href","#")[s.html_titles?"html":"text"](m)}else{if(!m.attr){m.attr={}}if(!m.attr.href){m.attr.href="#"}tmp.attr(m.attr)[s.html_titles?"html":"text"](m.title);if(m.language){tmp.addClass(m.language)}}tmp.prepend("<ins class='jstree-icon'>&#160;</ins>");if(!m.icon&&js.icon){m.icon=js.icon}if(m.icon){if(m.icon.indexOf("/")===-1){tmp.children("ins").addClass(m.icon)}else{tmp.children("ins").css("background","url('"+m.icon+"') center center no-repeat")}}d.append(tmp)});d.prepend("<ins class='jstree-icon'>&#160;</ins>");if(obj===-1){obj=this.get_container();if(position==="before"){position="first"}if(position==="after"){position="last"}}switch(position){case"before":obj.before(d);tmp=this._get_parent(obj);break;case"after":obj.after(d);tmp=this._get_parent(obj);break;case"inside":case"first":if(!obj.children("ul").length){obj.append("<ul />")}obj.children("ul").prepend(d);tmp=obj;break;case"last":if(!obj.children("ul").length){obj.append("<ul />")}obj.children("ul").append(d);tmp=obj;break;default:if(!obj.children("ul").length){obj.append("<ul />")}if(!position){position=0}tmp=obj.children("ul").children("li").eq(position);if(tmp.length){tmp.before(d)}else{obj.children("ul").append(d)}tmp=obj;break}if(tmp===-1||tmp.get(0)===this.get_container().get(0)){tmp=-1}this.clean_node(tmp);this.__callback({obj:d,parent:tmp});if(callback){callback.call(this,d)}return d},get_text:function(obj){obj=this._get_node(obj);if(!obj.length){return false}var s=this._get_settings().core.html_titles;obj=obj.children("a:eq(0)");if(s){obj=obj.clone();obj.children("INS").remove();return obj.html()}else{obj=obj.contents().filter(function(){return this.nodeType==3})[0];return obj.nodeValue}},set_text:function(obj,val){obj=this._get_node(obj);if(!obj.length){return false}obj=obj.children("a:eq(0)");if(this._get_settings().core.html_titles){var tmp=obj.children("INS").clone();obj.html(val).prepend(tmp);this.__callback({obj:obj,name:val});return true}else{obj=obj.contents().filter(function(){return this.nodeType==3})[0];this.__callback({obj:obj,name:val});return obj.nodeValue=val}},rename_node:function(obj,val){obj=this._get_node(obj);this.__rollback();if(obj&&obj.length&&this.set_text.apply(this,Array.prototype.slice.call(arguments))){this.__callback({obj:obj,name:val})}},delete_node:function(obj){obj=this._get_node(obj);if(!obj.length){return false}this.__rollback();var p=this._get_parent(obj),prev=$([]),t=this;obj.each(function(){prev=prev.add(t._get_prev(this))});obj=obj.detach();if(p!==-1&&p.find("> ul > li").length===0){p.removeClass("jstree-open jstree-closed").addClass("jstree-leaf")}this.clean_node(p);this.__callback({obj:obj,prev:prev,parent:p});return obj},prepare_move:function(o,r,pos,cb,is_cb){var p={};p.ot=$.jstree._reference(o)||this;p.o=p.ot._get_node(o);p.r=r===-1?-1:this._get_node(r);p.p=typeof pos==="undefined"||pos===false?"last":pos;if(!is_cb&&prepared_move.o&&prepared_move.o[0]===p.o[0]&&prepared_move.r[0]===p.r[0]&&prepared_move.p===p.p){this.__callback(prepared_move);if(cb){cb.call(this,prepared_move)}return}p.ot=$.jstree._reference(p.o)||this;p.rt=$.jstree._reference(p.r)||this;if(p.r===-1||!p.r){p.cr=-1;switch(p.p){case"first":case"before":case"inside":p.cp=0;break;case"after":case"last":p.cp=p.rt.get_container().find(" > ul > li").length;break;default:p.cp=p.p;break}}else{if(!/^(before|after)$/.test(p.p)&&!this._is_loaded(p.r)){return this.load_node(p.r,function(){this.prepare_move(o,r,pos,cb,true)})}switch(p.p){case"before":p.cp=p.r.index();p.cr=p.rt._get_parent(p.r);break;case"after":p.cp=p.r.index()+1;p.cr=p.rt._get_parent(p.r);break;case"inside":case"first":p.cp=0;p.cr=p.r;break;case"last":p.cp=p.r.find(" > ul > li").length;p.cr=p.r;break;default:p.cp=p.p;p.cr=p.r;break}}p.np=p.cr==-1?p.rt.get_container():p.cr;p.op=p.ot._get_parent(p.o);p.cop=p.o.index();if(p.op===-1){p.op=p.ot?p.ot.get_container():this.get_container()}if(!/^(before|after)$/.test(p.p)&&p.op&&p.np&&p.op[0]===p.np[0]&&p.o.index()<p.cp){p.cp++}p.or=p.np.find(" > ul > li:nth-child("+(p.cp+1)+")");prepared_move=p;this.__callback(prepared_move);if(cb){cb.call(this,prepared_move)}},check_move:function(){var obj=prepared_move,ret=true,r=obj.r===-1?this.get_container():obj.r;if(!obj||!obj.o||obj.or[0]===obj.o[0]){return false}if(!obj.cy){if(obj.op&&obj.np&&obj.op[0]===obj.np[0]&&obj.cp-1===obj.o.index()){return false}obj.o.each(function(){if(r.parentsUntil(".jstree","li").andSelf().index(this)!==-1){ret=false;return false}})}return ret},move_node:function(obj,ref,position,is_copy,is_prepared,skip_check){if(!is_prepared){return this.prepare_move(obj,ref,position,function(p){this.move_node(p,false,false,is_copy,true,skip_check)})}if(is_copy){prepared_move.cy=true}if(!skip_check&&!this.check_move()){return false}this.__rollback();var o=false;if(is_copy){o=obj.o.clone(true);o.find("*[id]").andSelf().each(function(){if(this.id){this.id="copy_"+this.id}})}else{o=obj.o}if(obj.or.length){obj.or.before(o)}else{if(!obj.np.children("ul").length){$("<ul />").appendTo(obj.np)}obj.np.children("ul:eq(0)").append(o)}try{obj.ot.clean_node(obj.op);obj.rt.clean_node(obj.np);if(!obj.op.find("> ul > li").length){obj.op.removeClass("jstree-open jstree-closed").addClass("jstree-leaf").children("ul").remove()}}catch(e){}if(is_copy){prepared_move.cy=true;prepared_move.oc=o}this.__callback(prepared_move);return prepared_move},_get_move:function(){return prepared_move}}})})(jQuery);(function($){var scrollbar_width,e1,e2;$(function(){if(/msie/.test(navigator.userAgent.toLowerCase())){e1=$('<textarea cols="10" rows="2"></textarea>').css({position:"absolute",top:-1e3,left:0}).appendTo("body");e2=$('<textarea cols="10" rows="2" style="overflow: hidden;"></textarea>').css({position:"absolute",top:-1e3,left:0}).appendTo("body");scrollbar_width=e1.width()-e2.width();e1.add(e2).remove()}else{e1=$("<div />").css({width:100,height:100,overflow:"auto",position:"absolute",top:-1e3,left:0}).prependTo("body").append("<div />").find("div").css({width:"100%",height:200});scrollbar_width=100-e1.width();e1.parent().remove()}});$.jstree.plugin("ui",{__init:function(){this.data.ui.selected=$();this.data.ui.last_selected=false;this.data.ui.hovered=null;this.data.ui.to_select=this.get_settings().ui.initially_select;this.get_container().delegate("a","click.jstree",$.proxy(function(event){event.preventDefault();event.currentTarget.blur();if(!$(event.currentTarget).hasClass("jstree-loading")){this.select_node(event.currentTarget,true,event)}},this)).delegate("a","mouseenter.jstree",$.proxy(function(event){if(!$(event.currentTarget).hasClass("jstree-loading")){this.hover_node(event.target)}},this)).delegate("a","mouseleave.jstree",$.proxy(function(event){if(!$(event.currentTarget).hasClass("jstree-loading")){this.dehover_node(event.target)}},this)).bind("reopen.jstree",$.proxy(function(){this.reselect()},this)).bind("get_rollback.jstree",$.proxy(function(){this.dehover_node();this.save_selected()},this)).bind("set_rollback.jstree",$.proxy(function(){this.reselect()},this)).bind("close_node.jstree",$.proxy(function(event,data){var s=this._get_settings().ui,obj=this._get_node(data.rslt.obj),clk=obj&&obj.length?obj.children("ul").find("a.jstree-clicked"):$(),_this=this;if(s.selected_parent_close===false||!clk.length){return}clk.each(function(){_this.deselect_node(this);if(s.selected_parent_close==="select_parent"){_this.select_node(obj)}})},this)).bind("delete_node.jstree",$.proxy(function(event,data){var s=this._get_settings().ui.select_prev_on_delete,obj=this._get_node(data.rslt.obj),clk=obj&&obj.length?obj.find("a.jstree-clicked"):[],_this=this;clk.each(function(){_this.deselect_node(this)});if(s&&clk.length){data.rslt.prev.each(function(){if(this.parentNode){_this.select_node(this);return false}})}},this)).bind("move_node.jstree",$.proxy(function(event,data){if(data.rslt.cy){data.rslt.oc.find("a.jstree-clicked").removeClass("jstree-clicked")}},this))},defaults:{select_limit:-1,select_multiple_modifier:"ctrl",select_range_modifier:"shift",selected_parent_close:"select_parent",selected_parent_open:true,select_prev_on_delete:true,disable_selecting_children:false,initially_select:[]},_fn:{_get_node:function(obj,allow_multiple){if(typeof obj==="undefined"||obj===null){return allow_multiple?this.data.ui.selected:this.data.ui.last_selected}var $obj=$(obj,this.get_container());if($obj.is(".jstree")||obj==-1){return-1}$obj=$obj.closest("li",this.get_container());return $obj.length?$obj:false},_ui_notify:function(n,data){if(data.selected){this.select_node(n,false)}},save_selected:function(){var _this=this;this.data.ui.to_select=[];this.data.ui.selected.each(function(){if(this.id){_this.data.ui.to_select.push("#"+this.id.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"))}});this.__callback(this.data.ui.to_select)},reselect:function(){var _this=this,s=this.data.ui.to_select;s=$.map($.makeArray(s),function(n){return"#"+n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")});$.each(s,function(i,val){if(val&&val!=="#"){_this.select_node(val)}});this.data.ui.selected=this.data.ui.selected.filter(function(){return this.parentNode});this.__callback()},refresh:function(obj){this.save_selected();return this.__call_old()},hover_node:function(obj){obj=this._get_node(obj);if(!obj.length){return false}if(!obj.hasClass("jstree-hovered")){this.dehover_node()}this.data.ui.hovered=obj.children("a").addClass("jstree-hovered").parent();this._fix_scroll(obj);this.__callback({obj:obj})},dehover_node:function(){var obj=this.data.ui.hovered,p;if(!obj||!obj.length){return false}p=obj.children("a").removeClass("jstree-hovered").parent();if(this.data.ui.hovered[0]===p[0]){this.data.ui.hovered=null}this.__callback({obj:obj})},select_node:function(obj,check,e){obj=this._get_node(obj);if(obj==-1||!obj||!obj.length){return false}var s=this._get_settings().ui,is_multiple=s.select_multiple_modifier=="on"||s.select_multiple_modifier!==false&&e&&e[s.select_multiple_modifier+"Key"],is_range=s.select_range_modifier!==false&&e&&e[s.select_range_modifier+"Key"]&&this.data.ui.last_selected&&this.data.ui.last_selected[0]!==obj[0]&&this.data.ui.last_selected.parent()[0]===obj.parent()[0],is_selected=this.is_selected(obj),proceed=true,t=this;
if(check){if(s.disable_selecting_children&&is_multiple&&(obj.parentsUntil(".jstree","li").children("a.jstree-clicked").length||obj.children("ul").find("a.jstree-clicked:eq(0)").length)){return false}proceed=false;switch(!0){case is_range:this.data.ui.last_selected.addClass("jstree-last-selected");obj=obj[obj.index()<this.data.ui.last_selected.index()?"nextUntil":"prevUntil"](".jstree-last-selected").andSelf();if(s.select_limit==-1||obj.length<s.select_limit){this.data.ui.last_selected.removeClass("jstree-last-selected");this.data.ui.selected.each(function(){if(this!==t.data.ui.last_selected[0]){t.deselect_node(this)}});is_selected=false;proceed=true}else{proceed=false}break;case is_selected&&!is_multiple:this.deselect_all();is_selected=false;proceed=true;break;case!is_selected&&!is_multiple:if(s.select_limit==-1||s.select_limit>0){this.deselect_all();proceed=true}break;case is_selected&&is_multiple:this.deselect_node(obj);break;case!is_selected&&is_multiple:if(s.select_limit==-1||this.data.ui.selected.length+1<=s.select_limit){proceed=true}break}}if(proceed&&!is_selected){if(!is_range){this.data.ui.last_selected=obj}obj.children("a").addClass("jstree-clicked");if(s.selected_parent_open){obj.parents(".jstree-closed").each(function(){t.open_node(this,false,true)})}this.data.ui.selected=this.data.ui.selected.add(obj);this._fix_scroll(obj.eq(0));this.__callback({obj:obj,e:e})}},_fix_scroll:function(obj){var c=this.get_container()[0],t;if(c.scrollHeight>c.offsetHeight){obj=this._get_node(obj);if(!obj||obj===-1||!obj.length||!obj.is(":visible")){return}t=obj.offset().top-this.get_container().offset().top;if(t<0){c.scrollTop=c.scrollTop+t-1}if(t+this.data.core.li_height+(c.scrollWidth>c.offsetWidth?scrollbar_width:0)>c.offsetHeight){c.scrollTop=c.scrollTop+(t-c.offsetHeight+this.data.core.li_height+1+(c.scrollWidth>c.offsetWidth?scrollbar_width:0))}}},deselect_node:function(obj){obj=this._get_node(obj);if(!obj.length){return false}if(this.is_selected(obj)){obj.children("a").removeClass("jstree-clicked");this.data.ui.selected=this.data.ui.selected.not(obj);if(this.data.ui.last_selected.get(0)===obj.get(0)){this.data.ui.last_selected=this.data.ui.selected.eq(0)}this.__callback({obj:obj})}},toggle_select:function(obj){obj=this._get_node(obj);if(!obj.length){return false}if(this.is_selected(obj)){this.deselect_node(obj)}else{this.select_node(obj)}},is_selected:function(obj){return this.data.ui.selected.index(this._get_node(obj))>=0},get_selected:function(context){return context?$(context).find("a.jstree-clicked").parent():this.data.ui.selected},deselect_all:function(context){var ret=context?$(context).find("a.jstree-clicked").parent():this.get_container().find("a.jstree-clicked").parent();ret.children("a.jstree-clicked").removeClass("jstree-clicked");this.data.ui.selected=$([]);this.data.ui.last_selected=false;this.__callback({obj:ret})}}});$.jstree.defaults.plugins.push("ui")})(jQuery);(function($){$.jstree.plugin("crrm",{__init:function(){this.get_container().bind("move_node.jstree",$.proxy(function(e,data){if(this._get_settings().crrm.move.open_onmove){var t=this;data.rslt.np.parentsUntil(".jstree").andSelf().filter(".jstree-closed").each(function(){t.open_node(this,false,true)})}},this))},defaults:{input_width_limit:200,move:{always_copy:false,open_onmove:true,default_position:"last",check_move:function(m){return true}}},_fn:{_show_input:function(obj,callback){obj=this._get_node(obj);var rtl=this._get_settings().core.rtl,w=this._get_settings().crrm.input_width_limit,w1=obj.children("ins").width(),w2=obj.find("> a:visible > ins").width()*obj.find("> a:visible > ins").length,t=this.get_text(obj),h1=$("<div />",{css:{position:"absolute",top:"-200px",left:rtl?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),h2=obj.css("position","relative").append($("<input />",{value:t,class:"jstree-rename-input",css:{padding:"0",border:"1px solid silver",position:"absolute",left:rtl?"auto":w1+w2+4+"px",right:rtl?w1+w2+4+"px":"auto",top:"0px",height:this.data.core.li_height-2+"px",lineHeight:this.data.core.li_height-2+"px",width:"150px"},blur:$.proxy(function(){var i=obj.children(".jstree-rename-input"),v=i.val();if(v===""){v=t}h1.remove();i.remove();this.set_text(obj,t);this.rename_node(obj,v);callback.call(this,obj,v,t);obj.css("position","")},this),keyup:function(event){var key=event.keyCode||event.which;if(key==27){this.value=t;this.blur();return}else if(key==13){this.blur();return}else{h2.width(Math.min(h1.text("pW"+this.value).width(),w))}},keypress:function(event){var key=event.keyCode||event.which;if(key==13){return false}}})).children(".jstree-rename-input");this.set_text(obj,"");h1.css({fontFamily:h2.css("fontFamily")||"",fontSize:h2.css("fontSize")||"",fontWeight:h2.css("fontWeight")||"",fontStyle:h2.css("fontStyle")||"",fontStretch:h2.css("fontStretch")||"",fontVariant:h2.css("fontVariant")||"",letterSpacing:h2.css("letterSpacing")||"",wordSpacing:h2.css("wordSpacing")||""});h2.width(Math.min(h1.text("pW"+h2[0].value).width(),w))[0].select()},rename:function(obj){obj=this._get_node(obj);this.__rollback();var f=this.__callback;this._show_input(obj,function(obj,new_name,old_name){f.call(this,{obj:obj,new_name:new_name,old_name:old_name})})},create:function(obj,position,js,callback,skip_rename){var t,_this=this;obj=this._get_node(obj);if(!obj){obj=-1}this.__rollback();t=this.create_node(obj,position,js,function(t){var p=this._get_parent(t),pos=$(t).index();if(callback){callback.call(this,t)}if(p.length&&p.hasClass("jstree-closed")){this.open_node(p,false,true)}if(!skip_rename){this._show_input(t,function(obj,new_name,old_name){_this.__callback({obj:obj,name:new_name,parent:p,position:pos})})}else{_this.__callback({obj:t,name:this.get_text(t),parent:p,position:pos})}});return t},remove:function(obj){obj=this._get_node(obj,true);var p=this._get_parent(obj),prev=this._get_prev(obj);this.__rollback();obj=this.delete_node(obj);if(obj!==false){this.__callback({obj:obj,prev:prev,parent:p})}},check_move:function(){if(!this.__call_old()){return false}var s=this._get_settings().crrm.move;if(!s.check_move.call(this,this._get_move())){return false}return true},move_node:function(obj,ref,position,is_copy,is_prepared,skip_check){var s=this._get_settings().crrm.move;if(!is_prepared){if(typeof position==="undefined"){position=s.default_position}if(position==="inside"&&!s.default_position.match(/^(before|after)$/)){position=s.default_position}return this.__call_old(true,obj,ref,position,is_copy,false,skip_check)}if(s.always_copy===true||s.always_copy==="multitree"&&obj.rt.get_index()!==obj.ot.get_index()){is_copy=true}this.__call_old(true,obj,ref,position,is_copy,true,skip_check)},cut:function(obj){obj=this._get_node(obj,true);if(!obj||!obj.length){return false}this.data.crrm.cp_nodes=false;this.data.crrm.ct_nodes=obj;this.__callback({obj:obj})},copy:function(obj){obj=this._get_node(obj,true);if(!obj||!obj.length){return false}this.data.crrm.ct_nodes=false;this.data.crrm.cp_nodes=obj;this.__callback({obj:obj})},paste:function(obj){obj=this._get_node(obj);if(!obj||!obj.length){return false}var nodes=this.data.crrm.ct_nodes?this.data.crrm.ct_nodes:this.data.crrm.cp_nodes;if(!this.data.crrm.ct_nodes&&!this.data.crrm.cp_nodes){return false}if(this.data.crrm.ct_nodes){this.move_node(this.data.crrm.ct_nodes,obj);this.data.crrm.ct_nodes=false}if(this.data.crrm.cp_nodes){this.move_node(this.data.crrm.cp_nodes,obj,false,true)}this.__callback({obj:obj,nodes:nodes})}}})})(jQuery);(function($){var themes_loaded=[];$.jstree._themes=false;$.jstree.plugin("themes",{__init:function(){this.get_container().bind("init.jstree",$.proxy(function(){var s=this._get_settings().themes;this.data.themes.dots=s.dots;this.data.themes.icons=s.icons;this.set_theme(s.theme,s.url)},this)).bind("loaded.jstree",$.proxy(function(){if(!this.data.themes.dots){this.hide_dots()}else{this.show_dots()}if(!this.data.themes.icons){this.hide_icons()}else{this.show_icons()}},this))},defaults:{theme:"default",url:false,dots:true,icons:true},_fn:{set_theme:function(theme_name,theme_url){if(!theme_name){return false}if(!theme_url){theme_url=$.jstree._themes+theme_name+"/style.css"}if($.inArray(theme_url,themes_loaded)==-1){$.vakata.css.add_sheet({url:theme_url});themes_loaded.push(theme_url)}if(this.data.themes.theme!=theme_name){this.get_container().removeClass("jstree-"+this.data.themes.theme);this.data.themes.theme=theme_name}this.get_container().addClass("jstree-"+theme_name);if(!this.data.themes.dots){this.hide_dots()}else{this.show_dots()}if(!this.data.themes.icons){this.hide_icons()}else{this.show_icons()}this.__callback()},get_theme:function(){return this.data.themes.theme},show_dots:function(){this.data.themes.dots=true;this.get_container().children("ul").removeClass("jstree-no-dots")},hide_dots:function(){this.data.themes.dots=false;this.get_container().children("ul").addClass("jstree-no-dots")},toggle_dots:function(){if(this.data.themes.dots){this.hide_dots()}else{this.show_dots()}},show_icons:function(){this.data.themes.icons=true;this.get_container().children("ul").removeClass("jstree-no-icons")},hide_icons:function(){this.data.themes.icons=false;this.get_container().children("ul").addClass("jstree-no-icons")},toggle_icons:function(){if(this.data.themes.icons){this.hide_icons()}else{this.show_icons()}}}});$(function(){if($.jstree._themes===false){$("script").each(function(){if(this.src.toString().match(/jquery\.jstree[^\/]*?\.js(\?.*)?$/)){$.jstree._themes=this.src.toString().replace(/jquery\.jstree[^\/]*?\.js(\?.*)?$/,"")+"themes/";return false}})}if($.jstree._themes===false){$.jstree._themes="themes/"}});$.jstree.defaults.plugins.push("themes")})(jQuery);(function($){var bound=[];function exec(i,event){var f=$.jstree._focused(),tmp;if(f&&f.data&&f.data.hotkeys&&f.data.hotkeys.enabled){tmp=f._get_settings().hotkeys[i];if(tmp){return tmp.call(f,event)}}}$.jstree.plugin("hotkeys",{__init:function(){if(typeof $.hotkeys==="undefined"){throw"jsTree hotkeys: jQuery hotkeys plugin not included."}if(!this.data.ui){throw"jsTree hotkeys: jsTree UI plugin not included."}$.each(this._get_settings().hotkeys,function(i,v){if(v!==false&&$.inArray(i,bound)==-1){$(document).bind("keydown",i,function(event){return exec(i,event)});bound.push(i)}});this.get_container().bind("lock.jstree",$.proxy(function(){if(this.data.hotkeys.enabled){this.data.hotkeys.enabled=false;this.data.hotkeys.revert=true}},this)).bind("unlock.jstree",$.proxy(function(){if(this.data.hotkeys.revert){this.data.hotkeys.enabled=true}},this));this.enable_hotkeys()},defaults:{up:function(){var o=this.data.ui.hovered||this.data.ui.last_selected||-1;this.hover_node(this._get_prev(o));return false},"ctrl+up":function(){var o=this.data.ui.hovered||this.data.ui.last_selected||-1;this.hover_node(this._get_prev(o));return false},"shift+up":function(){var o=this.data.ui.hovered||this.data.ui.last_selected||-1;this.hover_node(this._get_prev(o));return false},down:function(){var o=this.data.ui.hovered||this.data.ui.last_selected||-1;this.hover_node(this._get_next(o));return false},"ctrl+down":function(){var o=this.data.ui.hovered||this.data.ui.last_selected||-1;this.hover_node(this._get_next(o));return false},"shift+down":function(){var o=this.data.ui.hovered||this.data.ui.last_selected||-1;this.hover_node(this._get_next(o));return false},left:function(){var o=this.data.ui.hovered||this.data.ui.last_selected;if(o){if(o.hasClass("jstree-open")){this.close_node(o)}else{this.hover_node(this._get_prev(o))}}return false},"ctrl+left":function(){var o=this.data.ui.hovered||this.data.ui.last_selected;if(o){if(o.hasClass("jstree-open")){this.close_node(o)}else{this.hover_node(this._get_prev(o))}}return false},"shift+left":function(){var o=this.data.ui.hovered||this.data.ui.last_selected;if(o){if(o.hasClass("jstree-open")){this.close_node(o)}else{this.hover_node(this._get_prev(o))}}return false},right:function(){var o=this.data.ui.hovered||this.data.ui.last_selected;if(o&&o.length){if(o.hasClass("jstree-closed")){this.open_node(o)}else{this.hover_node(this._get_next(o))}}return false},"ctrl+right":function(){var o=this.data.ui.hovered||this.data.ui.last_selected;if(o&&o.length){if(o.hasClass("jstree-closed")){this.open_node(o)}else{this.hover_node(this._get_next(o))}}return false},"shift+right":function(){var o=this.data.ui.hovered||this.data.ui.last_selected;if(o&&o.length){if(o.hasClass("jstree-closed")){this.open_node(o)}else{this.hover_node(this._get_next(o))}}return false},space:function(){if(this.data.ui.hovered){this.data.ui.hovered.children("a:eq(0)").click()}return false},"ctrl+space":function(event){event.type="click";if(this.data.ui.hovered){this.data.ui.hovered.children("a:eq(0)").trigger(event)}return false},"shift+space":function(event){event.type="click";if(this.data.ui.hovered){this.data.ui.hovered.children("a:eq(0)").trigger(event)}return false},f2:function(){this.rename(this.data.ui.hovered||this.data.ui.last_selected)},del:function(){this.remove(this.data.ui.hovered||this._get_node(null))}},_fn:{enable_hotkeys:function(){this.data.hotkeys.enabled=true},disable_hotkeys:function(){this.data.hotkeys.enabled=false}}})})(jQuery);(function($){$.jstree.plugin("json_data",{__init:function(){var s=this._get_settings().json_data;if(s.progressive_unload){this.get_container().bind("after_close.jstree",function(e,data){data.rslt.obj.children("ul").remove()})}},defaults:{data:false,ajax:false,correct_state:true,progressive_render:false,progressive_unload:false},_fn:{load_node:function(obj,s_call,e_call){var _this=this;this.load_node_json(obj,function(){_this.__callback({obj:_this._get_node(obj)});s_call.call(this)},e_call)},_is_loaded:function(obj){var s=this._get_settings().json_data;obj=this._get_node(obj);return obj==-1||!obj||!s.ajax&&!s.progressive_render&&!$.isFunction(s.data)||obj.is(".jstree-open, .jstree-leaf")||obj.children("ul").children("li").length>0},refresh:function(obj){obj=this._get_node(obj);var s=this._get_settings().json_data;if(obj&&obj!==-1&&s.progressive_unload&&($.isFunction(s.data)||!!s.ajax)){obj.removeData("jstree_children")}return this.__call_old()},load_node_json:function(obj,s_call,e_call){var s=this.get_settings().json_data,d,error_func=function(){},success_func=function(){};obj=this._get_node(obj);if(obj&&obj!==-1&&(s.progressive_render||s.progressive_unload)&&!obj.is(".jstree-open, .jstree-leaf")&&obj.children("ul").children("li").length===0&&obj.data("jstree_children")){d=this._parse_json(obj.data("jstree_children"),obj);if(d){obj.append(d);if(!s.progressive_unload){obj.removeData("jstree_children")}}this.clean_node(obj);if(s_call){s_call.call(this)}return}if(obj&&obj!==-1){if(obj.data("jstree_is_loading")){return}else{obj.data("jstree_is_loading",true)}}switch(!0){case!s.data&&!s.ajax:throw"Neither data nor ajax settings supplied.";case $.isFunction(s.data):s.data.call(this,obj,$.proxy(function(d){d=this._parse_json(d,obj);if(!d){if(obj===-1||!obj){if(s.correct_state){this.get_container().children("ul").empty()}}else{obj.children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree_is_loading");if(s.correct_state){this.correct_state(obj)}}if(e_call){e_call.call(this)}}else{if(obj===-1||!obj){this.get_container().children("ul").empty().append(d.children())}else{obj.append(d).children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree_is_loading")}this.clean_node(obj);if(s_call){s_call.call(this)}}},this));break;case!!s.data&&!s.ajax||!!s.data&&!!s.ajax&&(!obj||obj===-1):if(!obj||obj==-1){d=this._parse_json(s.data,obj);if(d){this.get_container().children("ul").empty().append(d.children());this.clean_node()}else{if(s.correct_state){this.get_container().children("ul").empty()}}}if(s_call){s_call.call(this)}break;case!s.data&&!!s.ajax||!!s.data&&!!s.ajax&&obj&&obj!==-1:error_func=function(x,t,e){var ef=this.get_settings().json_data.ajax.error;if(ef){ef.call(this,x,t,e)}if(obj!=-1&&obj.length){obj.children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree_is_loading");if(t==="success"&&s.correct_state){this.correct_state(obj)}}else{if(t==="success"&&s.correct_state){this.get_container().children("ul").empty()}}if(e_call){e_call.call(this)}};success_func=function(d,t,x){var sf=this.get_settings().json_data.ajax.success;if(sf){d=sf.call(this,d,t,x)||d}if(d===""||d&&d.toString&&d.toString().replace(/^[\s\n]+$/,"")===""||!$.isArray(d)&&!$.isPlainObject(d)){return error_func.call(this,x,t,"")}d=this._parse_json(d,obj);if(d){if(obj===-1||!obj){this.get_container().children("ul").empty().append(d.children())}else{obj.append(d).children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree_is_loading")}this.clean_node(obj);if(s_call){s_call.call(this)}}else{if(obj===-1||!obj){if(s.correct_state){this.get_container().children("ul").empty();if(s_call){s_call.call(this)}}}else{obj.children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree_is_loading");if(s.correct_state){this.correct_state(obj);if(s_call){s_call.call(this)}}}}};s.ajax.context=this;s.ajax.error=error_func;s.ajax.success=success_func;if(!s.ajax.dataType){s.ajax.dataType="json"}if($.isFunction(s.ajax.url)){s.ajax.url=s.ajax.url.call(this,obj)}if($.isFunction(s.ajax.data)){s.ajax.data=s.ajax.data.call(this,obj)}$.ajax(s.ajax);break}},_parse_json:function(js,obj,is_callback){var d=false,p=this._get_settings(),s=p.json_data,t=p.core.html_titles,tmp,i,j,ul1,ul2;if(!js){return d}if(s.progressive_unload&&obj&&obj!==-1){obj.data("jstree_children",d)}if($.isArray(js)){d=$();if(!js.length){return false}for(i=0,j=js.length;i<j;i++){tmp=this._parse_json(js[i],obj,true);if(tmp.length){d=d.add(tmp)}}}else{if(typeof js=="string"){js={data:js}}if(!js.data&&js.data!==""){return d}d=$("<li />");if(js.attr){d.attr(js.attr)}if(js.metadata){d.data(js.metadata)}if(js.state){d.addClass("jstree-"+js.state)}if(!$.isArray(js.data)){tmp=js.data;js.data=[];js.data.push(tmp)}$.each(js.data,function(i,m){tmp=$("<a />");if($.isFunction(m)){m=m.call(this,js)}if(typeof m=="string"){tmp.attr("href","#")[t?"html":"text"](m)}else{if(!m.attr){m.attr={}}if(!m.attr.href){m.attr.href="#"}tmp.attr(m.attr)[t?"html":"text"](m.title);if(m.language){tmp.addClass(m.language)}}tmp.prepend("<ins class='jstree-icon'>&#160;</ins>");if(!m.icon&&js.icon){m.icon=js.icon}if(m.icon){if(m.icon.indexOf("/")===-1){tmp.children("ins").addClass(m.icon)}else{tmp.children("ins").css("background","url('"+m.icon+"') center center no-repeat")}}d.append(tmp)});d.prepend("<ins class='jstree-icon'>&#160;</ins>");if(js.children){if(s.progressive_render&&js.state!=="open"){d.addClass("jstree-closed").data("jstree_children",js.children)}else{if(s.progressive_unload){d.data("jstree_children",js.children)}if($.isArray(js.children)&&js.children.length){tmp=this._parse_json(js.children,obj,true);if(tmp.length){ul2=$("<ul />");ul2.append(tmp);d.append(ul2)}}}}}if(!is_callback){ul1=$("<ul />");ul1.append(d);d=ul1}return d},get_json:function(obj,li_attr,a_attr,is_callback){var result=[],s=this._get_settings(),_this=this,tmp1,tmp2,li,a,t,lang;obj=this._get_node(obj);if(!obj||obj===-1){obj=this.get_container().find("> ul > li")}li_attr=$.isArray(li_attr)?li_attr:["id","class"];if(!is_callback&&this.data.types){li_attr.push(s.types.type_attr)}a_attr=$.isArray(a_attr)?a_attr:[];obj.each(function(){li=$(this);tmp1={data:[]};if(li_attr.length){tmp1.attr={}}$.each(li_attr,function(i,v){tmp2=li.attr(v);if(tmp2&&tmp2.length&&tmp2.replace(/jstree[^ ]*/gi,"").length){tmp1.attr[v]=(" "+tmp2).replace(/ jstree[^ ]*/gi,"").replace(/\s+$/gi," ").replace(/^ /,"").replace(/ $/,"")}});if(li.hasClass("jstree-open")){tmp1.state="open"}if(li.hasClass("jstree-closed")){tmp1.state="closed"}if(li.data()){tmp1.metadata=li.data()}a=li.children("a");a.each(function(){t=$(this);if(a_attr.length||$.inArray("languages",s.plugins)!==-1||t.children("ins").get(0).style.backgroundImage.length||t.children("ins").get(0).className&&t.children("ins").get(0).className.replace(/jstree[^ ]*|$/gi,"").length){lang=false;if($.inArray("languages",s.plugins)!==-1&&$.isArray(s.languages)&&s.languages.length){$.each(s.languages,function(l,lv){if(t.hasClass(lv)){lang=lv;return false}})}tmp2={attr:{},title:_this.get_text(t,lang)};$.each(a_attr,function(k,z){tmp2.attr[z]=(" "+(t.attr(z)||"")).replace(/ jstree[^ ]*/gi,"").replace(/\s+$/gi," ").replace(/^ /,"").replace(/ $/,"")});if($.inArray("languages",s.plugins)!==-1&&$.isArray(s.languages)&&s.languages.length){$.each(s.languages,function(k,z){if(t.hasClass(z)){tmp2.language=z;return true}})}if(t.children("ins").get(0).className.replace(/jstree[^ ]*|$/gi,"").replace(/^\s+$/gi,"").length){tmp2.icon=t.children("ins").get(0).className.replace(/jstree[^ ]*|$/gi,"").replace(/\s+$/gi," ").replace(/^ /,"").replace(/ $/,"")}if(t.children("ins").get(0).style.backgroundImage.length){tmp2.icon=t.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")","")}}else{tmp2=_this.get_text(t)}if(a.length>1){tmp1.data.push(tmp2)}else{tmp1.data=tmp2}});li=li.find("> ul > li");if(li.length){tmp1.children=_this.get_json(li,li_attr,a_attr,true)}result.push(tmp1)});return result}}})})(jQuery);(function($){var sh=false;$.jstree.plugin("languages",{__init:function(){this._load_css()},defaults:[],_fn:{set_lang:function(i){var langs=this._get_settings().languages,st=false,selector=".jstree-"+this.get_index()+" a";if(!$.isArray(langs)||langs.length===0){return false}if($.inArray(i,langs)==-1){if(!!langs[i]){i=langs[i]}else{return false}}if(i==this.data.languages.current_language){return true}st=$.vakata.css.get_css(selector+"."+this.data.languages.current_language,false,sh);if(st!==false){st.style.display="none"}st=$.vakata.css.get_css(selector+"."+i,false,sh);if(st!==false){st.style.display=""}this.data.languages.current_language=i;this.__callback(i);return true},get_lang:function(){return this.data.languages.current_language},_get_string:function(key,lang){var langs=this._get_settings().languages,s=this._get_settings().core.strings;if($.isArray(langs)&&langs.length){lang=lang&&$.inArray(lang,langs)!=-1?lang:this.data.languages.current_language}if(s[lang]&&s[lang][key]){return s[lang][key]}if(s[key]){return s[key]}return key},get_text:function(obj,lang){obj=this._get_node(obj)||this.data.ui.last_selected;if(!obj.size()){return false}var langs=this._get_settings().languages,s=this._get_settings().core.html_titles;if($.isArray(langs)&&langs.length){lang=lang&&$.inArray(lang,langs)!=-1?lang:this.data.languages.current_language;obj=obj.children("a."+lang)}else{obj=obj.children("a:eq(0)")}if(s){obj=obj.clone();obj.children("INS").remove();return obj.html()}else{obj=obj.contents().filter(function(){return this.nodeType==3})[0];return obj.nodeValue}},set_text:function(obj,val,lang){obj=this._get_node(obj)||this.data.ui.last_selected;if(!obj.size()){return false}var langs=this._get_settings().languages,s=this._get_settings().core.html_titles,tmp;if($.isArray(langs)&&langs.length){lang=lang&&$.inArray(lang,langs)!=-1?lang:this.data.languages.current_language;obj=obj.children("a."+lang)}else{obj=obj.children("a:eq(0)")}if(s){tmp=obj.children("INS").clone();obj.html(val).prepend(tmp);this.__callback({obj:obj,name:val,lang:lang});return true}else{obj=obj.contents().filter(function(){return this.nodeType==3})[0];this.__callback({obj:obj,name:val,lang:lang});return obj.nodeValue=val}},_load_css:function(){var langs=this._get_settings().languages,str="/* languages css */",selector=".jstree-"+this.get_index()+" a",ln;if($.isArray(langs)&&langs.length){this.data.languages.current_language=langs[0];for(ln=0;ln<langs.length;ln++){str+=selector+"."+langs[ln]+" {";if(langs[ln]!=this.data.languages.current_language){str+=" display:none; "}str+=" } "}sh=$.vakata.css.add_sheet({str:str,title:"jstree-languages"})}},create_node:function(obj,position,js,callback){var t=this.__call_old(true,obj,position,js,function(t){var langs=this._get_settings().languages,a=t.children("a"),ln;if($.isArray(langs)&&langs.length){for(ln=0;ln<langs.length;ln++){if(!a.is("."+langs[ln])){t.append(a.eq(0).clone().removeClass(langs.join(" ")).addClass(langs[ln]))}}a.not("."+langs.join(", .")).remove()}if(callback){callback.call(this,t)}});return t}}})})(jQuery);(function($){$.jstree.plugin("cookies",{__init:function(){if(typeof $.cookie==="undefined"){throw"jsTree cookie: jQuery cookie plugin not included."}var s=this._get_settings().cookies,tmp;if(!!s.save_loaded){tmp=$.cookie(s.save_loaded);if(tmp&&tmp.length){this.data.core.to_load=tmp.split(",")}}if(!!s.save_opened){tmp=$.cookie(s.save_opened);if(tmp&&tmp.length){this.data.core.to_open=tmp.split(",")}}if(!!s.save_selected){tmp=$.cookie(s.save_selected);if(tmp&&tmp.length&&this.data.ui){this.data.ui.to_select=tmp.split(",")}}this.get_container().one((this.data.ui?"reselect":"reopen")+".jstree",$.proxy(function(){this.get_container().bind("open_node.jstree close_node.jstree select_node.jstree deselect_node.jstree",$.proxy(function(e){if(this._get_settings().cookies.auto_save){this.save_cookie((e.handleObj.namespace+e.handleObj.type).replace("jstree",""))}},this))},this))},defaults:{save_loaded:"jstree_load",save_opened:"jstree_open",save_selected:"jstree_select",auto_save:true,cookie_options:{}},_fn:{save_cookie:function(c){if(this.data.core.refreshing){return}var s=this._get_settings().cookies;if(!c){if(s.save_loaded){this.save_loaded();$.cookie(s.save_loaded,this.data.core.to_load.join(","),s.cookie_options)}if(s.save_opened){this.save_opened();$.cookie(s.save_opened,this.data.core.to_open.join(","),s.cookie_options)}if(s.save_selected&&this.data.ui){this.save_selected();$.cookie(s.save_selected,this.data.ui.to_select.join(","),s.cookie_options)}return}switch(c){case"open_node":case"close_node":if(!!s.save_opened){this.save_opened();$.cookie(s.save_opened,this.data.core.to_open.join(","),s.cookie_options)}if(!!s.save_loaded){this.save_loaded();$.cookie(s.save_loaded,this.data.core.to_load.join(","),s.cookie_options)}break;case"select_node":case"deselect_node":if(!!s.save_selected&&this.data.ui){this.save_selected();$.cookie(s.save_selected,this.data.ui.to_select.join(","),s.cookie_options)}break}}}})})(jQuery);(function($){$.jstree.plugin("sort",{__init:function(){this.get_container().bind("load_node.jstree",$.proxy(function(e,data){var obj=this._get_node(data.rslt.obj);obj=obj===-1?this.get_container().children("ul"):obj.children("ul");this.sort(obj)},this)).bind("rename_node.jstree create_node.jstree create.jstree",$.proxy(function(e,data){this.sort(data.rslt.obj.parent())},this)).bind("move_node.jstree",$.proxy(function(e,data){var m=data.rslt.np==-1?this.get_container():data.rslt.np;this.sort(m.children("ul"))},this))},defaults:function(a,b){return this.get_text(a)>this.get_text(b)?1:-1},_fn:{sort:function(obj){var s=this._get_settings().sort,t=this;obj.append($.makeArray(obj.children("li")).sort($.proxy(s,t)));obj.find("> li > ul").each(function(){t.sort($(this))});this.clean_node(obj)}}})})(jQuery);(function($){var o=false,r=false,m=false,ml=false,sli=false,sti=false,dir1=false,dir2=false,last_pos=false;$.vakata.dnd={is_down:false,is_drag:false,helper:false,scroll_spd:10,init_x:0,init_y:0,threshold:5,helper_left:5,helper_top:10,user_data:{},drag_start:function(e,data,html){if($.vakata.dnd.is_drag){$.vakata.drag_stop({})}try{e.currentTarget.unselectable="on";e.currentTarget.onselectstart=function(){return false};if(e.currentTarget.style){e.currentTarget.style.MozUserSelect="none"}}catch(err){}$.vakata.dnd.init_x=e.pageX;$.vakata.dnd.init_y=e.pageY;$.vakata.dnd.user_data=data;$.vakata.dnd.is_down=true;$.vakata.dnd.helper=$("<div id='vakata-dragged' />").html(html);$(document).bind("mousemove",$.vakata.dnd.drag);$(document).bind("mouseup",$.vakata.dnd.drag_stop);return false},drag:function(e){if(!$.vakata.dnd.is_down){return}if(!$.vakata.dnd.is_drag){if(Math.abs(e.pageX-$.vakata.dnd.init_x)>5||Math.abs(e.pageY-$.vakata.dnd.init_y)>5){$.vakata.dnd.helper.appendTo("body");$.vakata.dnd.is_drag=true;$(document).triggerHandler("drag_start.vakata",{event:e,data:$.vakata.dnd.user_data})}else{return}}if(e.type==="mousemove"){var d=$(document),t=d.scrollTop(),l=d.scrollLeft();if(e.pageY-t<20){if(sti&&dir1==="down"){clearInterval(sti);sti=false}if(!sti){dir1="up";sti=setInterval(function(){$(document).scrollTop($(document).scrollTop()-$.vakata.dnd.scroll_spd)},150)}}else{if(sti&&dir1==="up"){clearInterval(sti);sti=false}}if($(window).height()-(e.pageY-t)<20){if(sti&&dir1==="up"){clearInterval(sti);sti=false}if(!sti){dir1="down";sti=setInterval(function(){$(document).scrollTop($(document).scrollTop()+$.vakata.dnd.scroll_spd)},150)}}else{if(sti&&dir1==="down"){clearInterval(sti);sti=false}}if(e.pageX-l<20){if(sli&&dir2==="right"){clearInterval(sli);sli=false}if(!sli){dir2="left";sli=setInterval(function(){$(document).scrollLeft($(document).scrollLeft()-$.vakata.dnd.scroll_spd)},150)}}else{if(sli&&dir2==="left"){clearInterval(sli);sli=false}}if($(window).width()-(e.pageX-l)<20){if(sli&&dir2==="left"){clearInterval(sli);sli=false}if(!sli){dir2="right";sli=setInterval(function(){$(document).scrollLeft($(document).scrollLeft()+$.vakata.dnd.scroll_spd)},150)}}else{if(sli&&dir2==="right"){clearInterval(sli);sli=false}}}$.vakata.dnd.helper.css({left:e.pageX+$.vakata.dnd.helper_left+"px",top:e.pageY+$.vakata.dnd.helper_top+"px"});$(document).triggerHandler("drag.vakata",{event:e,data:$.vakata.dnd.user_data})},drag_stop:function(e){if(sli){clearInterval(sli)}if(sti){clearInterval(sti)}$(document).unbind("mousemove",$.vakata.dnd.drag);$(document).unbind("mouseup",$.vakata.dnd.drag_stop);$(document).triggerHandler("drag_stop.vakata",{event:e,data:$.vakata.dnd.user_data});$.vakata.dnd.helper.remove();$.vakata.dnd.init_x=0;$.vakata.dnd.init_y=0;$.vakata.dnd.user_data={};$.vakata.dnd.is_down=false;$.vakata.dnd.is_drag=false}};$(function(){var css_string="#vakata-dragged { display:block; margin:0 0 0 0; padding:4px 4px 4px 24px; position:absolute; top:-2000px; line-height:16px; z-index:10000; } ";$.vakata.css.add_sheet({str:css_string,title:"vakata"})});$.jstree.plugin("dnd",{__init:function(){this.data.dnd={active:false,after:false,inside:false,before:false,off:false,prepared:false,w:0,to1:false,to2:false,cof:false,cw:false,ch:false,i1:false,i2:false,mto:false};this.get_container().bind("mouseenter.jstree",$.proxy(function(e){if($.vakata.dnd.is_drag&&$.vakata.dnd.user_data.jstree){if(this.data.themes){m.attr("class","jstree-"+this.data.themes.theme);if(ml){ml.attr("class","jstree-"+this.data.themes.theme)}$.vakata.dnd.helper.attr("class","jstree-dnd-helper jstree-"+this.data.themes.theme)}if(e.currentTarget===e.target&&$.vakata.dnd.user_data.obj&&$($.vakata.dnd.user_data.obj).length&&$($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0]!==e.target){var tr=$.jstree._reference(e.target),dc;if(tr.data.dnd.foreign){dc=tr._get_settings().dnd.drag_check.call(this,{o:o,r:tr.get_container(),is_root:true});if(dc===true||dc.inside===true||dc.before===true||dc.after===true){$.vakata.dnd.helper.children("ins").attr("class","jstree-ok")}}else{tr.prepare_move(o,tr.get_container(),"last");if(tr.check_move()){$.vakata.dnd.helper.children("ins").attr("class","jstree-ok")}}}}},this)).bind("mouseup.jstree",$.proxy(function(e){if($.vakata.dnd.is_drag&&$.vakata.dnd.user_data.jstree&&e.currentTarget===e.target&&$.vakata.dnd.user_data.obj&&$($.vakata.dnd.user_data.obj).length&&$($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0]!==e.target){var tr=$.jstree._reference(e.currentTarget),dc;if(tr.data.dnd.foreign){dc=tr._get_settings().dnd.drag_check.call(this,{o:o,r:tr.get_container(),is_root:true});if(dc===true||dc.inside===true||dc.before===true||dc.after===true){tr._get_settings().dnd.drag_finish.call(this,{o:o,r:tr.get_container(),is_root:true})}}else{tr.move_node(o,tr.get_container(),"last",e[tr._get_settings().dnd.copy_modifier+"Key"])}}},this)).bind("mouseleave.jstree",$.proxy(function(e){if(e.relatedTarget&&e.relatedTarget.id&&e.relatedTarget.id==="jstree-marker-line"){return false
}if($.vakata.dnd.is_drag&&$.vakata.dnd.user_data.jstree){if(this.data.dnd.i1){clearInterval(this.data.dnd.i1)}if(this.data.dnd.i2){clearInterval(this.data.dnd.i2)}if(this.data.dnd.to1){clearTimeout(this.data.dnd.to1)}if(this.data.dnd.to2){clearTimeout(this.data.dnd.to2)}if($.vakata.dnd.helper.children("ins").hasClass("jstree-ok")){$.vakata.dnd.helper.children("ins").attr("class","jstree-invalid")}}},this)).bind("mousemove.jstree",$.proxy(function(e){if($.vakata.dnd.is_drag&&$.vakata.dnd.user_data.jstree){var cnt=this.get_container()[0];if(e.pageX+24>this.data.dnd.cof.left+this.data.dnd.cw){if(this.data.dnd.i1){clearInterval(this.data.dnd.i1)}this.data.dnd.i1=setInterval($.proxy(function(){this.scrollLeft+=$.vakata.dnd.scroll_spd},cnt),100)}else if(e.pageX-24<this.data.dnd.cof.left){if(this.data.dnd.i1){clearInterval(this.data.dnd.i1)}this.data.dnd.i1=setInterval($.proxy(function(){this.scrollLeft-=$.vakata.dnd.scroll_spd},cnt),100)}else{if(this.data.dnd.i1){clearInterval(this.data.dnd.i1)}}if(e.pageY+24>this.data.dnd.cof.top+this.data.dnd.ch){if(this.data.dnd.i2){clearInterval(this.data.dnd.i2)}this.data.dnd.i2=setInterval($.proxy(function(){this.scrollTop+=$.vakata.dnd.scroll_spd},cnt),100)}else if(e.pageY-24<this.data.dnd.cof.top){if(this.data.dnd.i2){clearInterval(this.data.dnd.i2)}this.data.dnd.i2=setInterval($.proxy(function(){this.scrollTop-=$.vakata.dnd.scroll_spd},cnt),100)}else{if(this.data.dnd.i2){clearInterval(this.data.dnd.i2)}}}},this)).bind("scroll.jstree",$.proxy(function(e){if($.vakata.dnd.is_drag&&$.vakata.dnd.user_data.jstree&&m&&ml){m.hide();ml.hide()}},this)).delegate("a","mousedown.jstree",$.proxy(function(e){if(e.which===1){this.start_drag(e.currentTarget,e);return false}},this)).delegate("a","mouseenter.jstree",$.proxy(function(e){if($.vakata.dnd.is_drag&&$.vakata.dnd.user_data.jstree){this.dnd_enter(e.currentTarget)}},this)).delegate("a","mousemove.jstree",$.proxy(function(e){if($.vakata.dnd.is_drag&&$.vakata.dnd.user_data.jstree){if(!r||!r.length||r.children("a")[0]!==e.currentTarget){this.dnd_enter(e.currentTarget)}if(typeof this.data.dnd.off.top==="undefined"){this.data.dnd.off=$(e.target).offset()}this.data.dnd.w=(e.pageY-(this.data.dnd.off.top||0))%this.data.core.li_height;if(this.data.dnd.w<0){this.data.dnd.w+=this.data.core.li_height}this.dnd_show()}},this)).delegate("a","mouseleave.jstree",$.proxy(function(e){if($.vakata.dnd.is_drag&&$.vakata.dnd.user_data.jstree){if(e.relatedTarget&&e.relatedTarget.id&&e.relatedTarget.id==="jstree-marker-line"){return false}if(m){m.hide()}if(ml){ml.hide()}this.data.dnd.mto=setTimeout(function(t){return function(){t.dnd_leave(e)}}(this),0)}},this)).delegate("a","mouseup.jstree",$.proxy(function(e){if($.vakata.dnd.is_drag&&$.vakata.dnd.user_data.jstree){this.dnd_finish(e)}},this));$(document).bind("drag_stop.vakata",$.proxy(function(){if(this.data.dnd.to1){clearTimeout(this.data.dnd.to1)}if(this.data.dnd.to2){clearTimeout(this.data.dnd.to2)}if(this.data.dnd.i1){clearInterval(this.data.dnd.i1)}if(this.data.dnd.i2){clearInterval(this.data.dnd.i2)}this.data.dnd.after=false;this.data.dnd.before=false;this.data.dnd.inside=false;this.data.dnd.off=false;this.data.dnd.prepared=false;this.data.dnd.w=false;this.data.dnd.to1=false;this.data.dnd.to2=false;this.data.dnd.i1=false;this.data.dnd.i2=false;this.data.dnd.active=false;this.data.dnd.foreign=false;if(m){m.css({top:"-2000px"})}if(ml){ml.css({top:"-2000px"})}},this)).bind("drag_start.vakata",$.proxy(function(e,data){if(data.data.jstree){var et=$(data.event.target);if(et.closest(".jstree").hasClass("jstree-"+this.get_index())){this.dnd_enter(et)}}},this));var s=this._get_settings().dnd;if(s.drag_target){$(document).delegate(s.drag_target,"mousedown.jstree-"+this.get_index(),$.proxy(function(e){o=e.target;$.vakata.dnd.drag_start(e,{jstree:true,obj:e.target},"<ins class='jstree-icon'></ins>"+$(e.target).text());if(this.data.themes){if(m){m.attr("class","jstree-"+this.data.themes.theme)}if(ml){ml.attr("class","jstree-"+this.data.themes.theme)}$.vakata.dnd.helper.attr("class","jstree-dnd-helper jstree-"+this.data.themes.theme)}$.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");var cnt=this.get_container();this.data.dnd.cof=cnt.offset();this.data.dnd.cw=parseInt(cnt.width(),10);this.data.dnd.ch=parseInt(cnt.height(),10);this.data.dnd.foreign=true;e.preventDefault()},this))}if(s.drop_target){$(document).delegate(s.drop_target,"mouseenter.jstree-"+this.get_index(),$.proxy(function(e){if(this.data.dnd.active&&this._get_settings().dnd.drop_check.call(this,{o:o,r:$(e.target),e:e})){$.vakata.dnd.helper.children("ins").attr("class","jstree-ok")}},this)).delegate(s.drop_target,"mouseleave.jstree-"+this.get_index(),$.proxy(function(e){if(this.data.dnd.active){$.vakata.dnd.helper.children("ins").attr("class","jstree-invalid")}},this)).delegate(s.drop_target,"mouseup.jstree-"+this.get_index(),$.proxy(function(e){if(this.data.dnd.active&&$.vakata.dnd.helper.children("ins").hasClass("jstree-ok")){this._get_settings().dnd.drop_finish.call(this,{o:o,r:$(e.target),e:e})}},this))}},defaults:{copy_modifier:"ctrl",check_timeout:100,open_timeout:500,drop_target:".jstree-drop",drop_check:function(data){return true},drop_finish:$.noop,drag_target:".jstree-draggable",drag_finish:$.noop,drag_check:function(data){return{after:false,before:false,inside:true}}},_fn:{dnd_prepare:function(){if(!r||!r.length){return}this.data.dnd.off=r.offset();if(this._get_settings().core.rtl){this.data.dnd.off.right=this.data.dnd.off.left+r.width()}if(this.data.dnd.foreign){var a=this._get_settings().dnd.drag_check.call(this,{o:o,r:r});this.data.dnd.after=a.after;this.data.dnd.before=a.before;this.data.dnd.inside=a.inside;this.data.dnd.prepared=true;return this.dnd_show()}this.prepare_move(o,r,"before");this.data.dnd.before=this.check_move();this.prepare_move(o,r,"after");this.data.dnd.after=this.check_move();if(this._is_loaded(r)){this.prepare_move(o,r,"inside");this.data.dnd.inside=this.check_move()}else{this.data.dnd.inside=false}this.data.dnd.prepared=true;return this.dnd_show()},dnd_show:function(){if(!this.data.dnd.prepared){return}var o=["before","inside","after"],r=false,rtl=this._get_settings().core.rtl,pos;if(this.data.dnd.w<this.data.core.li_height/3){o=["before","inside","after"]}else if(this.data.dnd.w<=this.data.core.li_height*2/3){o=this.data.dnd.w<this.data.core.li_height/2?["inside","before","after"]:["inside","after","before"]}else{o=["after","inside","before"]}$.each(o,$.proxy(function(i,val){if(this.data.dnd[val]){$.vakata.dnd.helper.children("ins").attr("class","jstree-ok");r=val;return false}},this));if(r===false){$.vakata.dnd.helper.children("ins").attr("class","jstree-invalid")}pos=rtl?this.data.dnd.off.right-18:this.data.dnd.off.left+10;switch(r){case"before":m.css({left:pos+"px",top:this.data.dnd.off.top-6+"px"}).show();if(ml){ml.css({left:pos+8+"px",top:this.data.dnd.off.top-1+"px"}).show()}break;case"after":m.css({left:pos+"px",top:this.data.dnd.off.top+this.data.core.li_height-6+"px"}).show();if(ml){ml.css({left:pos+8+"px",top:this.data.dnd.off.top+this.data.core.li_height-1+"px"}).show()}break;case"inside":m.css({left:pos+(rtl?-4:4)+"px",top:this.data.dnd.off.top+this.data.core.li_height/2-5+"px"}).show();if(ml){ml.hide()}break;default:m.hide();if(ml){ml.hide()}break}last_pos=r;return r},dnd_open:function(){this.data.dnd.to2=false;this.open_node(r,$.proxy(this.dnd_prepare,this),true)},dnd_finish:function(e){if(this.data.dnd.foreign){if(this.data.dnd.after||this.data.dnd.before||this.data.dnd.inside){this._get_settings().dnd.drag_finish.call(this,{o:o,r:r,p:last_pos})}}else{this.dnd_prepare();this.move_node(o,r,last_pos,e[this._get_settings().dnd.copy_modifier+"Key"])}o=false;r=false;m.hide();if(ml){ml.hide()}},dnd_enter:function(obj){if(this.data.dnd.mto){clearTimeout(this.data.dnd.mto);this.data.dnd.mto=false}var s=this._get_settings().dnd;this.data.dnd.prepared=false;r=this._get_node(obj);if(s.check_timeout){if(this.data.dnd.to1){clearTimeout(this.data.dnd.to1)}this.data.dnd.to1=setTimeout($.proxy(this.dnd_prepare,this),s.check_timeout)}else{this.dnd_prepare()}if(s.open_timeout){if(this.data.dnd.to2){clearTimeout(this.data.dnd.to2)}if(r&&r.length&&r.hasClass("jstree-closed")){this.data.dnd.to2=setTimeout($.proxy(this.dnd_open,this),s.open_timeout)}}else{if(r&&r.length&&r.hasClass("jstree-closed")){this.dnd_open()}}},dnd_leave:function(e){this.data.dnd.after=false;this.data.dnd.before=false;this.data.dnd.inside=false;$.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");m.hide();if(ml){ml.hide()}if(r&&r[0]===e.target.parentNode){if(this.data.dnd.to1){clearTimeout(this.data.dnd.to1);this.data.dnd.to1=false}if(this.data.dnd.to2){clearTimeout(this.data.dnd.to2);this.data.dnd.to2=false}}},start_drag:function(obj,e){o=this._get_node(obj);if(this.data.ui&&this.is_selected(o)){o=this._get_node(null,true)}var dt=o.length>1?this._get_string("multiple_selection"):this.get_text(o),cnt=this.get_container();if(!this._get_settings().core.html_titles){dt=dt.replace(/</gi,"&lt;").replace(/>/gi,"&gt;")}$.vakata.dnd.drag_start(e,{jstree:true,obj:o},"<ins class='jstree-icon'></ins>"+dt);if(this.data.themes){if(m){m.attr("class","jstree-"+this.data.themes.theme)}if(ml){ml.attr("class","jstree-"+this.data.themes.theme)}$.vakata.dnd.helper.attr("class","jstree-dnd-helper jstree-"+this.data.themes.theme)}this.data.dnd.cof=cnt.offset();this.data.dnd.cw=parseInt(cnt.width(),10);this.data.dnd.ch=parseInt(cnt.height(),10);this.data.dnd.active=true}}});$(function(){var css_string=""+"#vakata-dragged ins { display:block; text-decoration:none; width:16px; height:16px; margin:0 0 0 0; padding:0; position:absolute; top:4px; left:4px; "+" -moz-border-radius:4px; border-radius:4px; -webkit-border-radius:4px; "+"} "+"#vakata-dragged .jstree-ok { background:green; } "+"#vakata-dragged .jstree-invalid { background:red; } "+"#jstree-marker { padding:0; margin:0; font-size:12px; overflow:hidden; height:12px; width:8px; position:absolute; top:-30px; z-index:10001; background-repeat:no-repeat; display:none; background-color:transparent; text-shadow:1px 1px 1px white; color:black; line-height:10px; } "+"#jstree-marker-line { padding:0; margin:0; line-height:0%; font-size:1px; overflow:hidden; height:1px; width:100px; position:absolute; top:-30px; z-index:10000; background-repeat:no-repeat; display:none; background-color:#456c43; "+" cursor:pointer; border:1px solid #eeeeee; border-left:0; -moz-box-shadow: 0px 0px 2px #666; -webkit-box-shadow: 0px 0px 2px #666; box-shadow: 0px 0px 2px #666; "+" -moz-border-radius:1px; border-radius:1px; -webkit-border-radius:1px; "+"}"+"";$.vakata.css.add_sheet({str:css_string,title:"jstree"});m=$("<div />").attr({id:"jstree-marker"}).hide().html("&raquo;").bind("mouseleave mouseenter",function(e){m.hide();ml.hide();e.preventDefault();e.stopImmediatePropagation();return false}).appendTo("body");ml=$("<div />").attr({id:"jstree-marker-line"}).hide().bind("mouseup",function(e){if(r&&r.length){r.children("a").trigger(e);e.preventDefault();e.stopImmediatePropagation();return false}}).bind("mouseleave",function(e){var rt=$(e.relatedTarget);if(rt.is(".jstree")||rt.closest(".jstree").length===0){if(r&&r.length){r.children("a").trigger(e);m.hide();ml.hide();e.preventDefault();e.stopImmediatePropagation();return false}}}).appendTo("body");$(document).bind("drag_start.vakata",function(e,data){if(data.data.jstree){m.show();if(ml){ml.show()}}});$(document).bind("drag_stop.vakata",function(e,data){if(data.data.jstree){m.hide();if(ml){ml.hide()}}})})})(jQuery);(function($){$.jstree.plugin("checkbox",{__init:function(){this.data.checkbox.noui=this._get_settings().checkbox.override_ui;if(this.data.ui&&this.data.checkbox.noui){this.select_node=this.deselect_node=this.deselect_all=$.noop;this.get_selected=this.get_checked}this.get_container().bind("open_node.jstree create_node.jstree clean_node.jstree refresh.jstree",$.proxy(function(e,data){this._prepare_checkboxes(data.rslt.obj)},this)).bind("loaded.jstree",$.proxy(function(e){this._prepare_checkboxes()},this)).delegate(this.data.ui&&this.data.checkbox.noui?"a":"ins.jstree-checkbox","click.jstree",$.proxy(function(e){e.preventDefault();if(this._get_node(e.target).hasClass("jstree-checked")){this.uncheck_node(e.target)}else{this.check_node(e.target)}if(this.data.ui&&this.data.checkbox.noui){this.save_selected();if(this.data.cookies){this.save_cookie("select_node")}}else{e.stopImmediatePropagation();return false}},this))},defaults:{override_ui:false,two_state:false,real_checkboxes:false,checked_parent_open:true,real_checkboxes_names:function(n){return["check_"+(n[0].id||Math.ceil(Math.random()*1e4)),1]}},__destroy:function(){this.get_container().find("input.jstree-real-checkbox").removeClass("jstree-real-checkbox").end().find("ins.jstree-checkbox").remove()},_fn:{_checkbox_notify:function(n,data){if(data.checked){this.check_node(n,false)}},_prepare_checkboxes:function(obj){obj=!obj||obj==-1?this.get_container().find("> ul > li"):this._get_node(obj);if(obj===false){return}var c,_this=this,t,ts=this._get_settings().checkbox.two_state,rc=this._get_settings().checkbox.real_checkboxes,rcn=this._get_settings().checkbox.real_checkboxes_names;obj.each(function(){t=$(this);c=t.is("li")&&(t.hasClass("jstree-checked")||rc&&t.children(":checked").length)?"jstree-checked":"jstree-unchecked";t.find("li").andSelf().each(function(){var $t=$(this),nm;$t.children("a"+(_this.data.languages?"":":eq(0)")).not(":has(.jstree-checkbox)").prepend("<ins class='jstree-checkbox'>&#160;</ins>").parent().not(".jstree-checked, .jstree-unchecked").addClass(ts?"jstree-unchecked":c);if(rc){if(!$t.children(":checkbox").length){nm=rcn.call(_this,$t);$t.prepend("<input type='checkbox' class='jstree-real-checkbox' id='"+nm[0]+"' name='"+nm[0]+"' value='"+nm[1]+"' />")}else{$t.children(":checkbox").addClass("jstree-real-checkbox")}}if(!ts){if(c==="jstree-checked"||$t.hasClass("jstree-checked")||$t.children(":checked").length){$t.find("li").andSelf().addClass("jstree-checked").children(":checkbox").prop("checked",true)}}else{if($t.hasClass("jstree-checked")||$t.children(":checked").length){$t.addClass("jstree-checked").children(":checkbox").prop("checked",true)}}})});if(!ts){obj.find(".jstree-checked").parent().parent().each(function(){_this._repair_state(this)})}},change_state:function(obj,state){obj=this._get_node(obj);var coll=false,rc=this._get_settings().checkbox.real_checkboxes;if(!obj||obj===-1){return false}state=state===false||state===true?state:obj.hasClass("jstree-checked");if(this._get_settings().checkbox.two_state){if(state){obj.removeClass("jstree-checked").addClass("jstree-unchecked");if(rc){obj.children(":checkbox").prop("checked",false)}}else{obj.removeClass("jstree-unchecked").addClass("jstree-checked");if(rc){obj.children(":checkbox").prop("checked",true)}}}else{if(state){coll=obj.find("li").andSelf();if(!coll.filter(".jstree-checked, .jstree-undetermined").length){return false}coll.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked");if(rc){coll.children(":checkbox").prop("checked",false)}}else{coll=obj.find("li").andSelf();if(!coll.filter(".jstree-unchecked, .jstree-undetermined").length){return false}coll.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked");if(rc){coll.children(":checkbox").prop("checked",true)}if(this.data.ui){this.data.ui.last_selected=obj}this.data.checkbox.last_selected=obj}obj.parentsUntil(".jstree","li").each(function(){var $this=$(this);if(state){if($this.children("ul").children("li.jstree-checked, li.jstree-undetermined").length){$this.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");if(rc){$this.parentsUntil(".jstree","li").andSelf().children(":checkbox").prop("checked",false)}return false}else{$this.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked");if(rc){$this.children(":checkbox").prop("checked",false)}}}else{if($this.children("ul").children("li.jstree-unchecked, li.jstree-undetermined").length){$this.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");if(rc){$this.parentsUntil(".jstree","li").andSelf().children(":checkbox").prop("checked",false)}return false}else{$this.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked");if(rc){$this.children(":checkbox").prop("checked",true)}}}})}if(this.data.ui&&this.data.checkbox.noui){this.data.ui.selected=this.get_checked()}this.__callback(obj);return true},check_node:function(obj){if(this.change_state(obj,false)){obj=this._get_node(obj);if(this._get_settings().checkbox.checked_parent_open){var t=this;obj.parents(".jstree-closed").each(function(){t.open_node(this,false,true)})}this.__callback({obj:obj})}},uncheck_node:function(obj){if(this.change_state(obj,true)){this.__callback({obj:this._get_node(obj)})}},check_all:function(){var _this=this,coll=this._get_settings().checkbox.two_state?this.get_container_ul().find("li"):this.get_container_ul().children("li");coll.each(function(){_this.change_state(this,false)});this.__callback()},uncheck_all:function(){var _this=this,coll=this._get_settings().checkbox.two_state?this.get_container_ul().find("li"):this.get_container_ul().children("li");coll.each(function(){_this.change_state(this,true)});this.__callback()},is_checked:function(obj){obj=this._get_node(obj);return obj.length?obj.is(".jstree-checked"):false},get_checked:function(obj,get_all){obj=!obj||obj===-1?this.get_container():this._get_node(obj);return get_all||this._get_settings().checkbox.two_state?obj.find(".jstree-checked"):obj.find("> ul > .jstree-checked, .jstree-undetermined > ul > .jstree-checked")},get_unchecked:function(obj,get_all){obj=!obj||obj===-1?this.get_container():this._get_node(obj);return get_all||this._get_settings().checkbox.two_state?obj.find(".jstree-unchecked"):obj.find("> ul > .jstree-unchecked, .jstree-undetermined > ul > .jstree-unchecked")},show_checkboxes:function(){this.get_container().children("ul").removeClass("jstree-no-checkboxes")},hide_checkboxes:function(){this.get_container().children("ul").addClass("jstree-no-checkboxes")},_repair_state:function(obj){obj=this._get_node(obj);if(!obj.length){return}if(this._get_settings().checkbox.two_state){obj.find("li").andSelf().not(".jstree-checked").removeClass("jstree-undetermined").addClass("jstree-unchecked").children(":checkbox").prop("checked",true);return}var rc=this._get_settings().checkbox.real_checkboxes,a=obj.find("> ul > .jstree-checked").length,b=obj.find("> ul > .jstree-undetermined").length,c=obj.find("> ul > li").length;if(c===0){if(obj.hasClass("jstree-undetermined")){this.change_state(obj,false)}}else if(a===0&&b===0){this.change_state(obj,true)}else if(a===c){this.change_state(obj,false)}else{obj.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");if(rc){obj.parentsUntil(".jstree","li").andSelf().children(":checkbox").prop("checked",false)}}},reselect:function(){if(this.data.ui&&this.data.checkbox.noui){var _this=this,s=this.data.ui.to_select;s=$.map($.makeArray(s),function(n){return"#"+n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")});this.deselect_all();$.each(s,function(i,val){_this.check_node(val)});this.__callback()}else{this.__call_old()}},save_loaded:function(){var _this=this;this.data.core.to_load=[];this.get_container_ul().find("li.jstree-closed.jstree-undetermined").each(function(){if(this.id){_this.data.core.to_load.push("#"+this.id)}})}}});$(function(){var css_string=".jstree .jstree-real-checkbox { display:none; } ";$.vakata.css.add_sheet({str:css_string,title:"jstree"})})})(jQuery);(function($){$.vakata.xslt=function(xml,xsl,callback){var r=false,p,q,s;if(r===false&&window.ActiveXObject){try{r=new ActiveXObject("Msxml2.XSLTemplate");q=new ActiveXObject("Msxml2.DOMDocument");q.loadXML(xml);s=new ActiveXObject("Msxml2.FreeThreadedDOMDocument");s.loadXML(xsl);r.stylesheet=s;p=r.createProcessor();p.input=q;p.transform();r=p.output}catch(e){}}xml=$.parseXML(xml);xsl=$.parseXML(xsl);if(r===false&&typeof XSLTProcessor!=="undefined"){p=new XSLTProcessor;p.importStylesheet(xsl);r=p.transformToFragment(xml,document);r=$("<div />").append(r).html()}if(r===false&&typeof xml.transformNode!=="undefined"){r=xml.transformNode(xsl)}callback.call(null,r)};var xsl={nest:"<"+'?xml version="1.0" encoding="utf-8" ?>'+'<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >'+'<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/html" />'+'<xsl:template match="/">'+'	<xsl:call-template name="nodes">'+'		<xsl:with-param name="node" select="/root" />'+"	</xsl:call-template>"+"</xsl:template>"+'<xsl:template name="nodes">'+'	<xsl:param name="node" />'+"	<ul>"+'	<xsl:for-each select="$node/item">'+'		<xsl:variable name="children" select="count(./item) &gt; 0" />'+"		<li>"+'			<xsl:attribute name="class">'+'				<xsl:if test="position() = last()">jstree-last </xsl:if>'+"				<xsl:choose>"+"					<xsl:when test=\"@state = 'open'\">jstree-open </xsl:when>"+"					<xsl:when test=\"$children or @hasChildren or @state = 'closed'\">jstree-closed </xsl:when>"+"					<xsl:otherwise>jstree-leaf </xsl:otherwise>"+"				</xsl:choose>"+'				<xsl:value-of select="@class" />'+"			</xsl:attribute>"+'			<xsl:for-each select="@*">'+"				<xsl:if test=\"name() != 'class' and name() != 'state' and name() != 'hasChildren'\">"+'					<xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>'+"				</xsl:if>"+"			</xsl:for-each>"+'	<ins class="jstree-icon"><xsl:text>&#xa0;</xsl:text></ins>'+'			<xsl:for-each select="content/name">'+"				<a>"+'				<xsl:attribute name="href">'+"					<xsl:choose>"+'					<xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>'+"					<xsl:otherwise>#</xsl:otherwise>"+"					</xsl:choose>"+"				</xsl:attribute>"+'				<xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>'+'				<xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>'+'				<xsl:for-each select="@*">'+"					<xsl:if test=\"name() != 'style' and name() != 'class' and name() != 'href'\">"+'						<xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>'+"					</xsl:if>"+"				</xsl:for-each>"+"					<ins>"+'						<xsl:attribute name="class">jstree-icon '+'							<xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>'+"						</xsl:attribute>"+'						<xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>'+"						<xsl:text>&#xa0;</xsl:text>"+"					</ins>"+'					<xsl:copy-of select="./child::node()" />'+"				</a>"+"			</xsl:for-each>"+'			<xsl:if test="$children or @hasChildren"><xsl:call-template name="nodes"><xsl:with-param name="node" select="current()" /></xsl:call-template></xsl:if>'+"		</li>"+"	</xsl:for-each>"+"	</ul>"+"</xsl:template>"+"</xsl:stylesheet>",flat:"<"+'?xml version="1.0" encoding="utf-8" ?>'+'<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >'+'<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/xml" />'+'<xsl:template match="/">'+"	<ul>"+'	<xsl:for-each select="//item[not(@parent_id) or @parent_id=0 or not(@parent_id = //item/@id)]">'+'		<xsl:call-template name="nodes">'+'			<xsl:with-param name="node" select="." />'+'			<xsl:with-param name="is_last" select="number(position() = last())" />'+"		</xsl:call-template>"+"	</xsl:for-each>"+"	</ul>"+"</xsl:template>"+'<xsl:template name="nodes">'+'	<xsl:param name="node" />'+'	<xsl:param name="is_last" />'+'	<xsl:variable name="children" select="count(//item[@parent_id=$node/attribute::id]) &gt; 0" />'+"	<li>"+'	<xsl:attribute name="class">'+'		<xsl:if test="$is_last = true()">jstree-last </xsl:if>'+"		<xsl:choose>"+"			<xsl:when test=\"@state = 'open'\">jstree-open </xsl:when>"+"			<xsl:when test=\"$children or @hasChildren or @state = 'closed'\">jstree-closed </xsl:when>"+"			<xsl:otherwise>jstree-leaf </xsl:otherwise>"+"		</xsl:choose>"+'		<xsl:value-of select="@class" />'+"	</xsl:attribute>"+'	<xsl:for-each select="@*">'+"		<xsl:if test=\"name() != 'parent_id' and name() != 'hasChildren' and name() != 'class' and name() != 'state'\">"+'		<xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>'+"		</xsl:if>"+"	</xsl:for-each>"+'	<ins class="jstree-icon"><xsl:text>&#xa0;</xsl:text></ins>'+'	<xsl:for-each select="content/name">'+"		<a>"+'		<xsl:attribute name="href">'+"			<xsl:choose>"+'			<xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>'+"			<xsl:otherwise>#</xsl:otherwise>"+"			</xsl:choose>"+"		</xsl:attribute>"+'		<xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>'+'		<xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>'+'		<xsl:for-each select="@*">'+"			<xsl:if test=\"name() != 'style' and name() != 'class' and name() != 'href'\">"+'				<xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>'+"			</xsl:if>"+"		</xsl:for-each>"+"			<ins>"+'				<xsl:attribute name="class">jstree-icon '+'					<xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>'+"				</xsl:attribute>"+'				<xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>'+"				<xsl:text>&#xa0;</xsl:text>"+"			</ins>"+'			<xsl:copy-of select="./child::node()" />'+"		</a>"+"	</xsl:for-each>"+'	<xsl:if test="$children">'+"		<ul>"+'		<xsl:for-each select="//item[@parent_id=$node/attribute::id]">'+'			<xsl:call-template name="nodes">'+'				<xsl:with-param name="node" select="." />'+'				<xsl:with-param name="is_last" select="number(position() = last())" />'+"			</xsl:call-template>"+"		</xsl:for-each>"+"		</ul>"+"	</xsl:if>"+"	</li>"+"</xsl:template>"+"</xsl:stylesheet>"},escape_xml=function(string){return string.toString().replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")};$.jstree.plugin("xml_data",{defaults:{data:false,ajax:false,xsl:"flat",clean_node:false,correct_state:true,get_skip_empty:false,get_include_preamble:true},_fn:{load_node:function(obj,s_call,e_call){var _this=this;this.load_node_xml(obj,function(){_this.__callback({obj:_this._get_node(obj)});s_call.call(this)},e_call)},_is_loaded:function(obj){var s=this._get_settings().xml_data;obj=this._get_node(obj);return obj==-1||!obj||!s.ajax&&!$.isFunction(s.data)||obj.is(".jstree-open, .jstree-leaf")||obj.children("ul").children("li").size()>0},load_node_xml:function(obj,s_call,e_call){var s=this.get_settings().xml_data,error_func=function(){},success_func=function(){};obj=this._get_node(obj);if(obj&&obj!==-1){if(obj.data("jstree_is_loading")){return}else{obj.data("jstree_is_loading",true)}}switch(!0){case!s.data&&!s.ajax:throw"Neither data nor ajax settings supplied.";case $.isFunction(s.data):s.data.call(this,obj,$.proxy(function(d){this.parse_xml(d,$.proxy(function(d){if(d){d=d.replace(/ ?xmlns="[^"]*"/gi,"");if(d.length>10){d=$(d);if(obj===-1||!obj){this.get_container().children("ul").empty().append(d.children())}else{obj.children("a.jstree-loading").removeClass("jstree-loading");obj.append(d);obj.removeData("jstree_is_loading")}if(s.clean_node){this.clean_node(obj)}if(s_call){s_call.call(this)}}else{if(obj&&obj!==-1){obj.children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree_is_loading");if(s.correct_state){this.correct_state(obj);if(s_call){s_call.call(this)}}}else{if(s.correct_state){this.get_container().children("ul").empty();if(s_call){s_call.call(this)}}}}}},this))},this));break;case!!s.data&&!s.ajax||!!s.data&&!!s.ajax&&(!obj||obj===-1):if(!obj||obj==-1){this.parse_xml(s.data,$.proxy(function(d){if(d){d=d.replace(/ ?xmlns="[^"]*"/gi,"");if(d.length>10){d=$(d);this.get_container().children("ul").empty().append(d.children());if(s.clean_node){this.clean_node(obj)}if(s_call){s_call.call(this)}}}else{if(s.correct_state){this.get_container().children("ul").empty();if(s_call){s_call.call(this)}}}},this))}break;case!s.data&&!!s.ajax||!!s.data&&!!s.ajax&&obj&&obj!==-1:error_func=function(x,t,e){var ef=this.get_settings().xml_data.ajax.error;if(ef){ef.call(this,x,t,e)}if(obj!==-1&&obj.length){obj.children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree_is_loading");if(t==="success"&&s.correct_state){this.correct_state(obj)}}else{if(t==="success"&&s.correct_state){this.get_container().children("ul").empty()}}if(e_call){e_call.call(this)}};success_func=function(d,t,x){d=x.responseText;var sf=this.get_settings().xml_data.ajax.success;if(sf){d=sf.call(this,d,t,x)||d}if(d===""||d&&d.toString&&d.toString().replace(/^[\s\n]+$/,"")===""){return error_func.call(this,x,t,"")}this.parse_xml(d,$.proxy(function(d){if(d){d=d.replace(/ ?xmlns="[^"]*"/gi,"");if(d.length>10){d=$(d);if(obj===-1||!obj){this.get_container().children("ul").empty().append(d.children())}else{obj.children("a.jstree-loading").removeClass("jstree-loading");obj.append(d);obj.removeData("jstree_is_loading")}if(s.clean_node){this.clean_node(obj)}if(s_call){s_call.call(this)}}else{if(obj&&obj!==-1){obj.children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree_is_loading");if(s.correct_state){this.correct_state(obj);if(s_call){s_call.call(this)}}}else{if(s.correct_state){this.get_container().children("ul").empty();if(s_call){s_call.call(this)}}}}}},this))};s.ajax.context=this;s.ajax.error=error_func;s.ajax.success=success_func;if(!s.ajax.dataType){s.ajax.dataType="xml"}if($.isFunction(s.ajax.url)){s.ajax.url=s.ajax.url.call(this,obj)}if($.isFunction(s.ajax.data)){s.ajax.data=s.ajax.data.call(this,obj)}$.ajax(s.ajax);break}},parse_xml:function(xml,callback){var s=this._get_settings().xml_data;$.vakata.xslt(xml,xsl[s.xsl],callback)},get_xml:function(tp,obj,li_attr,a_attr,is_callback){var result="",s=this._get_settings(),_this=this,tmp1,tmp2,li,a,lang;if(!tp){tp="flat"}if(!is_callback){is_callback=0}obj=this._get_node(obj);if(!obj||obj===-1){obj=this.get_container().find("> ul > li")}li_attr=$.isArray(li_attr)?li_attr:["id","class"];if(!is_callback&&this.data.types&&$.inArray(s.types.type_attr,li_attr)===-1){li_attr.push(s.types.type_attr)}a_attr=$.isArray(a_attr)?a_attr:[];if(!is_callback){if(s.xml_data.get_include_preamble){result+="<"+'?xml version="1.0" encoding="UTF-8"?'+">"}result+="<root>"}obj.each(function(){result+="<item";li=$(this);$.each(li_attr,function(i,v){var t=li.attr(v);if(!s.xml_data.get_skip_empty||typeof t!=="undefined"){result+=" "+v+'="'+escape_xml((" "+(t||"")).replace(/ jstree[^ ]*/gi,"").replace(/\s+$/gi," ").replace(/^ /,"").replace(/ $/,""))+'"'}});if(li.hasClass("jstree-open")){result+=' state="open"'}if(li.hasClass("jstree-closed")){result+=' state="closed"'}if(tp==="flat"){result+=' parent_id="'+escape_xml(is_callback)+'"'}result+=">";result+="<content>";a=li.children("a");a.each(function(){tmp1=$(this);lang=false;result+="<name";if($.inArray("languages",s.plugins)!==-1){$.each(s.languages,function(k,z){if(tmp1.hasClass(z)){result+=' lang="'+escape_xml(z)+'"';lang=z;return false}})}if(a_attr.length){$.each(a_attr,function(k,z){var t=tmp1.attr(z);if(!s.xml_data.get_skip_empty||typeof t!=="undefined"){result+=" "+z+'="'+escape_xml((" "+t||"").replace(/ jstree[^ ]*/gi,"").replace(/\s+$/gi," ").replace(/^ /,"").replace(/ $/,""))+'"'
}})}if(tmp1.children("ins").get(0).className.replace(/jstree[^ ]*|$/gi,"").replace(/^\s+$/gi,"").length){result+=' icon="'+escape_xml(tmp1.children("ins").get(0).className.replace(/jstree[^ ]*|$/gi,"").replace(/\s+$/gi," ").replace(/^ /,"").replace(/ $/,""))+'"'}if(tmp1.children("ins").get(0).style.backgroundImage.length){result+=' icon="'+escape_xml(tmp1.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")","").replace(/'/gi,"").replace(/"/gi,""))+'"'}result+=">";result+="<![CDATA["+_this.get_text(tmp1,lang)+"]]>";result+="</name>"});result+="</content>";tmp2=li[0].id||true;li=li.find("> ul > li");if(li.length){tmp2=_this.get_xml(tp,li,li_attr,a_attr,tmp2)}else{tmp2=""}if(tp=="nest"){result+=tmp2}result+="</item>";if(tp=="flat"){result+=tmp2}});if(!is_callback){result+="</root>"}return result}}})})(jQuery);(function($){if($().jquery.split(".")[1]>=8){$.expr[":"].jstree_contains=$.expr.createPseudo(function(search){return function(a){return(a.textContent||a.innerText||"").toLowerCase().indexOf(search.toLowerCase())>=0}});$.expr[":"].jstree_title_contains=$.expr.createPseudo(function(search){return function(a){return(a.getAttribute("title")||"").toLowerCase().indexOf(search.toLowerCase())>=0}})}else{$.expr[":"].jstree_contains=function(a,i,m){return(a.textContent||a.innerText||"").toLowerCase().indexOf(m[3].toLowerCase())>=0};$.expr[":"].jstree_title_contains=function(a,i,m){return(a.getAttribute("title")||"").toLowerCase().indexOf(m[3].toLowerCase())>=0}}$.jstree.plugin("search",{__init:function(){this.data.search.str="";this.data.search.result=$();if(this._get_settings().search.show_only_matches){this.get_container().bind("search.jstree",function(e,data){$(this).children("ul").find("li").hide().removeClass("jstree-last");data.rslt.nodes.parentsUntil(".jstree").andSelf().show().filter("ul").each(function(){$(this).children("li:visible").eq(-1).addClass("jstree-last")})}).bind("clear_search.jstree",function(){$(this).children("ul").find("li").css("display","").end().end().jstree("clean_node",-1)})}},defaults:{ajax:false,search_method:"jstree_contains",show_only_matches:false},_fn:{search:function(str,skip_async){if($.trim(str)===""){this.clear_search();return}var s=this.get_settings().search,t=this,error_func=function(){},success_func=function(){};this.data.search.str=str;if(!skip_async&&s.ajax!==false&&this.get_container_ul().find("li.jstree-closed:not(:has(ul)):eq(0)").length>0){this.search.supress_callback=true;error_func=function(){};success_func=function(d,t,x){var sf=this.get_settings().search.ajax.success;if(sf){d=sf.call(this,d,t,x)||d}this.data.search.to_open=d;this._search_open()};s.ajax.context=this;s.ajax.error=error_func;s.ajax.success=success_func;if($.isFunction(s.ajax.url)){s.ajax.url=s.ajax.url.call(this,str)}if($.isFunction(s.ajax.data)){s.ajax.data=s.ajax.data.call(this,str)}if(!s.ajax.data){s.ajax.data={search_string:str}}if(!s.ajax.dataType||/^json/.exec(s.ajax.dataType)){s.ajax.dataType="json"}$.ajax(s.ajax);return}if(this.data.search.result.length){this.clear_search()}this.data.search.result=this.get_container().find("a"+(this.data.languages?"."+this.get_lang():"")+":"+s.search_method+"("+this.data.search.str+")");this.data.search.result.addClass("jstree-search").parent().parents(".jstree-closed").each(function(){t.open_node(this,false,true)});this.__callback({nodes:this.data.search.result,str:str})},clear_search:function(str){this.data.search.result.removeClass("jstree-search");this.__callback(this.data.search.result);this.data.search.result=$()},_search_open:function(is_callback){var _this=this,done=true,current=[],remaining=[];if(this.data.search.to_open.length){$.each(this.data.search.to_open,function(i,val){if(val=="#"){return true}if($(val).length&&$(val).is(".jstree-closed")){current.push(val)}else{remaining.push(val)}});if(current.length){this.data.search.to_open=remaining;$.each(current,function(i,val){_this.open_node(val,function(){_this._search_open(true)})});done=false}}if(done){this.search(this.data.search.str,true)}}}})})(jQuery);(function($){$.vakata.context={hide_on_mouseleave:false,cnt:$("<div id='vakata-contextmenu' />"),vis:false,tgt:false,par:false,func:false,data:false,rtl:false,show:function(s,t,x,y,d,p,rtl){$.vakata.context.rtl=!!rtl;var html=$.vakata.context.parse(s),h,w;if(!html){return}$.vakata.context.vis=true;$.vakata.context.tgt=t;$.vakata.context.par=p||t||null;$.vakata.context.data=d||null;$.vakata.context.cnt.html(html).css({visibility:"hidden",display:"block",left:0,top:0});if($.vakata.context.hide_on_mouseleave){$.vakata.context.cnt.one("mouseleave",function(e){$.vakata.context.hide()})}h=$.vakata.context.cnt.height();w=$.vakata.context.cnt.width();if(x+w>$(document).width()){x=$(document).width()-(w+5);$.vakata.context.cnt.find("li > ul").addClass("right")}if(y+h>$(document).height()){y=y-(h+t[0].offsetHeight);$.vakata.context.cnt.find("li > ul").addClass("bottom")}$.vakata.context.cnt.css({left:x,top:y}).find("li:has(ul)").bind("mouseenter",function(e){var w=$(document).width(),h=$(document).height(),ul=$(this).children("ul").show();if(w!==$(document).width()){ul.toggleClass("right")}if(h!==$(document).height()){ul.toggleClass("bottom")}}).bind("mouseleave",function(e){$(this).children("ul").hide()}).end().css({visibility:"visible"}).show();$(document).triggerHandler("context_show.vakata")},hide:function(){$.vakata.context.vis=false;$.vakata.context.cnt.attr("class","").css({visibility:"hidden"});$(document).triggerHandler("context_hide.vakata")},parse:function(s,is_callback){if(!s){return false}var str="",tmp=false,was_sep=true;if(!is_callback){$.vakata.context.func={}}str+="<ul>";$.each(s,function(i,val){if(!val){return true}$.vakata.context.func[i]=val.action;if(!was_sep&&val.separator_before){str+="<li class='vakata-separator vakata-separator-before'></li>"}was_sep=false;str+="<li class='"+(val._class||"")+(val._disabled?" jstree-contextmenu-disabled ":"")+"'><ins ";if(val.icon&&val.icon.indexOf("/")===-1){str+=" class='"+val.icon+"' "}if(val.icon&&val.icon.indexOf("/")!==-1){str+=" style='background:url("+val.icon+") center center no-repeat;' "}str+=">&#160;</ins><a href='#' rel='"+i+"'>";if(val.submenu){str+="<span style='float:"+($.vakata.context.rtl?"left":"right")+";'>&raquo;</span>"}str+=val.label+"</a>";if(val.submenu){tmp=$.vakata.context.parse(val.submenu,true);if(tmp){str+=tmp}}str+="</li>";if(val.separator_after){str+="<li class='vakata-separator vakata-separator-after'></li>";was_sep=true}});str=str.replace(/<li class\='vakata-separator vakata-separator-after'\><\/li\>$/,"");str+="</ul>";$(document).triggerHandler("context_parse.vakata");return str.length>10?str:false},exec:function(i){if($.isFunction($.vakata.context.func[i])){$.vakata.context.func[i].call($.vakata.context.data,$.vakata.context.par);return true}else{return false}}};$(function(){var css_string=""+"#vakata-contextmenu { display:block; visibility:hidden; left:0; top:-200px; position:absolute; margin:0; padding:0; min-width:180px; background:#ebebeb; border:1px solid silver; z-index:10000; *width:180px; } "+"#vakata-contextmenu ul { min-width:180px; *width:180px; } "+"#vakata-contextmenu ul, #vakata-contextmenu li { margin:0; padding:0; list-style-type:none; display:block; } "+"#vakata-contextmenu li { line-height:20px; min-height:20px; position:relative; padding:0px; } "+"#vakata-contextmenu li a { padding:1px 6px; line-height:17px; display:block; text-decoration:none; margin:1px 1px 0 1px; } "+"#vakata-contextmenu li ins { float:left; width:16px; height:16px; text-decoration:none; margin-right:2px; } "+"#vakata-contextmenu li a:hover, #vakata-contextmenu li.vakata-hover > a { background:gray; color:white; } "+"#vakata-contextmenu li ul { display:none; position:absolute; top:-2px; left:100%; background:#ebebeb; border:1px solid gray; } "+"#vakata-contextmenu .right { right:100%; left:auto; } "+"#vakata-contextmenu .bottom { bottom:-1px; top:auto; } "+"#vakata-contextmenu li.vakata-separator { min-height:0; height:1px; line-height:1px; font-size:1px; overflow:hidden; margin:0 2px; background:silver; /* border-top:1px solid #fefefe; */ padding:0; } ";$.vakata.css.add_sheet({str:css_string,title:"vakata"});$.vakata.context.cnt.delegate("a","click",function(e){e.preventDefault()}).delegate("a","mouseup",function(e){if(!$(this).parent().hasClass("jstree-contextmenu-disabled")&&$.vakata.context.exec($(this).attr("rel"))){$.vakata.context.hide()}else{$(this).blur()}}).delegate("a","mouseover",function(){$.vakata.context.cnt.find(".vakata-hover").removeClass("vakata-hover")}).appendTo("body");$(document).bind("mousedown",function(e){if($.vakata.context.vis&&!$.contains($.vakata.context.cnt[0],e.target)){$.vakata.context.hide()}});if(typeof $.hotkeys!=="undefined"){$(document).bind("keydown","up",function(e){if($.vakata.context.vis){var o=$.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").prevAll("li:not(.vakata-separator)").first();if(!o.length){o=$.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").last()}o.addClass("vakata-hover");e.stopImmediatePropagation();e.preventDefault()}}).bind("keydown","down",function(e){if($.vakata.context.vis){var o=$.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").nextAll("li:not(.vakata-separator)").first();if(!o.length){o=$.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").first()}o.addClass("vakata-hover");e.stopImmediatePropagation();e.preventDefault()}}).bind("keydown","right",function(e){if($.vakata.context.vis){$.vakata.context.cnt.find(".vakata-hover").children("ul").show().children("li:not(.vakata-separator)").removeClass("vakata-hover").first().addClass("vakata-hover");e.stopImmediatePropagation();e.preventDefault()}}).bind("keydown","left",function(e){if($.vakata.context.vis){$.vakata.context.cnt.find(".vakata-hover").children("ul").hide().children(".vakata-separator").removeClass("vakata-hover");e.stopImmediatePropagation();e.preventDefault()}}).bind("keydown","esc",function(e){$.vakata.context.hide();e.preventDefault()}).bind("keydown","space",function(e){$.vakata.context.cnt.find(".vakata-hover").last().children("a").click();e.preventDefault()})}});$.jstree.plugin("contextmenu",{__init:function(){this.get_container().delegate("a","contextmenu.jstree",$.proxy(function(e){e.preventDefault();if(!$(e.currentTarget).hasClass("jstree-loading")){this.show_contextmenu(e.currentTarget,e.pageX,e.pageY)}},this)).delegate("a","click.jstree",$.proxy(function(e){if(this.data.contextmenu){$.vakata.context.hide()}},this)).bind("destroy.jstree",$.proxy(function(){if(this.data.contextmenu){$.vakata.context.hide()}},this));$(document).bind("context_hide.vakata",$.proxy(function(){this.data.contextmenu=false},this))},defaults:{select_node:false,show_at_node:true,items:{create:{separator_before:false,separator_after:true,label:"Create",action:function(obj){this.create(obj)}},rename:{separator_before:false,separator_after:false,label:"Rename",action:function(obj){this.rename(obj)}},remove:{separator_before:false,icon:false,separator_after:false,label:"Delete",action:function(obj){if(this.is_selected(obj)){this.remove()}else{this.remove(obj)}}},ccp:{separator_before:true,icon:false,separator_after:false,label:"Edit",action:false,submenu:{cut:{separator_before:false,separator_after:false,label:"Cut",action:function(obj){this.cut(obj)}},copy:{separator_before:false,icon:false,separator_after:false,label:"Copy",action:function(obj){this.copy(obj)}},paste:{separator_before:false,icon:false,separator_after:false,label:"Paste",action:function(obj){this.paste(obj)}}}}}},_fn:{show_contextmenu:function(obj,x,y){obj=this._get_node(obj);var s=this.get_settings().contextmenu,a=obj.children("a:visible:eq(0)"),o=false,i=false;if(s.select_node&&this.data.ui&&!this.is_selected(obj)){this.deselect_all();this.select_node(obj,true)}if(s.show_at_node||typeof x==="undefined"||typeof y==="undefined"){o=a.offset();x=o.left;y=o.top+this.data.core.li_height}i=obj.data("jstree")&&obj.data("jstree").contextmenu?obj.data("jstree").contextmenu:s.items;if($.isFunction(i)){i=i.call(this,obj)}this.data.contextmenu=true;$.vakata.context.show(i,a,x,y,this,obj,this._get_settings().core.rtl);if(this.data.themes){$.vakata.context.cnt.attr("class","jstree-"+this.data.themes.theme+"-context")}}}})})(jQuery);(function($){$.jstree.plugin("types",{__init:function(){var s=this._get_settings().types;this.data.types.attach_to=[];this.get_container().bind("init.jstree",$.proxy(function(){var types=s.types,attr=s.type_attr,icons_css="",_this=this;$.each(types,function(i,tp){$.each(tp,function(k,v){if(!/^(max_depth|max_children|icon|valid_children)$/.test(k)){_this.data.types.attach_to.push(k)}});if(!tp.icon){return true}if(tp.icon.image||tp.icon.position){if(i=="default"){icons_css+=".jstree-"+_this.get_index()+" a > .jstree-icon { "}else{icons_css+=".jstree-"+_this.get_index()+" li["+attr+'="'+i+'"] > a > .jstree-icon { '}if(tp.icon.image){icons_css+=" background-image:url("+tp.icon.image+"); "}if(tp.icon.position){icons_css+=" background-position:"+tp.icon.position+"; "}else{icons_css+=" background-position:0 0; "}icons_css+="} "}});if(icons_css!==""){$.vakata.css.add_sheet({str:icons_css,title:"jstree-types"})}},this)).bind("before.jstree",$.proxy(function(e,data){var s,t,o=this._get_settings().types.use_data?this._get_node(data.args[0]):false,d=o&&o!==-1&&o.length?o.data("jstree"):false;if(d&&d.types&&d.types[data.func]===false){e.stopImmediatePropagation();return false}if($.inArray(data.func,this.data.types.attach_to)!==-1){if(!data.args[0]||!data.args[0].tagName&&!data.args[0].jquery){return}s=this._get_settings().types.types;t=this._get_type(data.args[0]);if((s[t]&&typeof s[t][data.func]!=="undefined"||s["default"]&&typeof s["default"][data.func]!=="undefined")&&this._check(data.func,data.args[0])===false){e.stopImmediatePropagation();return false}}},this));if(is_ie6){this.get_container().bind("load_node.jstree set_type.jstree",$.proxy(function(e,data){var r=data&&data.rslt&&data.rslt.obj&&data.rslt.obj!==-1?this._get_node(data.rslt.obj).parent():this.get_container_ul(),c=false,s=this._get_settings().types;$.each(s.types,function(i,tp){if(tp.icon&&(tp.icon.image||tp.icon.position)){c=i==="default"?r.find("li > a > .jstree-icon"):r.find("li["+s.type_attr+"='"+i+"'] > a > .jstree-icon");if(tp.icon.image){c.css("backgroundImage","url("+tp.icon.image+")")}c.css("backgroundPosition",tp.icon.position||"0 0")}})},this))}},defaults:{max_children:-1,max_depth:-1,valid_children:"all",use_data:false,type_attr:"rel",types:{default:{max_children:-1,max_depth:-1,valid_children:"all"}}},_fn:{_types_notify:function(n,data){if(data.type&&this._get_settings().types.use_data){this.set_type(data.type,n)}},_get_type:function(obj){obj=this._get_node(obj);return!obj||!obj.length?false:obj.attr(this._get_settings().types.type_attr)||"default"},set_type:function(str,obj){obj=this._get_node(obj);var ret=!obj.length||!str?false:obj.attr(this._get_settings().types.type_attr,str);if(ret){this.__callback({obj:obj,type:str})}return ret},_check:function(rule,obj,opts){obj=this._get_node(obj);var v=false,t=this._get_type(obj),d=0,_this=this,s=this._get_settings().types,data=false;if(obj===-1){if(!!s[rule]){v=s[rule]}else{return}}else{if(t===false){return}data=s.use_data?obj.data("jstree"):false;if(data&&data.types&&typeof data.types[rule]!=="undefined"){v=data.types[rule]}else if(!!s.types[t]&&typeof s.types[t][rule]!=="undefined"){v=s.types[t][rule]}else if(!!s.types["default"]&&typeof s.types["default"][rule]!=="undefined"){v=s.types["default"][rule]}}if($.isFunction(v)){v=v.call(this,obj)}if(rule==="max_depth"&&obj!==-1&&opts!==false&&s.max_depth!==-2&&v!==0){obj.children("a:eq(0)").parentsUntil(".jstree","li").each(function(i){if(s.max_depth!==-1&&s.max_depth-(i+1)<=0){v=0;return false}d=i===0?v:_this._check(rule,this,false);if(d!==-1&&d-(i+1)<=0){v=0;return false}if(d>=0&&(d-(i+1)<v||v<0)){v=d-(i+1)}if(s.max_depth>=0&&(s.max_depth-(i+1)<v||v<0)){v=s.max_depth-(i+1)}})}return v},check_move:function(){if(!this.__call_old()){return false}var m=this._get_move(),s=m.rt._get_settings().types,mc=m.rt._check("max_children",m.cr),md=m.rt._check("max_depth",m.cr),vc=m.rt._check("valid_children",m.cr),ch=0,d=1,t;if(vc==="none"){return false}if($.isArray(vc)&&m.ot&&m.ot._get_type){m.o.each(function(){if($.inArray(m.ot._get_type(this),vc)===-1){d=false;return false}});if(d===false){return false}}if(s.max_children!==-2&&mc!==-1){ch=m.cr===-1?this.get_container().find("> ul > li").not(m.o).length:m.cr.find("> ul > li").not(m.o).length;if(ch+m.o.length>mc){return false}}if(s.max_depth!==-2&&md!==-1){d=0;if(md===0){return false}if(typeof m.o.d==="undefined"){t=m.o;while(t.length>0){t=t.find("> ul > li");d++}m.o.d=d}if(md-m.o.d<0){return false}}return true},create_node:function(obj,position,js,callback,is_loaded,skip_check){if(!skip_check&&(is_loaded||this._is_loaded(obj))){var p=typeof position=="string"&&position.match(/^before|after$/i)&&obj!==-1?this._get_parent(obj):this._get_node(obj),s=this._get_settings().types,mc=this._check("max_children",p),md=this._check("max_depth",p),vc=this._check("valid_children",p),ch;if(typeof js==="string"){js={data:js}}if(!js){js={}}if(vc==="none"){return false}if($.isArray(vc)){if(!js.attr||!js.attr[s.type_attr]){if(!js.attr){js.attr={}}js.attr[s.type_attr]=vc[0]}else{if($.inArray(js.attr[s.type_attr],vc)===-1){return false}}}if(s.max_children!==-2&&mc!==-1){ch=p===-1?this.get_container().find("> ul > li").length:p.find("> ul > li").length;if(ch+1>mc){return false}}if(s.max_depth!==-2&&md!==-1&&md-1<0){return false}}return this.__call_old(true,obj,position,js,callback,is_loaded,skip_check)}}})})(jQuery);(function($){$.jstree.plugin("html_data",{__init:function(){this.data.html_data.original_container_html=this.get_container().find(" > ul > li").clone(true);this.data.html_data.original_container_html.find("li").andSelf().contents().filter(function(){return this.nodeType==3}).remove()},defaults:{data:false,ajax:false,correct_state:true},_fn:{load_node:function(obj,s_call,e_call){var _this=this;this.load_node_html(obj,function(){_this.__callback({obj:_this._get_node(obj)});s_call.call(this)},e_call)},_is_loaded:function(obj){obj=this._get_node(obj);return obj==-1||!obj||!this._get_settings().html_data.ajax&&!$.isFunction(this._get_settings().html_data.data)||obj.is(".jstree-open, .jstree-leaf")||obj.children("ul").children("li").size()>0},load_node_html:function(obj,s_call,e_call){var d,s=this.get_settings().html_data,error_func=function(){},success_func=function(){};obj=this._get_node(obj);if(obj&&obj!==-1){if(obj.data("jstree_is_loading")){return}else{obj.data("jstree_is_loading",true)}}switch(!0){case $.isFunction(s.data):s.data.call(this,obj,$.proxy(function(d){if(d&&d!==""&&d.toString&&d.toString().replace(/^[\s\n]+$/,"")!==""){d=$(d);if(!d.is("ul")){d=$("<ul />").append(d)}if(obj==-1||!obj){this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function(){return!this.firstChild||!this.firstChild.tagName||this.firstChild.tagName!=="INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon")}else{obj.children("a.jstree-loading").removeClass("jstree-loading");obj.append(d).children("ul").find("li, a").filter(function(){return!this.firstChild||!this.firstChild.tagName||this.firstChild.tagName!=="INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");obj.removeData("jstree_is_loading")}this.clean_node(obj);if(s_call){s_call.call(this)}}else{if(obj&&obj!==-1){obj.children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree_is_loading");if(s.correct_state){this.correct_state(obj);if(s_call){s_call.call(this)}}}else{if(s.correct_state){this.get_container().children("ul").empty();if(s_call){s_call.call(this)}}}}},this));break;case!s.data&&!s.ajax:if(!obj||obj==-1){this.get_container().children("ul").empty().append(this.data.html_data.original_container_html).find("li, a").filter(function(){return!this.firstChild||!this.firstChild.tagName||this.firstChild.tagName!=="INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");this.clean_node()}if(s_call){s_call.call(this)}break;case!!s.data&&!s.ajax||!!s.data&&!!s.ajax&&(!obj||obj===-1):if(!obj||obj==-1){d=$(s.data);if(!d.is("ul")){d=$("<ul />").append(d)}this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function(){return!this.firstChild||!this.firstChild.tagName||this.firstChild.tagName!=="INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");this.clean_node()}if(s_call){s_call.call(this)}break;case!s.data&&!!s.ajax||!!s.data&&!!s.ajax&&obj&&obj!==-1:obj=this._get_node(obj);error_func=function(x,t,e){var ef=this.get_settings().html_data.ajax.error;if(ef){ef.call(this,x,t,e)}if(obj!=-1&&obj.length){obj.children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree_is_loading");if(t==="success"&&s.correct_state){this.correct_state(obj)}}else{if(t==="success"&&s.correct_state){this.get_container().children("ul").empty()}}if(e_call){e_call.call(this)}};success_func=function(d,t,x){var sf=this.get_settings().html_data.ajax.success;if(sf){d=sf.call(this,d,t,x)||d}if(d===""||d&&d.toString&&d.toString().replace(/^[\s\n]+$/,"")===""){return error_func.call(this,x,t,"")}if(d){d=$(d);if(!d.is("ul")){d=$("<ul />").append(d)}if(obj==-1||!obj){this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function(){return!this.firstChild||!this.firstChild.tagName||this.firstChild.tagName!=="INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon")}else{obj.children("a.jstree-loading").removeClass("jstree-loading");obj.append(d).children("ul").find("li, a").filter(function(){return!this.firstChild||!this.firstChild.tagName||this.firstChild.tagName!=="INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");obj.removeData("jstree_is_loading")}this.clean_node(obj);if(s_call){s_call.call(this)}}else{if(obj&&obj!==-1){obj.children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree_is_loading");if(s.correct_state){this.correct_state(obj);if(s_call){s_call.call(this)}}}else{if(s.correct_state){this.get_container().children("ul").empty();if(s_call){s_call.call(this)}}}}};s.ajax.context=this;s.ajax.error=error_func;s.ajax.success=success_func;if(!s.ajax.dataType){s.ajax.dataType="html"}if($.isFunction(s.ajax.url)){s.ajax.url=s.ajax.url.call(this,obj)}if($.isFunction(s.ajax.data)){s.ajax.data=s.ajax.data.call(this,obj)}$.ajax(s.ajax);break}}}});$.jstree.defaults.plugins.push("html_data")})(jQuery);(function($){$.jstree.plugin("themeroller",{__init:function(){var s=this._get_settings().themeroller;this.get_container().addClass("ui-widget-content").addClass("jstree-themeroller").delegate("a","mouseenter.jstree",function(e){if(!$(e.currentTarget).hasClass("jstree-loading")){$(this).addClass(s.item_h)}}).delegate("a","mouseleave.jstree",function(){$(this).removeClass(s.item_h)}).bind("init.jstree",$.proxy(function(e,data){data.inst.get_container().find("> ul > li > .jstree-loading > ins").addClass("ui-icon-refresh");this._themeroller(data.inst.get_container().find("> ul > li"))},this)).bind("open_node.jstree create_node.jstree",$.proxy(function(e,data){this._themeroller(data.rslt.obj)},this)).bind("loaded.jstree refresh.jstree",$.proxy(function(e){this._themeroller()},this)).bind("close_node.jstree",$.proxy(function(e,data){this._themeroller(data.rslt.obj)},this)).bind("delete_node.jstree",$.proxy(function(e,data){this._themeroller(data.rslt.parent)},this)).bind("correct_state.jstree",$.proxy(function(e,data){data.rslt.obj.children("ins.jstree-icon").removeClass(s.opened+" "+s.closed+" ui-icon").end().find("> a > ins.ui-icon").filter(function(){return this.className.toString().replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"").indexOf("ui-icon-")===-1}).removeClass(s.item_open+" "+s.item_clsd).addClass(s.item_leaf||"jstree-no-icon")},this)).bind("select_node.jstree",$.proxy(function(e,data){data.rslt.obj.children("a").addClass(s.item_a)},this)).bind("deselect_node.jstree deselect_all.jstree",$.proxy(function(e,data){this.get_container().find("a."+s.item_a).removeClass(s.item_a).end().find("a.jstree-clicked").addClass(s.item_a)},this)).bind("dehover_node.jstree",$.proxy(function(e,data){data.rslt.obj.children("a").removeClass(s.item_h)},this)).bind("hover_node.jstree",$.proxy(function(e,data){this.get_container().find("a."+s.item_h).not(data.rslt.obj).removeClass(s.item_h);data.rslt.obj.children("a").addClass(s.item_h)},this)).bind("move_node.jstree",$.proxy(function(e,data){this._themeroller(data.rslt.o);this._themeroller(data.rslt.op)},this))},__destroy:function(){var s=this._get_settings().themeroller,c=["ui-icon"];$.each(s,function(i,v){v=v.split(" ");if(v.length){c=c.concat(v)}});this.get_container().removeClass("ui-widget-content").find("."+c.join(", .")).removeClass(c.join(" "))},_fn:{_themeroller:function(obj){var s=this._get_settings().themeroller;obj=!obj||obj==-1?this.get_container_ul():this._get_node(obj);obj=!obj||obj==-1?this.get_container_ul():obj.parent();obj.find("li.jstree-closed").children("ins.jstree-icon").removeClass(s.opened).addClass("ui-icon "+s.closed).end().children("a").addClass(s.item).children("ins.jstree-icon").addClass("ui-icon").filter(function(){return this.className.toString().replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"").indexOf("ui-icon-")===-1}).removeClass(s.item_leaf+" "+s.item_open).addClass(s.item_clsd||"jstree-no-icon").end().end().end().end().find("li.jstree-open").children("ins.jstree-icon").removeClass(s.closed).addClass("ui-icon "+s.opened).end().children("a").addClass(s.item).children("ins.jstree-icon").addClass("ui-icon").filter(function(){return this.className.toString().replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"").indexOf("ui-icon-")===-1}).removeClass(s.item_leaf+" "+s.item_clsd).addClass(s.item_open||"jstree-no-icon").end().end().end().end().find("li.jstree-leaf").children("ins.jstree-icon").removeClass(s.closed+" ui-icon "+s.opened).end().children("a").addClass(s.item).children("ins.jstree-icon").addClass("ui-icon").filter(function(){return this.className.toString().replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"").indexOf("ui-icon-")===-1}).removeClass(s.item_clsd+" "+s.item_open).addClass(s.item_leaf||"jstree-no-icon")}},defaults:{opened:"ui-icon-triangle-1-se",closed:"ui-icon-triangle-1-e",item:"ui-state-default",item_h:"ui-state-hover",item_a:"ui-state-active",item_open:"ui-icon-folder-open",item_clsd:"ui-icon-folder-collapsed",item_leaf:"ui-icon-document"}});$(function(){var css_string=""+".jstree-themeroller .ui-icon { overflow:visible; } "+".jstree-themeroller a { padding:0 2px; } "+".jstree-themeroller .jstree-no-icon { display:none; }";$.vakata.css.add_sheet({str:css_string,title:"jstree"})})})(jQuery);(function($){$.jstree.plugin("unique",{__init:function(){this.get_container().bind("before.jstree",$.proxy(function(e,data){var nms=[],res=true,p,t;if(data.func=="move_node"){if(data.args[4]===true){if(data.args[0].o&&data.args[0].o.length){data.args[0].o.children("a").each(function(){nms.push($(this).text().replace(/^\s+/g,""))});res=this._check_unique(nms,data.args[0].np.find("> ul > li").not(data.args[0].o),"move_node")}}}if(data.func=="create_node"){if(data.args[4]||this._is_loaded(data.args[0])){p=this._get_node(data.args[0]);if(data.args[1]&&(data.args[1]==="before"||data.args[1]==="after")){p=this._get_parent(data.args[0]);if(!p||p===-1){p=this.get_container()}}if(typeof data.args[2]==="string"){nms.push(data.args[2])}else if(!data.args[2]||!data.args[2].data){nms.push(this._get_string("new_node"))}else{nms.push(data.args[2].data)}res=this._check_unique(nms,p.find("> ul > li"),"create_node")}}if(data.func=="rename_node"){nms.push(data.args[1]);t=this._get_node(data.args[0]);p=this._get_parent(t);if(!p||p===-1){p=this.get_container()}res=this._check_unique(nms,p.find("> ul > li").not(t),"rename_node")}if(!res){e.stopPropagation();return false}},this))},defaults:{error_callback:$.noop},_fn:{_check_unique:function(nms,p,func){var cnms=[],ok=true;p.children("a").each(function(){cnms.push($(this).text().replace(/^\s+/g,""))});if(!cnms.length||!nms.length){return true}$.each(nms,function(i,v){if($.inArray(v,cnms)!==-1){ok=false;return false}});if(!ok){this._get_settings().unique.error_callback.call(null,nms,p,func)}return ok},check_move:function(){if(!this.__call_old()){return false}var p=this._get_move(),nms=[];if(p.o&&p.o.length){p.o.children("a").each(function(){nms.push($(this).text().replace(/^\s+/g,""))});return this._check_unique(nms,p.np.find("> ul > li").not(p.o),"check_move")}return true}}})})(jQuery);(function($){$.jstree.plugin("wholerow",{__init:function(){if(!this.data.ui){throw"jsTree wholerow: jsTree UI plugin not included."}this.data.wholerow.html=false;this.data.wholerow.to=false;this.get_container().bind("init.jstree",$.proxy(function(e,data){this._get_settings().core.animation=0},this)).bind("open_node.jstree create_node.jstree clean_node.jstree loaded.jstree",$.proxy(function(e,data){this._prepare_wholerow_span(data&&data.rslt&&data.rslt.obj?data.rslt.obj:-1)},this)).bind("search.jstree clear_search.jstree reopen.jstree after_open.jstree after_close.jstree create_node.jstree delete_node.jstree clean_node.jstree",$.proxy(function(e,data){if(this.data.to){clearTimeout(this.data.to)}this.data.to=setTimeout(function(t,o){return function(){t._prepare_wholerow_ul(o)}}(this,data&&data.rslt&&data.rslt.obj?data.rslt.obj:-1),0)},this)).bind("deselect_all.jstree",$.proxy(function(e,data){this.get_container().find(" > .jstree-wholerow .jstree-clicked").removeClass("jstree-clicked "+(this.data.themeroller?this._get_settings().themeroller.item_a:""))},this)).bind("select_node.jstree deselect_node.jstree ",$.proxy(function(e,data){data.rslt.obj.each(function(){var ref=data.inst.get_container().find(" > .jstree-wholerow li:visible:eq("+parseInt(($(this).offset().top-data.inst.get_container().offset().top+data.inst.get_container()[0].scrollTop)/data.inst.data.core.li_height,10)+")");ref.children("a").attr("class",data.rslt.obj.children("a").attr("class"))})},this)).bind("hover_node.jstree dehover_node.jstree",$.proxy(function(e,data){this.get_container().find(" > .jstree-wholerow .jstree-hovered").removeClass("jstree-hovered "+(this.data.themeroller?this._get_settings().themeroller.item_h:""));if(e.type==="hover_node"){var ref=this.get_container().find(" > .jstree-wholerow li:visible:eq("+parseInt((data.rslt.obj.offset().top-this.get_container().offset().top+this.get_container()[0].scrollTop)/this.data.core.li_height,10)+")");ref.children("a").attr("class",data.rslt.obj.children(".jstree-hovered").attr("class"))}},this)).delegate(".jstree-wholerow-span, ins.jstree-icon, li","click.jstree",function(e){var n=$(e.currentTarget);if(e.target.tagName==="A"||e.target.tagName==="INS"&&n.closest("li").is(".jstree-open, .jstree-closed")){return}n.closest("li").children("a:visible:eq(0)").click();e.stopImmediatePropagation()}).delegate("li","mouseover.jstree",$.proxy(function(e){e.stopImmediatePropagation();if($(e.currentTarget).children(".jstree-hovered, .jstree-clicked").length){return false}this.hover_node(e.currentTarget);return false},this)).delegate("li","mouseleave.jstree",$.proxy(function(e){if($(e.currentTarget).children("a").hasClass("jstree-hovered").length){return
}this.dehover_node(e.currentTarget)},this));if(is_ie7||is_ie6){$.vakata.css.add_sheet({str:".jstree-"+this.get_index()+" { position:relative; } ",title:"jstree"})}},defaults:{},__destroy:function(){this.get_container().children(".jstree-wholerow").remove();this.get_container().find(".jstree-wholerow-span").remove()},_fn:{_prepare_wholerow_span:function(obj){obj=!obj||obj==-1?this.get_container().find("> ul > li"):this._get_node(obj);if(obj===false){return}obj.each(function(){$(this).find("li").andSelf().each(function(){var $t=$(this);if($t.children(".jstree-wholerow-span").length){return true}$t.prepend("<span class='jstree-wholerow-span' style='width:"+$t.parentsUntil(".jstree","li").length*18+"px;'>&#160;</span>")})})},_prepare_wholerow_ul:function(){var o=this.get_container().children("ul").eq(0),h=o.html();o.addClass("jstree-wholerow-real");if(this.data.wholerow.last_html!==h){this.data.wholerow.last_html=h;this.get_container().children(".jstree-wholerow").remove();this.get_container().append(o.clone().removeClass("jstree-wholerow-real").wrapAll("<div class='jstree-wholerow' />").parent().width(o.parent()[0].scrollWidth).css("top",(o.height()+(is_ie7?5:0))*-1).find("li[id]").each(function(){this.removeAttribute("id")}).end())}}}});$(function(){var css_string=""+".jstree .jstree-wholerow-real { position:relative; z-index:1; } "+".jstree .jstree-wholerow-real li { cursor:pointer; } "+".jstree .jstree-wholerow-real a { border-left-color:transparent !important; border-right-color:transparent !important; } "+".jstree .jstree-wholerow { position:relative; z-index:0; height:0; } "+".jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { width:100%; } "+".jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li, .jstree .jstree-wholerow a { margin:0 !important; padding:0 !important; } "+".jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { background:transparent !important; }"+".jstree .jstree-wholerow ins, .jstree .jstree-wholerow span, .jstree .jstree-wholerow input { display:none !important; }"+".jstree .jstree-wholerow a, .jstree .jstree-wholerow a:hover { text-indent:-9999px; !important; width:100%; padding:0 !important; border-right-width:0px !important; border-left-width:0px !important; } "+".jstree .jstree-wholerow-span { position:absolute; left:0; margin:0px; padding:0; height:18px; border-width:0; padding:0; z-index:0; }";if(is_ff2){css_string+=""+".jstree .jstree-wholerow a { display:block; height:18px; margin:0; padding:0; border:0; } "+".jstree .jstree-wholerow-real a { border-color:transparent !important; } "}if(is_ie7||is_ie6){css_string+=""+".jstree .jstree-wholerow, .jstree .jstree-wholerow li, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow a { margin:0; padding:0; line-height:18px; } "+".jstree .jstree-wholerow a { display:block; height:18px; line-height:18px; overflow:hidden; } "}$.vakata.css.add_sheet({str:css_string,title:"jstree"})})})(jQuery);(function($){var nodeInterface=["getChildren","getChildrenCount","getAttr","getName","getProps"],validateInterface=function(obj,inter){var valid=true;obj=obj||{};inter=[].concat(inter);$.each(inter,function(i,v){if(!$.isFunction(obj[v])){valid=false;return false}});return valid};$.jstree.plugin("model",{__init:function(){if(!this.data.json_data){throw"jsTree model: jsTree json_data plugin not included."}this._get_settings().json_data.data=function(n,b){var obj=n==-1?this._get_settings().model.object:n.data("jstree_model");if(!validateInterface(obj,nodeInterface)){return b.call(null,false)}if(this._get_settings().model.async){obj.getChildren($.proxy(function(data){this.model_done(data,b)},this))}else{this.model_done(obj.getChildren(),b)}}},defaults:{object:false,id_prefix:false,async:false},_fn:{model_done:function(data,callback){var ret=[],s=this._get_settings(),_this=this;if(!$.isArray(data)){data=[data]}$.each(data,function(i,nd){var r=nd.getProps()||{};r.attr=nd.getAttr()||{};if(nd.getChildrenCount()){r.state="closed"}r.data=nd.getName();if(!$.isArray(r.data)){r.data=[r.data]}if(_this.data.types&&$.isFunction(nd.getType)){r.attr[s.types.type_attr]=nd.getType()}if(r.attr.id&&s.model.id_prefix){r.attr.id=s.model.id_prefix+r.attr.id}if(!r.metadata){r.metadata={}}r.metadata.jstree_model=nd;ret.push(r)});callback.call(null,ret)}}})})(jQuery)})();(function($){$.extend({metadata:{defaults:{type:"class",name:"metadata",cre:/({.*})/,single:"metadata"},setType:function(type,name){this.defaults.type=type;this.defaults.name=name},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single="metadata";var data=$.data(elem,settings.single);if(data)return data;data="{}";var getData=function(data){if(typeof data!="string")return data;if(data.indexOf("{")<0){data=eval("("+data+")")}};var getObject=function(data){if(typeof data!="string")return data;data=eval("("+data+")");return data};if(settings.type=="html5"){var object={};$(elem.attributes).each(function(){var name=this.nodeName;if(name.match(/^data-/))name=name.replace(/^data-/,"");else return true;object[name]=getObject(this.nodeValue)})}else{if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)data=m[1]}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML)}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr}object=getObject(data.indexOf("{")<0?"{"+data+"}":data)}$.data(elem,settings.single,object);return object}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts)}})(jQuery);(function(jQuery,window,undefined){var warnedAbout={};jQuery.migrateWarnings=[];if(!jQuery.migrateMute&&window.console&&window.console.log){window.console.log("JQMIGRATE: Logging is active")}if(jQuery.migrateTrace===undefined){jQuery.migrateTrace=true}jQuery.migrateReset=function(){warnedAbout={};jQuery.migrateWarnings.length=0};function migrateWarn(msg){var console=window.console;if(!warnedAbout[msg]){warnedAbout[msg]=true;jQuery.migrateWarnings.push(msg);if(console&&console.warn&&!jQuery.migrateMute){console.warn("JQMIGRATE: "+msg);if(jQuery.migrateTrace&&console.trace){console.trace()}}}}function migrateWarnProp(obj,prop,value,msg){if(Object.defineProperty){try{Object.defineProperty(obj,prop,{configurable:true,enumerable:true,get:function(){migrateWarn(msg);return value},set:function(newValue){migrateWarn(msg);value=newValue}});return}catch(err){}}jQuery._definePropertyBroken=true;obj[prop]=value}if(document.compatMode==="BackCompat"){migrateWarn("jQuery is not compatible with Quirks Mode")}var attrFn=jQuery("<input/>",{size:1}).attr("size")&&jQuery.attrFn,oldAttr=jQuery.attr,valueAttrGet=jQuery.attrHooks.value&&jQuery.attrHooks.value.get||function(){return null},valueAttrSet=jQuery.attrHooks.value&&jQuery.attrHooks.value.set||function(){return undefined},rnoType=/^(?:input|button)$/i,rnoAttrNodeType=/^[238]$/,rboolean=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,ruseDefault=/^(?:checked|selected)$/i;migrateWarnProp(jQuery,"attrFn",attrFn||{},"jQuery.attrFn is deprecated");jQuery.attr=function(elem,name,value,pass){var lowerName=name.toLowerCase(),nType=elem&&elem.nodeType;if(pass){if(oldAttr.length<4){migrateWarn("jQuery.fn.attr( props, pass ) is deprecated")}if(elem&&!rnoAttrNodeType.test(nType)&&(attrFn?name in attrFn:jQuery.isFunction(jQuery.fn[name]))){return jQuery(elem)[name](value)}}if(name==="type"&&value!==undefined&&rnoType.test(elem.nodeName)&&elem.parentNode){migrateWarn("Can't change the 'type' of an input or button in IE 6/7/8")}if(!jQuery.attrHooks[lowerName]&&rboolean.test(lowerName)){jQuery.attrHooks[lowerName]={get:function(elem,name){var attrNode,property=jQuery.prop(elem,name);return property===true||typeof property!=="boolean"&&(attrNode=elem.getAttributeNode(name))&&attrNode.nodeValue!==false?name.toLowerCase():undefined},set:function(elem,value,name){var propName;if(value===false){jQuery.removeAttr(elem,name)}else{propName=jQuery.propFix[name]||name;if(propName in elem){elem[propName]=true}elem.setAttribute(name,name.toLowerCase())}return name}};if(ruseDefault.test(lowerName)){migrateWarn("jQuery.fn.attr('"+lowerName+"') may use property instead of attribute")}}return oldAttr.call(jQuery,elem,name,value)};jQuery.attrHooks.value={get:function(elem,name){var nodeName=(elem.nodeName||"").toLowerCase();if(nodeName==="button"){return valueAttrGet.apply(this,arguments)}if(nodeName!=="input"&&nodeName!=="option"){migrateWarn("jQuery.fn.attr('value') no longer gets properties")}return name in elem?elem.value:null},set:function(elem,value){var nodeName=(elem.nodeName||"").toLowerCase();if(nodeName==="button"){return valueAttrSet.apply(this,arguments)}if(nodeName!=="input"&&nodeName!=="option"){migrateWarn("jQuery.fn.attr('value', val) no longer sets properties")}elem.value=value}};var matched,browser,oldInit=jQuery.fn.init,oldParseJSON=jQuery.parseJSON,rquickExpr=/^([^<]*)(<[\w\W]+>)([^>]*)$/;jQuery.fn.init=function(selector,context,rootjQuery){var match;if(selector&&typeof selector==="string"&&!jQuery.isPlainObject(context)&&(match=rquickExpr.exec(jQuery.trim(selector)))&&match[0]){if(selector.charAt(0)!=="<"){migrateWarn("$(html) HTML strings must start with '<' character")}if(match[3]){migrateWarn("$(html) HTML text after last tag is ignored")}if(match[0].charAt(0)==="#"){migrateWarn("HTML string cannot start with a '#' character");jQuery.error("JQMIGRATE: Invalid selector string (XSS)")}if(context&&context.context){context=context.context}if(jQuery.parseHTML){return oldInit.call(this,jQuery.parseHTML(match[2],context,true),context,rootjQuery)}}return oldInit.apply(this,arguments)};jQuery.fn.init.prototype=jQuery.fn;jQuery.parseJSON=function(json){if(!json&&json!==null){migrateWarn("jQuery.parseJSON requires a valid JSON string");return null}return oldParseJSON.apply(this,arguments)};jQuery.uaMatch=function(ua){ua=ua.toLowerCase();var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"}};if(!jQuery.browser){matched=jQuery.uaMatch(navigator.userAgent);browser={};if(matched.browser){browser[matched.browser]=true;browser.version=matched.version}if(browser.chrome){browser.webkit=true}else if(browser.webkit){browser.safari=true}jQuery.browser=browser}migrateWarnProp(jQuery,"browser",jQuery.browser,"jQuery.browser is deprecated");jQuery.sub=function(){function jQuerySub(selector,context){return new jQuerySub.fn.init(selector,context)}jQuery.extend(true,jQuerySub,this);jQuerySub.superclass=this;jQuerySub.fn=jQuerySub.prototype=this();jQuerySub.fn.constructor=jQuerySub;jQuerySub.sub=this.sub;jQuerySub.fn.init=function init(selector,context){if(context&&context instanceof jQuery&&!(context instanceof jQuerySub)){context=jQuerySub(context)}return jQuery.fn.init.call(this,selector,context,rootjQuerySub)};jQuerySub.fn.init.prototype=jQuerySub.fn;var rootjQuerySub=jQuerySub(document);migrateWarn("jQuery.sub() is deprecated");return jQuerySub};jQuery.ajaxSetup({converters:{"text json":jQuery.parseJSON}});var oldFnData=jQuery.fn.data;jQuery.fn.data=function(name){var ret,evt,elem=this[0];if(elem&&name==="events"&&arguments.length===1){ret=jQuery.data(elem,name);evt=jQuery._data(elem,name);if((ret===undefined||ret===evt)&&evt!==undefined){migrateWarn("Use of jQuery.fn.data('events') is deprecated");return evt}}return oldFnData.apply(this,arguments)};var rscriptType=/\/(java|ecma)script/i,oldSelf=jQuery.fn.andSelf||jQuery.fn.addBack;jQuery.fn.andSelf=function(){migrateWarn("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()");return oldSelf.apply(this,arguments)};if(!jQuery.clean){jQuery.clean=function(elems,context,fragment,scripts){context=context||document;context=!context.nodeType&&context[0]||context;context=context.ownerDocument||context;migrateWarn("jQuery.clean() is deprecated");var i,elem,handleScript,jsTags,ret=[];jQuery.merge(ret,jQuery.buildFragment(elems,context).childNodes);if(fragment){handleScript=function(elem){if(!elem.type||rscriptType.test(elem.type)){return scripts?scripts.push(elem.parentNode?elem.parentNode.removeChild(elem):elem):fragment.appendChild(elem)}};for(i=0;(elem=ret[i])!=null;i++){if(!(jQuery.nodeName(elem,"script")&&handleScript(elem))){fragment.appendChild(elem);if(typeof elem.getElementsByTagName!=="undefined"){jsTags=jQuery.grep(jQuery.merge([],elem.getElementsByTagName("script")),handleScript);ret.splice.apply(ret,[i+1,0].concat(jsTags));i+=jsTags.length}}}}return ret}}var eventAdd=jQuery.event.add,eventRemove=jQuery.event.remove,eventTrigger=jQuery.event.trigger,oldToggle=jQuery.fn.toggle,oldLive=jQuery.fn.live,oldDie=jQuery.fn.die,ajaxEvents="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",rajaxEvent=new RegExp("\\b(?:"+ajaxEvents+")\\b"),rhoverHack=/(?:^|\s)hover(\.\S+|)\b/,hoverHack=function(events){if(typeof events!=="string"||jQuery.event.special.hover){return events}if(rhoverHack.test(events)){migrateWarn("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'")}return events&&events.replace(rhoverHack,"mouseenter$1 mouseleave$1")};if(jQuery.event.props&&jQuery.event.props[0]!=="attrChange"){jQuery.event.props.unshift("attrChange","attrName","relatedNode","srcElement")}if(jQuery.event.dispatch){migrateWarnProp(jQuery.event,"handle",jQuery.event.dispatch,"jQuery.event.handle is undocumented and deprecated")}jQuery.event.add=function(elem,types,handler,data,selector){if(elem!==document&&rajaxEvent.test(types)){migrateWarn("AJAX events should be attached to document: "+types)}eventAdd.call(this,elem,hoverHack(types||""),handler,data,selector)};jQuery.event.remove=function(elem,types,handler,selector,mappedTypes){eventRemove.call(this,elem,hoverHack(types)||"",handler,selector,mappedTypes)};jQuery.fn.error=function(){var args=Array.prototype.slice.call(arguments,0);migrateWarn("jQuery.fn.error() is deprecated");args.splice(0,0,"error");if(arguments.length){return this.bind.apply(this,args)}this.triggerHandler.apply(this,args);return this};jQuery.fn.toggle=function(fn,fn2){if(!jQuery.isFunction(fn)||!jQuery.isFunction(fn2)){return oldToggle.apply(this,arguments)}migrateWarn("jQuery.fn.toggle(handler, handler...) is deprecated");var args=arguments,guid=fn.guid||jQuery.guid++,i=0,toggler=function(event){var lastToggle=(jQuery._data(this,"lastToggle"+fn.guid)||0)%i;jQuery._data(this,"lastToggle"+fn.guid,lastToggle+1);event.preventDefault();return args[lastToggle].apply(this,arguments)||false};toggler.guid=guid;while(i<args.length){args[i++].guid=guid}return this.click(toggler)};jQuery.fn.live=function(types,data,fn){migrateWarn("jQuery.fn.live() is deprecated");if(oldLive){return oldLive.apply(this,arguments)}jQuery(this.context).on(types,this.selector,data,fn);return this};jQuery.fn.die=function(types,fn){migrateWarn("jQuery.fn.die() is deprecated");if(oldDie){return oldDie.apply(this,arguments)}jQuery(this.context).off(types,this.selector||"**",fn);return this};jQuery.event.trigger=function(event,data,elem,onlyHandlers){if(!elem&&!rajaxEvent.test(event)){migrateWarn("Global events are undocumented and deprecated")}return eventTrigger.call(this,event,data,elem||document,onlyHandlers)};jQuery.each(ajaxEvents.split("|"),function(_,name){jQuery.event.special[name]={setup:function(){var elem=this;if(elem!==document){jQuery.event.add(document,name+"."+jQuery.guid,function(){jQuery.event.trigger(name,null,elem,true)});jQuery._data(this,name,jQuery.guid++)}return false},teardown:function(){if(this!==document){jQuery.event.remove(document,name+"."+jQuery._data(this,name))}return false}}})})(jQuery,window);(function($){$.fn.hasScrollBar=function(){return this.get(0)?this.get(0).scrollHeight>this.innerHeight():false}})(jQuery);(function($){var types=["DOMMouseScroll","mousewheel"];$.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var i=types.length;i;)this.addEventListener(types[--i],handler,false);else this.onmousewheel=handler},teardown:function(){if(this.removeEventListener)for(var i=types.length;i;)this.removeEventListener(types[--i],handler,false);else this.onmousewheel=null}};$.fn.extend({mousewheel:function(fn){return fn?this.bind("mousewheel",fn):this.trigger("mousewheel")},unmousewheel:function(fn){return this.unbind("mousewheel",fn)}});function handler(event){var args=[].slice.call(arguments,1),delta=0,returnValue=true;event=$.event.fix(event||window.event);event.type="mousewheel";if(event.wheelDelta)delta=event.wheelDelta/120;if(event.detail)delta=-event.detail/3;args.unshift(event,delta);return $.event.handle.apply(this,args)}})(jQuery);(function($){var tips=[],reBgImage=/^url\(["']?([^"'\)]*)["']?\);?$/i,rePNG=/\.png$/i,ie6=!!window.createPopup&&document.documentElement.currentStyle.minWidth=="undefined";function handleWindowResize(){$.each(tips,function(){this.refresh(true)})}$(window).resize(handleWindowResize);$.Poshytip=function(elm,options){this.$elm=$(elm);this.opts=$.extend({},$.fn.poshytip.defaults,options);this.$tip=$(['<div class="',this.opts.className,'">','<div class="tip-inner tip-bg-image"></div>','<div class="tip-arrow tip-arrow-top tip-arrow-right tip-arrow-bottom tip-arrow-left"></div>',"</div>"].join("")).appendTo(document.body);this.$arrow=this.$tip.find("div.tip-arrow");this.$inner=this.$tip.find("div.tip-inner");this.disabled=false;this.content=null;this.init()};$.Poshytip.prototype={init:function(){tips.push(this);var title=this.$elm.attr("title");this.$elm.data("title.poshytip",title!==undefined?title:null).data("poshytip",this);if(this.opts.showOn!="none"){this.$elm.bind({"mouseenter.poshytip":$.proxy(this.mouseenter,this),"mouseleave.poshytip":$.proxy(this.mouseleave,this)});switch(this.opts.showOn){case"hover":if(this.opts.alignTo=="cursor")this.$elm.bind("mousemove.poshytip",$.proxy(this.mousemove,this));if(this.opts.allowTipHover)this.$tip.hover($.proxy(this.clearTimeouts,this),$.proxy(this.mouseleave,this));break;case"focus":this.$elm.bind({"focus.poshytip":$.proxy(this.showDelayed,this),"blur.poshytip":$.proxy(this.hideDelayed,this)});break}}},mouseenter:function(e){if(this.disabled)return true;this.$elm.attr("title","");if(this.opts.showOn=="focus")return true;this.showDelayed()},mouseleave:function(e){if(this.disabled||this.asyncAnimating&&(this.$tip[0]===e.relatedTarget||jQuery.contains(this.$tip[0],e.relatedTarget)))return true;if(!this.$tip.data("active")){var title=this.$elm.data("title.poshytip");if(title!==null)this.$elm.attr("title",title)}if(this.opts.showOn=="focus")return true;this.hideDelayed()},mousemove:function(e){if(this.disabled)return true;this.eventX=e.pageX;this.eventY=e.pageY;if(this.opts.followCursor&&this.$tip.data("active")){this.calcPos();this.$tip.css({left:this.pos.l,top:this.pos.t});if(this.pos.arrow)this.$arrow[0].className="tip-arrow tip-arrow-"+this.pos.arrow}},show:function(){if(this.disabled||this.$tip.data("active"))return;this.reset();this.update();if(!this.content)return;this.display();if(this.opts.timeOnScreen)this.hideDelayed(this.opts.timeOnScreen)},showDelayed:function(timeout){this.clearTimeouts();this.showTimeout=setTimeout($.proxy(this.show,this),typeof timeout=="number"?timeout:this.opts.showTimeout)},hide:function(){if(this.disabled||!this.$tip.data("active"))return;this.display(true)},hideDelayed:function(timeout){this.clearTimeouts();this.hideTimeout=setTimeout($.proxy(this.hide,this),typeof timeout=="number"?timeout:this.opts.hideTimeout)},reset:function(){this.$tip.queue([]).detach().css("visibility","hidden").data("active",false);this.$inner.find("*").poshytip("hide");if(this.opts.fade)this.$tip.css("opacity",this.opacity);this.$arrow[0].className="tip-arrow tip-arrow-top tip-arrow-right tip-arrow-bottom tip-arrow-left";this.asyncAnimating=false},update:function(content,dontOverwriteOption){if(this.disabled)return;var async=content!==undefined;if(async){if(!dontOverwriteOption)this.opts.content=content;if(!this.$tip.data("active"))return}else{content=this.opts.content}var self=this,newContent=typeof content=="function"?content.call(this.$elm[0],function(newContent){self.update(newContent)}):content=="[title]"?this.$elm.data("title.poshytip"):content;if(this.content!==newContent){this.$inner.empty().append(newContent);this.content=newContent}this.refresh(async)},refresh:function(async){if(this.disabled)return;if(async){if(!this.$tip.data("active"))return;var currPos={left:this.$tip.css("left"),top:this.$tip.css("top")}}this.$tip.css({left:0,top:0}).appendTo(document.body);if(this.opacity===undefined)this.opacity=this.$tip.css("opacity");var bgImage=this.$tip.css("background-image").match(reBgImage),arrow=this.$arrow.css("background-image").match(reBgImage);if(bgImage){var bgImagePNG=rePNG.test(bgImage[1]);if(ie6&&bgImagePNG){this.$tip.css("background-image","none");this.$inner.css({margin:0,border:0,padding:0});bgImage=bgImagePNG=false}else{this.$tip.prepend('<table class="tip-table" border="0" cellpadding="0" cellspacing="0"><tr><td class="tip-top tip-bg-image" colspan="2"><span></span></td><td class="tip-right tip-bg-image" rowspan="2"><span></span></td></tr><tr><td class="tip-left tip-bg-image" rowspan="2"><span></span></td><td></td></tr><tr><td class="tip-bottom tip-bg-image" colspan="2"><span></span></td></tr></table>').css({border:0,padding:0,"background-image":"none","background-color":"transparent"}).find(".tip-bg-image").css("background-image",'url("'+bgImage[1]+'")').end().find("td").eq(3).append(this.$inner)}if(bgImagePNG&&!$.support.opacity)this.opts.fade=false}if(arrow&&!$.support.opacity){if(ie6&&rePNG.test(arrow[1])){arrow=false;this.$arrow.css("background-image","none")}this.opts.fade=false}var $table=this.$tip.find("> table.tip-table");if(ie6){this.$tip[0].style.width="";$table.width("auto").find("td").eq(3).width("auto");var tipW=this.$tip.width(),minW=parseInt(this.$tip.css("min-width")),maxW=parseInt(this.$tip.css("max-width"));if(!isNaN(minW)&&tipW<minW)tipW=minW;else if(!isNaN(maxW)&&tipW>maxW)tipW=maxW;this.$tip.add($table).width(tipW).eq(0).find("td").eq(3).width("100%")}else if($table[0]){$table.width("auto").find("td").eq(3).width("auto").end().end().width(document.defaultView&&document.defaultView.getComputedStyle&&parseFloat(document.defaultView.getComputedStyle(this.$tip[0],null).width)||this.$tip.width()).find("td").eq(3).width("100%")}this.tipOuterW=this.$tip.outerWidth();this.tipOuterH=this.$tip.outerHeight();this.calcPos();if(arrow&&this.pos.arrow){this.$arrow[0].className="tip-arrow tip-arrow-"+this.pos.arrow;this.$arrow.css("visibility","inherit")}if(async&&this.opts.refreshAniDuration){this.asyncAnimating=true;var self=this;this.$tip.css(currPos).animate({left:this.pos.l,top:this.pos.t},this.opts.refreshAniDuration,function(){self.asyncAnimating=false})}else{this.$tip.css({left:this.pos.l,top:this.pos.t})}},display:function(hide){var active=this.$tip.data("active");if(active&&!hide||!active&&hide)return;this.$tip.stop();if((this.opts.slide&&this.pos.arrow||this.opts.fade)&&(hide&&this.opts.hideAniDuration||!hide&&this.opts.showAniDuration)){var from={},to={};if(this.opts.slide&&this.pos.arrow){var prop,arr;if(this.pos.arrow=="bottom"||this.pos.arrow=="top"){prop="top";arr="bottom"}else{prop="left";arr="right"}var val=parseInt(this.$tip.css(prop));from[prop]=val+(hide?0:this.pos.arrow==arr?-this.opts.slideOffset:this.opts.slideOffset);to[prop]=val+(hide?this.pos.arrow==arr?this.opts.slideOffset:-this.opts.slideOffset:0)+"px"}if(this.opts.fade){from.opacity=hide?this.$tip.css("opacity"):0;to.opacity=hide?0:this.opacity}this.$tip.css(from).animate(to,this.opts[hide?"hideAniDuration":"showAniDuration"])}hide?this.$tip.queue($.proxy(this.reset,this)):this.$tip.css("visibility","inherit");if(active){var title=this.$elm.data("title.poshytip");if(title!==null)this.$elm.attr("title",title)}this.$tip.data("active",!active)},disable:function(){this.reset();this.disabled=true},enable:function(){this.disabled=false},destroy:function(){this.reset();this.$tip.remove();delete this.$tip;this.content=null;this.$elm.unbind(".poshytip").removeData("title.poshytip").removeData("poshytip");tips.splice($.inArray(this,tips),1)},clearTimeouts:function(){if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=0}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}},calcPos:function(){var pos={l:0,t:0,arrow:""},$win=$(window),win={l:$win.scrollLeft(),t:$win.scrollTop(),w:$win.width(),h:$win.height()},xL,xC,xR,yT,yC,yB;if(this.opts.alignTo=="cursor"){xL=xC=xR=this.eventX;yT=yC=yB=this.eventY}else{var elmOffset=this.$elm.offset(),elm={l:elmOffset.left,t:elmOffset.top,w:this.$elm.outerWidth(),h:this.$elm.outerHeight()};xL=elm.l+(this.opts.alignX!="inner-right"?0:elm.w);xC=xL+Math.floor(elm.w/2);xR=xL+(this.opts.alignX!="inner-left"?elm.w:0);yT=elm.t+(this.opts.alignY!="inner-bottom"?0:elm.h);yC=yT+Math.floor(elm.h/2);yB=yT+(this.opts.alignY!="inner-top"?elm.h:0)}switch(this.opts.alignX){case"right":case"inner-left":pos.l=xR+this.opts.offsetX;if(this.opts.keepInViewport&&pos.l+this.tipOuterW>win.l+win.w)pos.l=win.l+win.w-this.tipOuterW;if(this.opts.alignX=="right"||this.opts.alignY=="center")pos.arrow="left";break;case"center":pos.l=xC-Math.floor(this.tipOuterW/2);if(this.opts.keepInViewport){if(pos.l+this.tipOuterW>win.l+win.w)pos.l=win.l+win.w-this.tipOuterW;else if(pos.l<win.l)pos.l=win.l}break;default:pos.l=xL-this.tipOuterW-this.opts.offsetX;if(this.opts.keepInViewport&&pos.l<win.l)pos.l=win.l;if(this.opts.alignX=="left"||this.opts.alignY=="center")pos.arrow="right"}switch(this.opts.alignY){case"bottom":case"inner-top":pos.t=yB+this.opts.offsetY;if(!pos.arrow||this.opts.alignTo=="cursor")pos.arrow="top";if(this.opts.keepInViewport&&pos.t+this.tipOuterH>win.t+win.h){pos.t=yT-this.tipOuterH-this.opts.offsetY;if(pos.arrow=="top")pos.arrow="bottom"}break;case"center":pos.t=yC-Math.floor(this.tipOuterH/2);if(this.opts.keepInViewport){if(pos.t+this.tipOuterH>win.t+win.h)pos.t=win.t+win.h-this.tipOuterH;else if(pos.t<win.t)pos.t=win.t}break;default:pos.t=yT-this.tipOuterH-this.opts.offsetY;if(!pos.arrow||this.opts.alignTo=="cursor")pos.arrow="bottom";if(this.opts.keepInViewport&&pos.t<win.t){pos.t=yB+this.opts.offsetY;if(pos.arrow=="bottom")pos.arrow="top"}}this.pos=pos}};$.fn.poshytip=function(options){if(typeof options=="string"){var args=arguments,method=options;Array.prototype.shift.call(args);if(method=="destroy"){this.die?this.die("mouseenter.poshytip").die("focus.poshytip"):$(document).undelegate(this.selector,"mouseenter.poshytip").undelegate(this.selector,"focus.poshytip")}return this.each(function(){var poshytip=$(this).data("poshytip");if(poshytip&&poshytip[method])poshytip[method].apply(poshytip,args)})}var opts=$.extend({},$.fn.poshytip.defaults,options);if(!$("#poshytip-css-"+opts.className)[0])$(['<style id="poshytip-css-',opts.className,'" type="text/css">',"div.",opts.className,"{visibility:hidden;position:absolute;top:0;left:0;}","div.",opts.className," table.tip-table, div.",opts.className," table.tip-table td{margin:0;font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;font-variant:inherit;vertical-align:middle;}","div.",opts.className," td.tip-bg-image span{display:block;font:1px/1px sans-serif;height:",opts.bgImageFrameSize,"px;width:",opts.bgImageFrameSize,"px;overflow:hidden;}","div.",opts.className," td.tip-right{background-position:100% 0;}","div.",opts.className," td.tip-bottom{background-position:100% 100%;}","div.",opts.className," td.tip-left{background-position:0 100%;}","div.",opts.className," div.tip-inner{background-position:-",opts.bgImageFrameSize,"px -",opts.bgImageFrameSize,"px;}","div.",opts.className," div.tip-arrow{visibility:hidden;position:absolute;overflow:hidden;font:1px/1px sans-serif;}","</style>"].join("")).appendTo("head");if(opts.liveEvents&&opts.showOn!="none"){var handler,deadOpts=$.extend({},opts,{liveEvents:false});switch(opts.showOn){case"hover":handler=function(){var $this=$(this);if(!$this.data("poshytip"))$this.poshytip(deadOpts).poshytip("mouseenter")};this.live?this.live("mouseenter.poshytip",handler):$(document).delegate(this.selector,"mouseenter.poshytip",handler);break;case"focus":handler=function(){var $this=$(this);if(!$this.data("poshytip"))$this.poshytip(deadOpts).poshytip("showDelayed")};this.live?this.live("focus.poshytip",handler):$(document).delegate(this.selector,"focus.poshytip",handler);break}return this}return this.each(function(){new $.Poshytip(this,opts)})};$.fn.poshytip.defaults={content:"[title]",className:"tip-yellow",bgImageFrameSize:10,showTimeout:500,hideTimeout:100,timeOnScreen:0,showOn:"hover",liveEvents:false,alignTo:"cursor",alignX:"right",alignY:"top",offsetX:-22,offsetY:18,keepInViewport:true,allowTipHover:true,followCursor:false,fade:true,slide:true,slideOffset:8,showAniDuration:300,hideAniDuration:300,refreshAniDuration:200}})(jQuery);if(window.jQuery)(function($){if(!$.support.opacity&&!$.support.style)try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}$.fn.rating=function(options){if(this.length==0)return this;if(typeof arguments[0]=="string"){if(this.length>1){var args=arguments;return this.each(function(){$.fn.rating.apply($(this),args)})}$.fn.rating[arguments[0]].apply(this,$.makeArray(arguments).slice(1)||[]);return this}var options=$.extend({},$.fn.rating.options,options||{});$.fn.rating.calls++;this.not(".star-rating-applied").addClass("star-rating-applied").each(function(){var control,input=$(this);var eid=(this.name||"unnamed-rating").replace(/\[|\]/g,"_").replace(/^\_+|\_+$/g,"");var context=$(this.form||document.body);var raters=context.data("rating");if(!raters||raters.call!=$.fn.rating.calls)raters={count:0,call:$.fn.rating.calls};var rater=raters[eid]||context.data("rating"+eid);if(rater)control=rater.data("rating");if(rater&&control)control.count++;else{control=$.extend({},options||{},($.metadata?input.metadata():$.meta?input.data():null)||{},{count:0,stars:[],inputs:[]});control.serial=raters.count++;rater=$('<span class="star-rating-control"/>');input.before(rater);rater.addClass("rating-to-be-drawn");if(input.attr("disabled")||input.hasClass("disabled"))control.readOnly=true;if(input.hasClass("required"))control.required=true;rater.append(control.cancel=$('<div class="rating-cancel"><a title="'+control.cancel+'">'+control.cancelValue+"</a></div>").on("mouseover",function(){$(this).rating("drain");$(this).addClass("star-rating-hover")}).on("mouseout",function(){$(this).rating("draw");$(this).removeClass("star-rating-hover")}).on("click",function(){$(this).rating("select")}).data("rating",control))}var star=$('<div role="text" aria-label="'+this.title+'" class="star-rating rater-'+control.serial+'"><a title="'+(this.title||this.value)+'">'+this.value+"</a></div>");rater.append(star);if(this.id)star.attr("id",this.id);if(this.className)star.addClass(this.className);if(control.half)control.split=2;if(typeof control.split=="number"&&control.split>0){var stw=($.fn.width?star.width():0)||control.starWidth;var spi=control.count%control.split,spw=Math.floor(stw/control.split);star.width(spw).find("a").css({"margin-left":"-"+spi*spw+"px"})}if(control.readOnly)star.addClass("star-rating-readonly");else star.addClass("star-rating-live").on("mouseover",function(){$(this).rating("fill");$(this).rating("focus")}).on("mouseout",function(){$(this).rating("draw");$(this).rating("blur")}).on("click",function(){$(this).rating("select")});if(this.checked)control.current=star;if(this.nodeName=="A"){if($(this).hasClass("selected"))control.current=star}input.hide();input.on("change.rating",function(event){if(event.selfTriggered)return false;$(this).rating("select")});star.data("rating.input",input.data("rating.star",star));
control.stars[control.stars.length]=star[0];control.inputs[control.inputs.length]=input[0];control.rater=raters[eid]=rater;control.context=context;input.data("rating",control);rater.data("rating",control);star.data("rating",control);context.data("rating",raters);context.data("rating"+eid,rater)});$(".rating-to-be-drawn").rating("draw").removeClass("rating-to-be-drawn");return this};$.extend($.fn.rating,{calls:0,focus:function(){var control=this.data("rating");if(!control)return this;if(!control.focus)return this;var input=$(this).data("rating.input")||$(this.tagName=="INPUT"?this:null);if(control.focus)control.focus.apply(input[0],[input.val(),$("a",input.data("rating.star"))[0]])},blur:function(){var control=this.data("rating");if(!control)return this;if(!control.blur)return this;var input=$(this).data("rating.input")||$(this.tagName=="INPUT"?this:null);if(control.blur)control.blur.apply(input[0],[input.val(),$("a",input.data("rating.star"))[0]])},fill:function(){var control=this.data("rating");if(!control)return this;if(control.readOnly)return;this.rating("drain");this.prevAll().addBack().filter(".rater-"+control.serial).addClass("star-rating-hover")},drain:function(){var control=this.data("rating");if(!control)return this;if(control.readOnly)return;control.rater.children().filter(".rater-"+control.serial).removeClass("star-rating-on").removeClass("star-rating-hover")},draw:function(){var control=this.data("rating");if(!control)return this;this.rating("drain");var current=$(control.current);var starson=current.length?current.prevAll().addBack().filter(".rater-"+control.serial):null;if(starson)starson.addClass("star-rating-on");control.cancel[control.readOnly||control.required?"hide":"show"]();this.siblings()[control.readOnly?"addClass":"removeClass"]("star-rating-readonly")},select:function(value,wantCallBack){var control=this.data("rating");if(!control)return this;if(control.readOnly)return;control.current=null;if(typeof value!="undefined"||this.length>1){if(typeof value=="number")return $(control.stars[value]).rating("select",undefined,wantCallBack);if(typeof value=="string"){$.each(control.stars,function(){if($(this).data("rating.input").val()==value)$(this).rating("select",undefined,wantCallBack)});return this}}else{control.current=this[0].tagName=="INPUT"?this.data("rating.star"):this.is(".rater-"+control.serial)?this:null}this.data("rating",control);this.rating("draw");var current=$(control.current?control.current.data("rating.input"):null);var lastipt=$(control.inputs).filter(":checked");var deadipt=$(control.inputs).not(current);deadipt.prop("checked",false);current.prop("checked",true);$(current.length?current:lastipt).trigger({type:"change",selfTriggered:true});if((wantCallBack||wantCallBack==undefined)&&control.callback)control.callback.apply(current[0],[current.val(),$("a",control.current)[0]]);return this},readOnly:function(toggle,disable){var control=this.data("rating");if(!control)return this;control.readOnly=toggle||toggle==undefined?true:false;if(disable)$(control.inputs).attr("disabled","disabled");else $(control.inputs).removeAttr("disabled");this.data("rating",control);this.rating("draw")},disable:function(){this.rating("readOnly",true,true)},enable:function(){this.rating("readOnly",false,false)}});$.fn.rating.options={cancel:"Cancel Rating",cancelValue:"",split:0,starWidth:16};$(function(){$("input[type=radio].star").rating()})})(jQuery);(function($){var $scrollTo=$.scrollTo=function(target,duration,settings){$(window).scrollTo(target,duration,settings)};$scrollTo.defaults={axis:"xy",duration:parseFloat($.fn.jquery)>=1.3?0:1};$scrollTo.window=function(scope){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var elem=this,isWin=!elem.nodeName||$.inArray(elem.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!isWin)return elem;var doc=(elem.contentWindow||elem).document||elem.ownerDocument||elem;return $.browser.safari||doc.compatMode=="BackCompat"?doc.body:doc.documentElement})};$.fn.scrollTo=function(target,duration,settings){if(typeof duration=="object"){settings=duration;duration=0}if(typeof settings=="function")settings={onAfter:settings};if(target=="max")target=9e9;settings=$.extend({},$scrollTo.defaults,settings);duration=duration||settings.speed||settings.duration;settings.queue=settings.queue&&settings.axis.length>1;if(settings.queue)duration/=2;settings.offset=both(settings.offset);settings.over=both(settings.over);return this._scrollable().each(function(){var elem=this,$elem=$(elem),targ=target,toff,attr={},win=$elem.is("html,body");switch(typeof targ){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=$(targ,this);case"object":if(targ.is||targ.style)toff=(targ=$(targ)).offset()}$.each(settings.axis.split(""),function(i,axis){var Pos=axis=="x"?"Left":"Top",pos=Pos.toLowerCase(),key="scroll"+Pos,old=elem[key],max=$scrollTo.max(elem,axis);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(settings.margin){attr[key]-=parseInt(targ.css("margin"+Pos))||0;attr[key]-=parseInt(targ.css("border"+Pos+"Width"))||0}attr[key]+=settings.offset[pos]||0;if(settings.over[pos])attr[key]+=targ[axis=="x"?"width":"height"]()*settings.over[pos]}else{var val=targ[pos];attr[key]=val.slice&&val.slice(-1)=="%"?parseFloat(val)/100*max:val}if(/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&settings.queue){if(old!=attr[key])animate(settings.onAfterFirst);delete attr[key]}});animate(settings.onAfter);function animate(callback){$elem.animate(attr,duration,settings.easing,callback&&function(){callback.call(this,target,settings)})}}).end()};$scrollTo.max=function(elem,axis){var Dim=axis=="x"?"Width":"Height",scroll="scroll"+Dim;if(!$(elem).is("html,body"))return elem[scroll]-$(elem)[Dim.toLowerCase()]();var size="client"+Dim,html=elem.ownerDocument.documentElement,body=elem.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[size],body[size])};function both(val){return typeof val=="object"?val:{top:val,left:val}}})(jQuery);(function($){$.extend({tablesorter:new function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:true,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:"/.|,/g",onRenderHeader:null,selectorHeaders:"thead th",debug:false};function benchmark(s,d){log(s+","+((new Date).getTime()-d.getTime())+"ms")}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s)}else{alert(s)}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug=""}if(table.tBodies.length==0)return;var rows=table.tBodies[0].rows;if(rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i<l;i++){var p=false;if($.metadata&&($($headers[i]).metadata()&&$($headers[i]).metadata().sorter)){p=getParserById($($headers[i]).metadata().sorter)}else if(table.config.headers[i]&&table.config.headers[i].sorter){p=getParserById(table.config.headers[i].sorter)}if(!p){p=detectParserForColumn(table,rows,-1,i)}if(table.config.debug){parsersDebug+="column:"+i+" parser:"+p.id+"\n"}list.push(p)}}if(table.config.debug){log(parsersDebug)}return list}function detectParserForColumn(table,rows,rowIndex,cellIndex){var l=parsers.length,node=false,nodeValue=false,keepLooking=true;while(nodeValue==""&&keepLooking){rowIndex++;if(rows[rowIndex]){node=getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex);nodeValue=trimAndGetNodeText(table.config,node);if(table.config.debug){log("Checking if value was empty on row:"+rowIndex)}}else{keepLooking=false}}for(var i=1;i<l;i++){if(parsers[i].is(nodeValue,table,node)){return parsers[i]}}return parsers[0]}function getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex){return rows[rowIndex].cells[cellIndex]}function trimAndGetNodeText(config,node){return $.trim(getElementText(config,node))}function getParserById(name){var l=parsers.length;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==name.toLowerCase()){return parsers[i]}}return false}function buildCache(table){if(table.config.debug){var cacheTime=new Date}var totalRows=table.tBodies[0]&&table.tBodies[0].rows.length||0,totalCells=table.tBodies[0].rows[0]&&table.tBodies[0].rows[0].cells.length||0,parsers=table.config.parsers,cache={row:[],normalized:[]};for(var i=0;i<totalRows;++i){var c=$(table.tBodies[0].rows[i]),cols=[];if(c.hasClass(table.config.cssChildRow)){cache.row[cache.row.length-1]=cache.row[cache.row.length-1].add(c);continue}cache.row.push(c);for(var j=0;j<totalCells;++j){cols.push(parsers[j].format(getElementText(table.config,c[0].cells[j]),table,c[0].cells[j]))}cols.push(cache.normalized.length);cache.normalized.push(cols);cols=null}if(table.config.debug){benchmark("Building cache for "+totalRows+" rows:",cacheTime)}return cache}function getElementText(config,node){var text="";if(!node)return"";if(!config.supportsTextContent)config.supportsTextContent=node.textContent||false;if(config.textExtraction=="simple"){if(config.supportsTextContent){text=node.textContent}else{if(node.childNodes[0]&&node.childNodes[0].hasChildNodes()){text=node.childNodes[0].innerHTML}else{text=node.innerHTML}}}else{if(typeof config.textExtraction=="function"){text=config.textExtraction(node)}else{text=$(node).text()}}return text}function appendToTable(table,cache){if(table.config.debug){var appendTime=new Date}var c=cache,r=c.row,n=c.normalized,totalRows=n.length,checkCell=n[0].length-1,tableBody=$(table.tBodies[0]),rows=[];for(var i=0;i<totalRows;i++){var pos=n[i][checkCell];rows.push(r[pos]);if(!table.config.appender){var l=r[pos].length;for(var j=0;j<l;j++){tableBody[0].appendChild(r[pos][j])}}}if(table.config.appender){table.config.appender(table,rows)}rows=null;if(table.config.debug){benchmark("Rebuilt table:",appendTime)}applyWidget(table);setTimeout(function(){$(table).trigger("sortEnd")},0)}function buildHeaders(table){if(table.config.debug){var time=new Date}var meta=$.metadata?true:false;var header_index=computeTableHeaderCellIndexes(table);$tableHeaders=$(table.config.selectorHeaders,table).each(function(index){this.column=header_index[this.parentNode.rowIndex+"-"+this.cellIndex];this.order=formatSortingOrder(table.config.sortInitialOrder);this.count=this.order;if(checkHeaderMetadata(this)||checkHeaderOptions(table,index))this.sortDisabled=true;if(checkHeaderOptionsSortingLocked(table,index))this.order=this.lockedOrder=checkHeaderOptionsSortingLocked(table,index);if(!this.sortDisabled){var $th=$(this).addClass(table.config.cssHeader);if(table.config.onRenderHeader)table.config.onRenderHeader.apply($th)}table.config.headerList[index]=this});if(table.config.debug){benchmark("Built headers:",time);log($tableHeaders)}return $tableHeaders}function computeTableHeaderCellIndexes(t){var matrix=[];var lookup={};var thead=t.getElementsByTagName("THEAD")[0];var trs=thead.getElementsByTagName("TR");for(var i=0;i<trs.length;i++){var cells=trs[i].cells;for(var j=0;j<cells.length;j++){var c=cells[j];var rowIndex=c.parentNode.rowIndex;var cellId=rowIndex+"-"+c.cellIndex;var rowSpan=c.rowSpan||1;var colSpan=c.colSpan||1;var firstAvailCol;if(typeof matrix[rowIndex]=="undefined"){matrix[rowIndex]=[]}for(var k=0;k<matrix[rowIndex].length+1;k++){if(typeof matrix[rowIndex][k]=="undefined"){firstAvailCol=k;break}}lookup[cellId]=firstAvailCol;for(var k=rowIndex;k<rowIndex+rowSpan;k++){if(typeof matrix[k]=="undefined"){matrix[k]=[]}var matrixrow=matrix[k];for(var l=firstAvailCol;l<firstAvailCol+colSpan;l++){matrixrow[l]="x"}}}}return lookup}function checkCellColSpan(table,rows,row){var arr=[],r=table.tHead.rows,c=r[row].cells;for(var i=0;i<c.length;i++){var cell=c[i];if(cell.colSpan>1){arr=arr.concat(checkCellColSpan(table,headerArr,row++))}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell)}}}return arr}function checkHeaderMetadata(cell){if($.metadata&&$(cell).metadata().sorter===false){return true}return false}function checkHeaderOptions(table,i){if(table.config.headers[i]&&table.config.headers[i].sorter===false){return true}return false}function checkHeaderOptionsSortingLocked(table,i){if(table.config.headers[i]&&table.config.headers[i].lockedOrder)return table.config.headers[i].lockedOrder;return false}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i<l;i++){getWidgetById(c[i]).format(table)}}function getWidgetById(name){var l=widgets.length;for(var i=0;i<l;i++){if(widgets[i].id.toLowerCase()==name.toLowerCase()){return widgets[i]}}}function formatSortingOrder(v){if(typeof v!="Number"){return v.toLowerCase()=="desc"?1:0}else{return v==1?1:0}}function isValueInArray(v,a){var l=a.length;for(var i=0;i<l;i++){if(a[i][0]==v){return true}}return false}function setHeadersCss(table,$headers,list,css){$headers.removeClass(css[0]).removeClass(css[1]);var h=[];$headers.each(function(offset){if(!this.sortDisabled){h[this.column]=$(this)}});var l=list.length;for(var i=0;i<l;i++){h[list[i][0]].addClass(css[list[i][1]])}}function fixColumnWidth(table,$headers){var c=table.config;if(c.widthFixed){var colgroup=$("<colgroup>");$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($("<col>").css("width",$(this).width()))});$(table).prepend(colgroup)}}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i<l;i++){var s=sortList[i],o=c.headerList[s[0]];o.count=s[1];o.count++}}function multisort(table,sortList,cache){if(table.config.debug){var sortTime=new Date}var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0];var order=sortList[i][1];var s=table.config.parsers[c].type=="text"?order==0?makeSortFunction("text","asc",c):makeSortFunction("text","desc",c):order==0?makeSortFunction("numeric","asc",c):makeSortFunction("numeric","desc",c);var e="e"+i;dynamicExp+="var "+e+" = "+s;dynamicExp+="if("+e+") { return "+e+"; } ";dynamicExp+="else { "}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++){dynamicExp+="}; "}dynamicExp+="return 0; ";dynamicExp+="}; ";if(table.config.debug){benchmark("Evaling expression:"+dynamicExp,new Date)}eval(dynamicExp);cache.normalized.sort(sortWrapper);if(table.config.debug){benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime)}return cache}function makeSortFunction(type,direction,index){var a="a["+index+"]",b="b["+index+"]";if(type=="text"&&direction=="asc"){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+a+" < "+b+") ? -1 : 1 )));"}else if(type=="text"&&direction=="desc"){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+b+" < "+a+") ? -1 : 1 )));"}else if(type=="numeric"&&direction=="asc"){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+a+" - "+b+"));"}else if(type=="numeric"&&direction=="desc"){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+b+" - "+a+"));"}}function makeSortText(i){return"((a["+i+"] < b["+i+"]) ? -1 : ((a["+i+"] > b["+i+"]) ? 1 : 0));"}function makeSortTextDesc(i){return"((b["+i+"] < a["+i+"]) ? -1 : ((b["+i+"] > a["+i+"]) ? 1 : 0));"}function makeSortNumeric(i){return"a["+i+"]-b["+i+"];"}function makeSortNumericDesc(i){return"b["+i+"]-a["+i+"];"}function sortText(a,b){if(table.config.sortLocaleCompare)return a.localeCompare(b);return a<b?-1:a>b?1:0}function sortTextDesc(a,b){if(table.config.sortLocaleCompare)return b.localeCompare(a);return b<a?-1:b>a?1:0}function sortNumeric(a,b){return a-b}function sortNumericDesc(a,b){return b-a}function getCachedSortType(parsers,i){return parsers[i].type}this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$.data(this,"tablesorter",config);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){var totalRows=$this[0].tBodies[0]&&$this[0].tBodies[0].rows.length||0;if(!this.sortDisabled&&totalRows>0){$this.trigger("sortStart");var $cell=$(this);var i=this.column;this.order=this.count++%2;if(this.lockedOrder)this.order=this.lockedOrder;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j<a.length;j++){if(a[j][0]!=i){config.sortList.push(a[j])}}}config.sortList.push([i,this.order])}else{if(isValueInArray(i,config.sortList)){for(var j=0;j<config.sortList.length;j++){var s=config.sortList[j],o=config.headerList[s[0]];if(s[0]==i){o.count=s[1];o.count++;s[1]=o.count%2}}}else{config.sortList.push([i,this.order])}}setTimeout(function(){setHeadersCss($this[0],$headers,config.sortList,sortCSS);appendToTable($this[0],multisort($this[0],config.sortList,cache))},1);return false}}).mousedown(function(){if(config.cancelSelection){this.onselectstart=function(){return false};return false}});$this.bind("update",function(){var me=this;setTimeout(function(){me.config.parsers=buildParserCache(me,$headers);cache=buildCache(me)},1)}).bind("updateCell",function(e,cell){var config=this.config;var pos=[cell.parentNode.rowIndex-1,cell.cellIndex];cache.normalized[pos[0]][pos[1]]=config.parsers[pos[1]].format(getElementText(config,cell),cell)}).bind("sorton",function(e,list){$(this).trigger("sortStart");config.sortList=list;var sortList=config.sortList;updateHeaderSortCount(this,sortList);setHeadersCss(this,$headers,sortList,sortCSS);appendToTable(this,multisort(this,sortList,cache))}).bind("appendCache",function(){appendToTable(this,cache)}).bind("applyWidgetId",function(e,id){getWidgetById(id).format(this)}).bind("applyWidgets",function(){applyWidget(this)});if($.metadata&&($(this).metadata()&&$(this).metadata().sortlist)){config.sortList=$(this).metadata().sortlist}if(config.sortList.length>0){$this.trigger("sorton",[config.sortList])}applyWidget(this)})};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==parser.id.toLowerCase()){a=false}}if(a){parsers.push(parser)}};this.addWidget=function(widget){widgets.push(widget)};this.formatFloat=function(s){var i=parseFloat(s);return isNaN(i)?0:i};this.formatInt=function(s){var i=parseInt(s);return isNaN(i)?0:i};this.isDigit=function(s,config){return/^[-+]?\d*$/.test($.trim(s.replace(/[,.']/g,"")))};this.clearTableBody=function(table){if($.browser.msie){function empty(){while(this.firstChild)this.removeChild(this.firstChild)}empty.apply(table.tBodies[0])}else{table.tBodies[0].innerHTML=""}}}});$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(s){return true},format:function(s){return $.trim(s.toLocaleLowerCase())},type:"text"});ts.addParser({id:"digit",is:function(s,table){var c=table.config;return $.tablesorter.isDigit(s,c)},format:function(s){return $.tablesorter.formatFloat(s)},type:"numeric"});ts.addParser({id:"currency",is:function(s){return/^[£$€?.]/.test(s)},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/[£$€]/g),""))},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s)},format:function(s){var a=s.split("."),r="",l=a.length;for(var i=0;i<l;i++){var item=a[i];if(item.length==2){r+="0"+item}else{r+=item}}return $.tablesorter.formatFloat(r)},type:"numeric"});ts.addParser({id:"url",is:function(s){return/^(https?|ftp|file):\/\/$/.test(s)},format:function(s){return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//),""))},type:"text"});ts.addParser({id:"isoDate",is:function(s){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s)},format:function(s){return $.tablesorter.formatFloat(s!=""?new Date(s.replace(new RegExp(/-/g),"/")).getTime():"0")},type:"numeric"});ts.addParser({id:"percent",is:function(s){return/\%$/.test($.trim(s))},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""))},type:"numeric"});ts.addParser({id:"usLongDate",is:function(s){return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/))},format:function(s){return $.tablesorter.formatFloat(new Date(s).getTime())},type:"numeric"});ts.addParser({id:"shortDate",is:function(s){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s)},format:function(s,table){var c=table.config;s=s.replace(/\-/g,"/");if(c.dateFormat=="us"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2")}else if(c.dateFormat=="uk"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1")}else if(c.dateFormat=="dd/mm/yy"||c.dateFormat=="dd-mm-yy"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3")}return $.tablesorter.formatFloat(new Date(s).getTime())},type:"numeric"});ts.addParser({id:"time",is:function(s){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s)},format:function(s){return $.tablesorter.formatFloat(new Date("2000/01/01 "+s).getTime())},type:"numeric"});ts.addParser({id:"metadata",is:function(s){return false},format:function(s,table,cell){var c=table.config,p=!c.parserMetadataName?"sortValue":c.parserMetadataName;return $(cell).metadata()[p]},type:"numeric"});ts.addWidget({id:"zebra",format:function(table){if(table.config.debug){var time=new Date}var $tr,row=-1,odd;$("tr:visible",table.tBodies[0]).each(function(i){$tr=$(this);if(!$tr.hasClass(table.config.cssChildRow))row++;odd=row%2==0;$tr.removeClass(table.config.widgetZebra.css[odd?0:1]).addClass(table.config.widgetZebra.css[odd?1:0])});if(table.config.debug){$.tablesorter.benchmark("Applying Zebra widget",time)}}})})(jQuery);(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else{factory(jQuery)}})(function($){$.ui=$.ui||{};$.extend($.ui,{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}});$.fn.extend({scrollParent:function(includeHidden){var position=this.css("position"),excludeStaticParent=position==="absolute",overflowRegex=includeHidden?/(auto|scroll|hidden)/:/(auto|scroll)/,scrollParent=this.parents().filter(function(){var parent=$(this);if(excludeStaticParent&&parent.css("position")==="static"){return false}return overflowRegex.test(parent.css("overflow")+parent.css("overflow-y")+parent.css("overflow-x"))}).eq(0);return position==="fixed"||!scrollParent.length?$(this[0].ownerDocument||document):scrollParent},uniqueId:function(){var uuid=0;return function(){return this.each(function(){if(!this.id){this.id="ui-id-"+ ++uuid}})}}(),removeUniqueId:function(){return this.each(function(){if(/^ui-id-\d+$/.test(this.id)){$(this).removeAttr("id")}})}});function focusable(element,isTabIndexNotNaN){var map,mapName,img,nodeName=element.nodeName.toLowerCase();if("area"===nodeName){map=element.parentNode;mapName=map.name;if(!element.href||!mapName||map.nodeName.toLowerCase()!=="map"){return false}img=$("img[usemap='#"+mapName+"']")[0];return!!img&&visible(img)}return(/^(input|select|textarea|button|object)$/.test(nodeName)?!element.disabled:"a"===nodeName?element.href||isTabIndexNotNaN:isTabIndexNotNaN)&&visible(element)}function visible(element){return $.expr.filters.visible(element)&&!$(element).parents().addBack().filter(function(){return $.css(this,"visibility")==="hidden"}).length}$.extend($.expr[":"],{data:$.expr.createPseudo?$.expr.createPseudo(function(dataName){return function(elem){return!!$.data(elem,dataName)}}):function(elem,i,match){return!!$.data(elem,match[3])},focusable:function(element){return focusable(element,!isNaN($.attr(element,"tabindex")))},tabbable:function(element){var tabIndex=$.attr(element,"tabindex"),isTabIndexNaN=isNaN(tabIndex);return(isTabIndexNaN||tabIndex>=0)&&focusable(element,!isTabIndexNaN)}});if(!$("<a>").outerWidth(1).jquery){$.each(["Width","Height"],function(i,name){var side=name==="Width"?["Left","Right"]:["Top","Bottom"],type=name.toLowerCase(),orig={innerWidth:$.fn.innerWidth,innerHeight:$.fn.innerHeight,outerWidth:$.fn.outerWidth,outerHeight:$.fn.outerHeight};function reduce(elem,size,border,margin){$.each(side,function(){size-=parseFloat($.css(elem,"padding"+this))||0;if(border){size-=parseFloat($.css(elem,"border"+this+"Width"))||0}if(margin){size-=parseFloat($.css(elem,"margin"+this))||0}});return size}$.fn["inner"+name]=function(size){if(size===undefined){return orig["inner"+name].call(this)}return this.each(function(){$(this).css(type,reduce(this,size)+"px")})};$.fn["outer"+name]=function(size,margin){if(typeof size!=="number"){return orig["outer"+name].call(this,size)}return this.each(function(){$(this).css(type,reduce(this,size,true,margin)+"px")})}})}if(!$.fn.addBack){$.fn.addBack=function(selector){return this.add(selector==null?this.prevObject:this.prevObject.filter(selector))}}if($("<a>").data("a-b","a").removeData("a-b").data("a-b")){$.fn.removeData=function(removeData){return function(key){if(arguments.length){return removeData.call(this,$.camelCase(key))}else{return removeData.call(this)}}}($.fn.removeData)}$.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());$.fn.extend({focus:function(orig){return function(delay,fn){return typeof delay==="number"?this.each(function(){var elem=this;setTimeout(function(){$(elem).focus();if(fn){fn.call(elem)}},delay)}):orig.apply(this,arguments)}}($.fn.focus),disableSelection:function(){var eventType="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(eventType+".ui-disableSelection",function(event){event.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(zIndex){if(zIndex!==undefined){return this.css("zIndex",zIndex)}if(this.length){var elem=$(this[0]),position,value;while(elem.length&&elem[0]!==document){position=elem.css("position");if(position==="absolute"||position==="relative"||position==="fixed"){value=parseInt(elem.css("zIndex"),10);if(!isNaN(value)&&value!==0){return value}}elem=elem.parent()}}return 0}});$.ui.plugin={add:function(module,option,set){var i,proto=$.ui[module].prototype;for(i in set){proto.plugins[i]=proto.plugins[i]||[];proto.plugins[i].push([option,set[i]])}},call:function(instance,name,args,allowDisconnected){var i,set=instance.plugins[name];if(!set){return}if(!allowDisconnected&&(!instance.element[0].parentNode||instance.element[0].parentNode.nodeType===11)){return}for(i=0;i<set.length;i++){if(instance.options[set[i][0]]){set[i][1].apply(instance.element,args)}}}};var widget_uuid=0,widget_slice=Array.prototype.slice;$.cleanData=function(orig){return function(elems){var events,elem,i;for(i=0;(elem=elems[i])!=null;i++){try{events=$._data(elem,"events");if(events&&events.remove){$(elem).triggerHandler("remove")}}catch(e){}}orig(elems)}}($.cleanData);$.widget=function(name,base,prototype){var fullName,existingConstructor,constructor,basePrototype,proxiedPrototype={},namespace=name.split(".")[0];name=name.split(".")[1];fullName=namespace+"-"+name;if(!prototype){prototype=base;base=$.Widget}$.expr[":"][fullName.toLowerCase()]=function(elem){return!!$.data(elem,fullName)};$[namespace]=$[namespace]||{};existingConstructor=$[namespace][name];constructor=$[namespace][name]=function(options,element){if(!this._createWidget){return new constructor(options,element)}if(arguments.length){this._createWidget(options,element)}};$.extend(constructor,existingConstructor,{version:prototype.version,_proto:$.extend({},prototype),_childConstructors:[]});basePrototype=new base;basePrototype.options=$.widget.extend({},basePrototype.options);$.each(prototype,function(prop,value){if(!$.isFunction(value)){proxiedPrototype[prop]=value;return}proxiedPrototype[prop]=function(){var _super=function(){return base.prototype[prop].apply(this,arguments)},_superApply=function(args){return base.prototype[prop].apply(this,args)};return function(){var __super=this._super,__superApply=this._superApply,returnValue;this._super=_super;this._superApply=_superApply;returnValue=value.apply(this,arguments);this._super=__super;this._superApply=__superApply;return returnValue}}()});constructor.prototype=$.widget.extend(basePrototype,{widgetEventPrefix:existingConstructor?basePrototype.widgetEventPrefix||name:name},proxiedPrototype,{constructor:constructor,namespace:namespace,widgetName:name,widgetFullName:fullName});if(existingConstructor){$.each(existingConstructor._childConstructors,function(i,child){var childPrototype=child.prototype;$.widget(childPrototype.namespace+"."+childPrototype.widgetName,constructor,child._proto)});delete existingConstructor._childConstructors}else{base._childConstructors.push(constructor)}$.widget.bridge(name,constructor);return constructor};$.widget.extend=function(target){var input=widget_slice.call(arguments,1),inputIndex=0,inputLength=input.length,key,value;for(;inputIndex<inputLength;inputIndex++){for(key in input[inputIndex]){value=input[inputIndex][key];if(input[inputIndex].hasOwnProperty(key)&&value!==undefined){if($.isPlainObject(value)){target[key]=$.isPlainObject(target[key])?$.widget.extend({},target[key],value):$.widget.extend({},value)}else{target[key]=value}}}}return target};$.widget.bridge=function(name,object){var fullName=object.prototype.widgetFullName||name;$.fn[name]=function(options){var isMethodCall=typeof options==="string",args=widget_slice.call(arguments,1),returnValue=this;if(isMethodCall){this.each(function(){var methodValue,instance=$.data(this,fullName);if(options==="instance"){returnValue=instance;return false}if(!instance){return $.error("cannot call methods on "+name+" prior to initialization; "+"attempted to call method '"+options+"'")}if(!$.isFunction(instance[options])||options.charAt(0)==="_"){return $.error("no such method '"+options+"' for "+name+" widget instance")}methodValue=instance[options].apply(instance,args);if(methodValue!==instance&&methodValue!==undefined){returnValue=methodValue&&methodValue.jquery?returnValue.pushStack(methodValue.get()):methodValue;return false}})}else{if(args.length){options=$.widget.extend.apply(null,[options].concat(args))}this.each(function(){var instance=$.data(this,fullName);if(instance){instance.option(options||{});if(instance._init){instance._init()}}else{$.data(this,fullName,new object(options,this))}})}return returnValue}};$.Widget=function(){};$.Widget._childConstructors=[];$.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:false,create:null},_createWidget:function(options,element){element=$(element||this.defaultElement||this)[0];this.element=$(element);this.uuid=widget_uuid++;this.eventNamespace="."+this.widgetName+this.uuid;this.bindings=$();this.hoverable=$();this.focusable=$();if(element!==this){$.data(element,this.widgetFullName,this);this._on(true,this.element,{remove:function(event){if(event.target===element){this.destroy()}}});this.document=$(element.style?element.ownerDocument:element.document||element);this.window=$(this.document[0].defaultView||this.document[0].parentWindow)}this.options=$.widget.extend({},this.options,this._getCreateOptions(),options);this._create();this._trigger("create",null,this._getCreateEventData());this._init()},_getCreateOptions:$.noop,_getCreateEventData:$.noop,_create:$.noop,_init:$.noop,destroy:function(){this._destroy();
this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData($.camelCase(this.widgetFullName));this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled");this.bindings.unbind(this.eventNamespace);this.hoverable.removeClass("ui-state-hover");this.focusable.removeClass("ui-state-focus")},_destroy:$.noop,widget:function(){return this.element},option:function(key,value){var options=key,parts,curOption,i;if(arguments.length===0){return $.widget.extend({},this.options)}if(typeof key==="string"){options={};parts=key.split(".");key=parts.shift();if(parts.length){curOption=options[key]=$.widget.extend({},this.options[key]);for(i=0;i<parts.length-1;i++){curOption[parts[i]]=curOption[parts[i]]||{};curOption=curOption[parts[i]]}key=parts.pop();if(arguments.length===1){return curOption[key]===undefined?null:curOption[key]}curOption[key]=value}else{if(arguments.length===1){return this.options[key]===undefined?null:this.options[key]}options[key]=value}}this._setOptions(options);return this},_setOptions:function(options){var key;for(key in options){this._setOption(key,options[key])}return this},_setOption:function(key,value){this.options[key]=value;if(key==="disabled"){this.widget().toggleClass(this.widgetFullName+"-disabled",!!value);if(value){this.hoverable.removeClass("ui-state-hover");this.focusable.removeClass("ui-state-focus")}}return this},enable:function(){return this._setOptions({disabled:false})},disable:function(){return this._setOptions({disabled:true})},_on:function(suppressDisabledCheck,element,handlers){var delegateElement,instance=this;if(typeof suppressDisabledCheck!=="boolean"){handlers=element;element=suppressDisabledCheck;suppressDisabledCheck=false}if(!handlers){handlers=element;element=this.element;delegateElement=this.widget()}else{element=delegateElement=$(element);this.bindings=this.bindings.add(element)}$.each(handlers,function(event,handler){function handlerProxy(){if(!suppressDisabledCheck&&(instance.options.disabled===true||$(this).hasClass("ui-state-disabled"))){return}return(typeof handler==="string"?instance[handler]:handler).apply(instance,arguments)}if(typeof handler!=="string"){handlerProxy.guid=handler.guid=handler.guid||handlerProxy.guid||$.guid++}var match=event.match(/^([\w:-]*)\s*(.*)$/),eventName=match[1]+instance.eventNamespace,selector=match[2];if(selector){delegateElement.delegate(selector,eventName,handlerProxy)}else{element.bind(eventName,handlerProxy)}})},_off:function(element,eventName){eventName=(eventName||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace;element.unbind(eventName).undelegate(eventName);this.bindings=$(this.bindings.not(element).get());this.focusable=$(this.focusable.not(element).get());this.hoverable=$(this.hoverable.not(element).get())},_delay:function(handler,delay){function handlerProxy(){return(typeof handler==="string"?instance[handler]:handler).apply(instance,arguments)}var instance=this;return setTimeout(handlerProxy,delay||0)},_hoverable:function(element){this.hoverable=this.hoverable.add(element);this._on(element,{mouseenter:function(event){$(event.currentTarget).addClass("ui-state-hover")},mouseleave:function(event){$(event.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(element){this.focusable=this.focusable.add(element);this._on(element,{focusin:function(event){$(event.currentTarget).addClass("ui-state-focus")},focusout:function(event){$(event.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(type,event,data){var prop,orig,callback=this.options[type];data=data||{};event=$.Event(event);event.type=(type===this.widgetEventPrefix?type:this.widgetEventPrefix+type).toLowerCase();event.target=this.element[0];orig=event.originalEvent;if(orig){for(prop in orig){if(!(prop in event)){event[prop]=orig[prop]}}}this.element.trigger(event,data);return!($.isFunction(callback)&&callback.apply(this.element[0],[event].concat(data))===false||event.isDefaultPrevented())}};$.each({show:"fadeIn",hide:"fadeOut"},function(method,defaultEffect){$.Widget.prototype["_"+method]=function(element,options,callback){if(typeof options==="string"){options={effect:options}}var hasOptions,effectName=!options?method:options===true||typeof options==="number"?defaultEffect:options.effect||defaultEffect;options=options||{};if(typeof options==="number"){options={duration:options}}hasOptions=!$.isEmptyObject(options);options.complete=callback;if(options.delay){element.delay(options.delay)}if(hasOptions&&$.effects&&$.effects.effect[effectName]){element[method](options)}else if(effectName!==method&&element[effectName]){element[effectName](options.duration,options.easing,callback)}else{element.queue(function(next){$(this)[method]();if(callback){callback.call(element[0])}next()})}}});var widget=$.widget;var mouseHandled=false;$(document).mouseup(function(){mouseHandled=false});var mouse=$.widget("ui.mouse",{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var that=this;this.element.bind("mousedown."+this.widgetName,function(event){return that._mouseDown(event)}).bind("click."+this.widgetName,function(event){if(true===$.data(event.target,that.widgetName+".preventClickEvent")){$.removeData(event.target,that.widgetName+".preventClickEvent");event.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);if(this._mouseMoveDelegate){this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)}},_mouseDown:function(event){if(mouseHandled){return}this._mouseMoved=false;this._mouseStarted&&this._mouseUp(event);this._mouseDownEvent=event;var that=this,btnIsLeft=event.which===1,elIsCancel=typeof this.options.cancel==="string"&&event.target.nodeName?$(event.target).closest(this.options.cancel).length:false;if(!btnIsLeft||elIsCancel||!this._mouseCapture(event)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){that.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=this._mouseStart(event)!==false;if(!this._mouseStarted){event.preventDefault();return true}}if(true===$.data(event.target,this.widgetName+".preventClickEvent")){$.removeData(event.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(event){return that._mouseMove(event)};this._mouseUpDelegate=function(event){return that._mouseUp(event)};this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);event.preventDefault();mouseHandled=true;return true},_mouseMove:function(event){if(this._mouseMoved){if($.ui.ie&&(!document.documentMode||document.documentMode<9)&&!event.button){return this._mouseUp(event)}else if(!event.which){return this._mouseUp(event)}}if(event.which||event.button){this._mouseMoved=true}if(this._mouseStarted){this._mouseDrag(event);return event.preventDefault()}if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=this._mouseStart(this._mouseDownEvent,event)!==false;this._mouseStarted?this._mouseDrag(event):this._mouseUp(event)}return!this._mouseStarted},_mouseUp:function(event){this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(event.target===this._mouseDownEvent.target){$.data(event.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(event)}mouseHandled=false;return false},_mouseDistanceMet:function(event){return Math.max(Math.abs(this._mouseDownEvent.pageX-event.pageX),Math.abs(this._mouseDownEvent.pageY-event.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}});(function(){$.ui=$.ui||{};var cachedScrollbarWidth,supportsOffsetFractions,max=Math.max,abs=Math.abs,round=Math.round,rhorizontal=/left|center|right/,rvertical=/top|center|bottom/,roffset=/[\+\-]\d+(\.[\d]+)?%?/,rposition=/^\w+/,rpercent=/%$/,_position=$.fn.position;function getOffsets(offsets,width,height){return[parseFloat(offsets[0])*(rpercent.test(offsets[0])?width/100:1),parseFloat(offsets[1])*(rpercent.test(offsets[1])?height/100:1)]}function parseCss(element,property){return parseInt($.css(element,property),10)||0}function getDimensions(elem){var raw=elem[0];if(raw.nodeType===9){return{width:elem.width(),height:elem.height(),offset:{top:0,left:0}}}if($.isWindow(raw)){return{width:elem.width(),height:elem.height(),offset:{top:elem.scrollTop(),left:elem.scrollLeft()}}}if(raw.preventDefault){return{width:0,height:0,offset:{top:raw.pageY,left:raw.pageX}}}return{width:elem.outerWidth(),height:elem.outerHeight(),offset:elem.offset()}}$.position={scrollbarWidth:function(){if(cachedScrollbarWidth!==undefined){return cachedScrollbarWidth}var w1,w2,div=$("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),innerDiv=div.children()[0];$("body").append(div);w1=innerDiv.offsetWidth;div.css("overflow","scroll");w2=innerDiv.offsetWidth;if(w1===w2){w2=div[0].clientWidth}div.remove();return cachedScrollbarWidth=w1-w2},getScrollInfo:function(within){var overflowX=within.isWindow||within.isDocument?"":within.element.css("overflow-x"),overflowY=within.isWindow||within.isDocument?"":within.element.css("overflow-y"),hasOverflowX=overflowX==="scroll"||overflowX==="auto"&&within.width<within.element[0].scrollWidth,hasOverflowY=overflowY==="scroll"||overflowY==="auto"&&within.height<within.element[0].scrollHeight;return{width:hasOverflowY?$.position.scrollbarWidth():0,height:hasOverflowX?$.position.scrollbarWidth():0}},getWithinInfo:function(element){var withinElement=$(element||window),isWindow=$.isWindow(withinElement[0]),isDocument=!!withinElement[0]&&withinElement[0].nodeType===9;return{element:withinElement,isWindow:isWindow,isDocument:isDocument,offset:withinElement.offset()||{left:0,top:0},scrollLeft:withinElement.scrollLeft(),scrollTop:withinElement.scrollTop(),width:isWindow||isDocument?withinElement.width():withinElement.outerWidth(),height:isWindow||isDocument?withinElement.height():withinElement.outerHeight()}}};$.fn.position=function(options){if(!options||!options.of){return _position.apply(this,arguments)}options=$.extend({},options);var atOffset,targetWidth,targetHeight,targetOffset,basePosition,dimensions,target=$(options.of),within=$.position.getWithinInfo(options.within),scrollInfo=$.position.getScrollInfo(within),collision=(options.collision||"flip").split(" "),offsets={};dimensions=getDimensions(target);if(target[0].preventDefault){options.at="left top"}targetWidth=dimensions.width;targetHeight=dimensions.height;targetOffset=dimensions.offset;basePosition=$.extend({},targetOffset);$.each(["my","at"],function(){var pos=(options[this]||"").split(" "),horizontalOffset,verticalOffset;if(pos.length===1){pos=rhorizontal.test(pos[0])?pos.concat(["center"]):rvertical.test(pos[0])?["center"].concat(pos):["center","center"]}pos[0]=rhorizontal.test(pos[0])?pos[0]:"center";pos[1]=rvertical.test(pos[1])?pos[1]:"center";horizontalOffset=roffset.exec(pos[0]);verticalOffset=roffset.exec(pos[1]);offsets[this]=[horizontalOffset?horizontalOffset[0]:0,verticalOffset?verticalOffset[0]:0];options[this]=[rposition.exec(pos[0])[0],rposition.exec(pos[1])[0]]});if(collision.length===1){collision[1]=collision[0]}if(options.at[0]==="right"){basePosition.left+=targetWidth}else if(options.at[0]==="center"){basePosition.left+=targetWidth/2}if(options.at[1]==="bottom"){basePosition.top+=targetHeight}else if(options.at[1]==="center"){basePosition.top+=targetHeight/2}atOffset=getOffsets(offsets.at,targetWidth,targetHeight);basePosition.left+=atOffset[0];basePosition.top+=atOffset[1];return this.each(function(){var collisionPosition,using,elem=$(this),elemWidth=elem.outerWidth(),elemHeight=elem.outerHeight(),marginLeft=parseCss(this,"marginLeft"),marginTop=parseCss(this,"marginTop"),collisionWidth=elemWidth+marginLeft+parseCss(this,"marginRight")+scrollInfo.width,collisionHeight=elemHeight+marginTop+parseCss(this,"marginBottom")+scrollInfo.height,position=$.extend({},basePosition),myOffset=getOffsets(offsets.my,elem.outerWidth(),elem.outerHeight());if(options.my[0]==="right"){position.left-=elemWidth}else if(options.my[0]==="center"){position.left-=elemWidth/2}if(options.my[1]==="bottom"){position.top-=elemHeight}else if(options.my[1]==="center"){position.top-=elemHeight/2}position.left+=myOffset[0];position.top+=myOffset[1];if(!supportsOffsetFractions){position.left=round(position.left);position.top=round(position.top)}collisionPosition={marginLeft:marginLeft,marginTop:marginTop};$.each(["left","top"],function(i,dir){if($.ui.position[collision[i]]){$.ui.position[collision[i]][dir](position,{targetWidth:targetWidth,targetHeight:targetHeight,elemWidth:elemWidth,elemHeight:elemHeight,collisionPosition:collisionPosition,collisionWidth:collisionWidth,collisionHeight:collisionHeight,offset:[atOffset[0]+myOffset[0],atOffset[1]+myOffset[1]],my:options.my,at:options.at,within:within,elem:elem})}});if(options.using){using=function(props){var left=targetOffset.left-position.left,right=left+targetWidth-elemWidth,top=targetOffset.top-position.top,bottom=top+targetHeight-elemHeight,feedback={target:{element:target,left:targetOffset.left,top:targetOffset.top,width:targetWidth,height:targetHeight},element:{element:elem,left:position.left,top:position.top,width:elemWidth,height:elemHeight},horizontal:right<0?"left":left>0?"right":"center",vertical:bottom<0?"top":top>0?"bottom":"middle"};if(targetWidth<elemWidth&&abs(left+right)<targetWidth){feedback.horizontal="center"}if(targetHeight<elemHeight&&abs(top+bottom)<targetHeight){feedback.vertical="middle"}if(max(abs(left),abs(right))>max(abs(top),abs(bottom))){feedback.important="horizontal"}else{feedback.important="vertical"}options.using.call(this,props,feedback)}}elem.offset($.extend(position,{using:using}))})};$.ui.position={fit:{left:function(position,data){var within=data.within,withinOffset=within.isWindow?within.scrollLeft:within.offset.left,outerWidth=within.width,collisionPosLeft=position.left-data.collisionPosition.marginLeft,overLeft=withinOffset-collisionPosLeft,overRight=collisionPosLeft+data.collisionWidth-outerWidth-withinOffset,newOverRight;if(data.collisionWidth>outerWidth){if(overLeft>0&&overRight<=0){newOverRight=position.left+overLeft+data.collisionWidth-outerWidth-withinOffset;position.left+=overLeft-newOverRight}else if(overRight>0&&overLeft<=0){position.left=withinOffset}else{if(overLeft>overRight){position.left=withinOffset+outerWidth-data.collisionWidth}else{position.left=withinOffset}}}else if(overLeft>0){position.left+=overLeft}else if(overRight>0){position.left-=overRight}else{position.left=max(position.left-collisionPosLeft,position.left)}},top:function(position,data){var within=data.within,withinOffset=within.isWindow?within.scrollTop:within.offset.top,outerHeight=data.within.height,collisionPosTop=position.top-data.collisionPosition.marginTop,overTop=withinOffset-collisionPosTop,overBottom=collisionPosTop+data.collisionHeight-outerHeight-withinOffset,newOverBottom;if(data.collisionHeight>outerHeight){if(overTop>0&&overBottom<=0){newOverBottom=position.top+overTop+data.collisionHeight-outerHeight-withinOffset;position.top+=overTop-newOverBottom}else if(overBottom>0&&overTop<=0){position.top=withinOffset}else{if(overTop>overBottom){position.top=withinOffset+outerHeight-data.collisionHeight}else{position.top=withinOffset}}}else if(overTop>0){position.top+=overTop}else if(overBottom>0){position.top-=overBottom}else{position.top=max(position.top-collisionPosTop,position.top)}}},flip:{left:function(position,data){var within=data.within,withinOffset=within.offset.left+within.scrollLeft,outerWidth=within.width,offsetLeft=within.isWindow?within.scrollLeft:within.offset.left,collisionPosLeft=position.left-data.collisionPosition.marginLeft,overLeft=collisionPosLeft-offsetLeft,overRight=collisionPosLeft+data.collisionWidth-outerWidth-offsetLeft,myOffset=data.my[0]==="left"?-data.elemWidth:data.my[0]==="right"?data.elemWidth:0,atOffset=data.at[0]==="left"?data.targetWidth:data.at[0]==="right"?-data.targetWidth:0,offset=-2*data.offset[0],newOverRight,newOverLeft;if(overLeft<0){newOverRight=position.left+myOffset+atOffset+offset+data.collisionWidth-outerWidth-withinOffset;if(newOverRight<0||newOverRight<abs(overLeft)){position.left+=myOffset+atOffset+offset}}else if(overRight>0){newOverLeft=position.left-data.collisionPosition.marginLeft+myOffset+atOffset+offset-offsetLeft;if(newOverLeft>0||abs(newOverLeft)<overRight){position.left+=myOffset+atOffset+offset}}},top:function(position,data){var within=data.within,withinOffset=within.offset.top+within.scrollTop,outerHeight=within.height,offsetTop=within.isWindow?within.scrollTop:within.offset.top,collisionPosTop=position.top-data.collisionPosition.marginTop,overTop=collisionPosTop-offsetTop,overBottom=collisionPosTop+data.collisionHeight-outerHeight-offsetTop,top=data.my[1]==="top",myOffset=top?-data.elemHeight:data.my[1]==="bottom"?data.elemHeight:0,atOffset=data.at[1]==="top"?data.targetHeight:data.at[1]==="bottom"?-data.targetHeight:0,offset=-2*data.offset[1],newOverTop,newOverBottom;if(overTop<0){newOverBottom=position.top+myOffset+atOffset+offset+data.collisionHeight-outerHeight-withinOffset;if(newOverBottom<0||newOverBottom<abs(overTop)){position.top+=myOffset+atOffset+offset}}else if(overBottom>0){newOverTop=position.top-data.collisionPosition.marginTop+myOffset+atOffset+offset-offsetTop;if(newOverTop>0||abs(newOverTop)<overBottom){position.top+=myOffset+atOffset+offset}}}},flipfit:{left:function(){$.ui.position.flip.left.apply(this,arguments);$.ui.position.fit.left.apply(this,arguments)},top:function(){$.ui.position.flip.top.apply(this,arguments);$.ui.position.fit.top.apply(this,arguments)}}};(function(){var testElement,testElementParent,testElementStyle,offsetLeft,i,body=document.getElementsByTagName("body")[0],div=document.createElement("div");testElement=document.createElement(body?"div":"body");testElementStyle={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};if(body){$.extend(testElementStyle,{position:"absolute",left:"-1000px",top:"-1000px"})}for(i in testElementStyle){testElement.style[i]=testElementStyle[i]}testElement.appendChild(div);testElementParent=body||document.documentElement;testElementParent.insertBefore(testElement,testElementParent.firstChild);div.style.cssText="position: absolute; left: 10.7432222px;";offsetLeft=$(div).offset().left;supportsOffsetFractions=offsetLeft>10&&offsetLeft<11;testElement.innerHTML="";testElementParent.removeChild(testElement)})()})();var position=$.ui.position;$.widget("ui.draggable",$.ui.mouse,{version:"1.11.4",widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false,drag:null,start:null,stop:null},_create:function(){if(this.options.helper==="original"){this._setPositionRelative()}if(this.options.addClasses){this.element.addClass("ui-draggable")}if(this.options.disabled){this.element.addClass("ui-draggable-disabled")}this._setHandleClassName();this._mouseInit()},_setOption:function(key,value){this._super(key,value);if(key==="handle"){this._removeHandleClassName();this._setHandleClassName()}},_destroy:function(){if((this.helper||this.element).is(".ui-draggable-dragging")){this.destroyOnClear=true;return}this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._removeHandleClassName();this._mouseDestroy()},_mouseCapture:function(event){var o=this.options;this._blurActiveElement(event);if(this.helper||o.disabled||$(event.target).closest(".ui-resizable-handle").length>0){return false}this.handle=this._getHandle(event);if(!this.handle){return false}this._blockFrames(o.iframeFix===true?"iframe":o.iframeFix);return true},_blockFrames:function(selector){this.iframeBlocks=this.document.find(selector).map(function(){var iframe=$(this);return $("<div>").css("position","absolute").appendTo(iframe.parent()).outerWidth(iframe.outerWidth()).outerHeight(iframe.outerHeight()).offset(iframe.offset())[0]})},_unblockFrames:function(){if(this.iframeBlocks){this.iframeBlocks.remove();delete this.iframeBlocks}},_blurActiveElement:function(event){var document=this.document[0];if(!this.handleElement.is(event.target)){return}try{if(document.activeElement&&document.activeElement.nodeName.toLowerCase()!=="body"){$(document.activeElement).blur()}}catch(error){}},_mouseStart:function(event){var o=this.options;this.helper=this._createHelper(event);this.helper.addClass("ui-draggable-dragging");this._cacheHelperProportions();if($.ui.ddmanager){$.ui.ddmanager.current=this}this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent(true);this.offsetParent=this.helper.offsetParent();this.hasFixedAncestor=this.helper.parents().filter(function(){return $(this).css("position")==="fixed"}).length>0;this.positionAbs=this.element.offset();this._refreshOffsets(event);this.originalPosition=this.position=this._generatePosition(event,false);this.originalPageX=event.pageX;this.originalPageY=event.pageY;o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt);this._setContainment();if(this._trigger("start",event)===false){this._clear();return false}this._cacheHelperProportions();if($.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(this,event)}this._normalizeRightBottom();this._mouseDrag(event,true);if($.ui.ddmanager){$.ui.ddmanager.dragStart(this,event)}return true},_refreshOffsets:function(event){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:false,parent:this._getParentOffset(),relative:this._getRelativeOffset()};this.offset.click={left:event.pageX-this.offset.left,top:event.pageY-this.offset.top}},_mouseDrag:function(event,noPropagation){if(this.hasFixedAncestor){this.offset.parent=this._getParentOffset()}this.position=this._generatePosition(event,true);this.positionAbs=this._convertPositionTo("absolute");if(!noPropagation){var ui=this._uiHash();if(this._trigger("drag",event,ui)===false){this._mouseUp({});return false}this.position=ui.position}this.helper[0].style.left=this.position.left+"px";this.helper[0].style.top=this.position.top+"px";if($.ui.ddmanager){$.ui.ddmanager.drag(this,event)}return false},_mouseStop:function(event){var that=this,dropped=false;if($.ui.ddmanager&&!this.options.dropBehaviour){dropped=$.ui.ddmanager.drop(this,event)}if(this.dropped){dropped=this.dropped;this.dropped=false}if(this.options.revert==="invalid"&&!dropped||this.options.revert==="valid"&&dropped||this.options.revert===true||$.isFunction(this.options.revert)&&this.options.revert.call(this.element,dropped)){$(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){if(that._trigger("stop",event)!==false){that._clear()}})}else{if(this._trigger("stop",event)!==false){this._clear()}}return false},_mouseUp:function(event){this._unblockFrames();if($.ui.ddmanager){$.ui.ddmanager.dragStop(this,event)}if(this.handleElement.is(event.target)){this.element.focus()}return $.ui.mouse.prototype._mouseUp.call(this,event)},cancel:function(){if(this.helper.is(".ui-draggable-dragging")){this._mouseUp({})}else{this._clear()}return this},_getHandle:function(event){return this.options.handle?!!$(event.target).closest(this.element.find(this.options.handle)).length:true},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element;this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(event){var o=this.options,helperIsFunction=$.isFunction(o.helper),helper=helperIsFunction?$(o.helper.apply(this.element[0],[event])):o.helper==="clone"?this.element.clone().removeAttr("id"):this.element;if(!helper.parents("body").length){helper.appendTo(o.appendTo==="parent"?this.element[0].parentNode:o.appendTo)}if(helperIsFunction&&helper[0]===this.element[0]){this._setPositionRelative()}if(helper[0]!==this.element[0]&&!/(fixed|absolute)/.test(helper.css("position"))){helper.css("position","absolute")}return helper},_setPositionRelative:function(){if(!/^(?:r|a|f)/.test(this.element.css("position"))){this.element[0].style.position="relative"}},_adjustOffsetFromHelper:function(obj){if(typeof obj==="string"){obj=obj.split(" ")}if($.isArray(obj)){obj={left:+obj[0],top:+obj[1]||0}}if("left"in obj){this.offset.click.left=obj.left+this.margins.left}if("right"in obj){this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left}if("top"in obj){this.offset.click.top=obj.top+this.margins.top}if("bottom"in obj){this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top}},_isRootNode:function(element){return/(html|body)/i.test(element.tagName)||element===this.document[0]},_getParentOffset:function(){var po=this.offsetParent.offset(),document=this.document[0];if(this.cssPosition==="absolute"&&this.scrollParent[0]!==document&&$.contains(this.scrollParent[0],this.offsetParent[0])){po.left+=this.scrollParent.scrollLeft();po.top+=this.scrollParent.scrollTop()}if(this._isRootNode(this.offsetParent[0])){po={top:0,left:0}}return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition!=="relative"){return{top:0,left:0}}var p=this.element.position(),scrollIsRootNode=this._isRootNode(this.scrollParent[0]);return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+(!scrollIsRootNode?this.scrollParent.scrollTop():0),left:p.left-(parseInt(this.helper.css("left"),10)||0)+(!scrollIsRootNode?this.scrollParent.scrollLeft():0)}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var isUserScrollable,c,ce,o=this.options,document=this.document[0];this.relativeContainer=null;if(!o.containment){this.containment=null;return}if(o.containment==="window"){this.containment=[$(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,$(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,$(window).scrollLeft()+$(window).width()-this.helperProportions.width-this.margins.left,$(window).scrollTop()+($(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];return}if(o.containment==="document"){this.containment=[0,0,$(document).width()-this.helperProportions.width-this.margins.left,($(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];return}if(o.containment.constructor===Array){this.containment=o.containment;return}if(o.containment==="parent"){o.containment=this.helper[0].parentNode}c=$(o.containment);ce=c[0];if(!ce){return}isUserScrollable=/(scroll|auto)/.test(c.css("overflow"));this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),10)||0)+(parseInt(c.css("paddingTop"),10)||0),(isUserScrollable?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt(c.css("borderRightWidth"),10)||0)-(parseInt(c.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(isUserScrollable?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt(c.css("borderBottomWidth"),10)||0)-(parseInt(c.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relativeContainer=c},_convertPositionTo:function(d,pos){if(!pos){pos=this.position}var mod=d==="absolute"?1:-1,scrollIsRootNode=this._isRootNode(this.scrollParent[0]);return{top:pos.top+this.offset.relative.top*mod+this.offset.parent.top*mod-(this.cssPosition==="fixed"?-this.offset.scroll.top:scrollIsRootNode?0:this.offset.scroll.top)*mod,left:pos.left+this.offset.relative.left*mod+this.offset.parent.left*mod-(this.cssPosition==="fixed"?-this.offset.scroll.left:scrollIsRootNode?0:this.offset.scroll.left)*mod}},_generatePosition:function(event,constrainPosition){var containment,co,top,left,o=this.options,scrollIsRootNode=this._isRootNode(this.scrollParent[0]),pageX=event.pageX,pageY=event.pageY;if(!scrollIsRootNode||!this.offset.scroll){this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}}if(constrainPosition){if(this.containment){if(this.relativeContainer){co=this.relativeContainer.offset();containment=[this.containment[0]+co.left,this.containment[1]+co.top,this.containment[2]+co.left,this.containment[3]+co.top]}else{containment=this.containment}if(event.pageX-this.offset.click.left<containment[0]){pageX=containment[0]+this.offset.click.left}if(event.pageY-this.offset.click.top<containment[1]){pageY=containment[1]+this.offset.click.top}if(event.pageX-this.offset.click.left>containment[2]){pageX=containment[2]+this.offset.click.left}if(event.pageY-this.offset.click.top>containment[3]){pageY=containment[3]+this.offset.click.top}}if(o.grid){top=o.grid[1]?this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY;pageY=containment?top-this.offset.click.top>=containment[1]||top-this.offset.click.top>containment[3]?top:top-this.offset.click.top>=containment[1]?top-o.grid[1]:top+o.grid[1]:top;left=o.grid[0]?this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX;pageX=containment?left-this.offset.click.left>=containment[0]||left-this.offset.click.left>containment[2]?left:left-this.offset.click.left>=containment[0]?left-o.grid[0]:left+o.grid[0]:left}if(o.axis==="y"){pageX=this.originalPageX}if(o.axis==="x"){pageY=this.originalPageY}}return{top:pageY-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition==="fixed"?-this.offset.scroll.top:scrollIsRootNode?0:this.offset.scroll.top),left:pageX-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition==="fixed"?-this.offset.scroll.left:scrollIsRootNode?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.helper[0]!==this.element[0]&&!this.cancelHelperRemoval){this.helper.remove()}this.helper=null;this.cancelHelperRemoval=false;if(this.destroyOnClear){this.destroy()}},_normalizeRightBottom:function(){if(this.options.axis!=="y"&&this.helper.css("right")!=="auto"){this.helper.width(this.helper.width());this.helper.css("right","auto")}if(this.options.axis!=="x"&&this.helper.css("bottom")!=="auto"){this.helper.height(this.helper.height());this.helper.css("bottom","auto")}},_trigger:function(type,event,ui){ui=ui||this._uiHash();$.ui.plugin.call(this,type,[event,ui,this],true);if(/^(drag|start|stop)/.test(type)){this.positionAbs=this._convertPositionTo("absolute");ui.offset=this.positionAbs}return $.Widget.prototype._trigger.call(this,type,event,ui)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}
}});$.ui.plugin.add("draggable","connectToSortable",{start:function(event,ui,draggable){var uiSortable=$.extend({},ui,{item:draggable.element});draggable.sortables=[];$(draggable.options.connectToSortable).each(function(){var sortable=$(this).sortable("instance");if(sortable&&!sortable.options.disabled){draggable.sortables.push(sortable);sortable.refreshPositions();sortable._trigger("activate",event,uiSortable)}})},stop:function(event,ui,draggable){var uiSortable=$.extend({},ui,{item:draggable.element});draggable.cancelHelperRemoval=false;$.each(draggable.sortables,function(){var sortable=this;if(sortable.isOver){sortable.isOver=0;draggable.cancelHelperRemoval=true;sortable.cancelHelperRemoval=false;sortable._storedCSS={position:sortable.placeholder.css("position"),top:sortable.placeholder.css("top"),left:sortable.placeholder.css("left")};sortable._mouseStop(event);sortable.options.helper=sortable.options._helper}else{sortable.cancelHelperRemoval=true;sortable._trigger("deactivate",event,uiSortable)}})},drag:function(event,ui,draggable){$.each(draggable.sortables,function(){var innermostIntersecting=false,sortable=this;sortable.positionAbs=draggable.positionAbs;sortable.helperProportions=draggable.helperProportions;sortable.offset.click=draggable.offset.click;if(sortable._intersectsWith(sortable.containerCache)){innermostIntersecting=true;$.each(draggable.sortables,function(){this.positionAbs=draggable.positionAbs;this.helperProportions=draggable.helperProportions;this.offset.click=draggable.offset.click;if(this!==sortable&&this._intersectsWith(this.containerCache)&&$.contains(sortable.element[0],this.element[0])){innermostIntersecting=false}return innermostIntersecting})}if(innermostIntersecting){if(!sortable.isOver){sortable.isOver=1;draggable._parent=ui.helper.parent();sortable.currentItem=ui.helper.appendTo(sortable.element).data("ui-sortable-item",true);sortable.options._helper=sortable.options.helper;sortable.options.helper=function(){return ui.helper[0]};event.target=sortable.currentItem[0];sortable._mouseCapture(event,true);sortable._mouseStart(event,true,true);sortable.offset.click.top=draggable.offset.click.top;sortable.offset.click.left=draggable.offset.click.left;sortable.offset.parent.left-=draggable.offset.parent.left-sortable.offset.parent.left;sortable.offset.parent.top-=draggable.offset.parent.top-sortable.offset.parent.top;draggable._trigger("toSortable",event);draggable.dropped=sortable.element;$.each(draggable.sortables,function(){this.refreshPositions()});draggable.currentItem=draggable.element;sortable.fromOutside=draggable}if(sortable.currentItem){sortable._mouseDrag(event);ui.position=sortable.position}}else{if(sortable.isOver){sortable.isOver=0;sortable.cancelHelperRemoval=true;sortable.options._revert=sortable.options.revert;sortable.options.revert=false;sortable._trigger("out",event,sortable._uiHash(sortable));sortable._mouseStop(event,true);sortable.options.revert=sortable.options._revert;sortable.options.helper=sortable.options._helper;if(sortable.placeholder){sortable.placeholder.remove()}ui.helper.appendTo(draggable._parent);draggable._refreshOffsets(event);ui.position=draggable._generatePosition(event,true);draggable._trigger("fromSortable",event);draggable.dropped=false;$.each(draggable.sortables,function(){this.refreshPositions()})}}})}});$.ui.plugin.add("draggable","cursor",{start:function(event,ui,instance){var t=$("body"),o=instance.options;if(t.css("cursor")){o._cursor=t.css("cursor")}t.css("cursor",o.cursor)},stop:function(event,ui,instance){var o=instance.options;if(o._cursor){$("body").css("cursor",o._cursor)}}});$.ui.plugin.add("draggable","opacity",{start:function(event,ui,instance){var t=$(ui.helper),o=instance.options;if(t.css("opacity")){o._opacity=t.css("opacity")}t.css("opacity",o.opacity)},stop:function(event,ui,instance){var o=instance.options;if(o._opacity){$(ui.helper).css("opacity",o._opacity)}}});$.ui.plugin.add("draggable","scroll",{start:function(event,ui,i){if(!i.scrollParentNotHidden){i.scrollParentNotHidden=i.helper.scrollParent(false)}if(i.scrollParentNotHidden[0]!==i.document[0]&&i.scrollParentNotHidden[0].tagName!=="HTML"){i.overflowOffset=i.scrollParentNotHidden.offset()}},drag:function(event,ui,i){var o=i.options,scrolled=false,scrollParent=i.scrollParentNotHidden[0],document=i.document[0];if(scrollParent!==document&&scrollParent.tagName!=="HTML"){if(!o.axis||o.axis!=="x"){if(i.overflowOffset.top+scrollParent.offsetHeight-event.pageY<o.scrollSensitivity){scrollParent.scrollTop=scrolled=scrollParent.scrollTop+o.scrollSpeed}else if(event.pageY-i.overflowOffset.top<o.scrollSensitivity){scrollParent.scrollTop=scrolled=scrollParent.scrollTop-o.scrollSpeed}}if(!o.axis||o.axis!=="y"){if(i.overflowOffset.left+scrollParent.offsetWidth-event.pageX<o.scrollSensitivity){scrollParent.scrollLeft=scrolled=scrollParent.scrollLeft+o.scrollSpeed}else if(event.pageX-i.overflowOffset.left<o.scrollSensitivity){scrollParent.scrollLeft=scrolled=scrollParent.scrollLeft-o.scrollSpeed}}}else{if(!o.axis||o.axis!=="x"){if(event.pageY-$(document).scrollTop()<o.scrollSensitivity){scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed)}else if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity){scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed)}}if(!o.axis||o.axis!=="y"){if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity){scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed)}else if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity){scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed)}}}if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(i,event)}}});$.ui.plugin.add("draggable","snap",{start:function(event,ui,i){var o=i.options;i.snapElements=[];$(o.snap.constructor!==String?o.snap.items||":data(ui-draggable)":o.snap).each(function(){var $t=$(this),$o=$t.offset();if(this!==i.element[0]){i.snapElements.push({item:this,width:$t.outerWidth(),height:$t.outerHeight(),top:$o.top,left:$o.left})}})},drag:function(event,ui,inst){var ts,bs,ls,rs,l,r,t,b,i,first,o=inst.options,d=o.snapTolerance,x1=ui.offset.left,x2=x1+inst.helperProportions.width,y1=ui.offset.top,y2=y1+inst.helperProportions.height;for(i=inst.snapElements.length-1;i>=0;i--){l=inst.snapElements[i].left-inst.margins.left;r=l+inst.snapElements[i].width;t=inst.snapElements[i].top-inst.margins.top;b=t+inst.snapElements[i].height;if(x2<l-d||x1>r+d||y2<t-d||y1>b+d||!$.contains(inst.snapElements[i].item.ownerDocument,inst.snapElements[i].item)){if(inst.snapElements[i].snapping){inst.options.snap.release&&inst.options.snap.release.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item}))}inst.snapElements[i].snapping=false;continue}if(o.snapMode!=="inner"){ts=Math.abs(t-y2)<=d;bs=Math.abs(b-y1)<=d;ls=Math.abs(l-x2)<=d;rs=Math.abs(r-x1)<=d;if(ts){ui.position.top=inst._convertPositionTo("relative",{top:t-inst.helperProportions.height,left:0}).top}if(bs){ui.position.top=inst._convertPositionTo("relative",{top:b,left:0}).top}if(ls){ui.position.left=inst._convertPositionTo("relative",{top:0,left:l-inst.helperProportions.width}).left}if(rs){ui.position.left=inst._convertPositionTo("relative",{top:0,left:r}).left}}first=ts||bs||ls||rs;if(o.snapMode!=="outer"){ts=Math.abs(t-y1)<=d;bs=Math.abs(b-y2)<=d;ls=Math.abs(l-x1)<=d;rs=Math.abs(r-x2)<=d;if(ts){ui.position.top=inst._convertPositionTo("relative",{top:t,left:0}).top}if(bs){ui.position.top=inst._convertPositionTo("relative",{top:b-inst.helperProportions.height,left:0}).top}if(ls){ui.position.left=inst._convertPositionTo("relative",{top:0,left:l}).left}if(rs){ui.position.left=inst._convertPositionTo("relative",{top:0,left:r-inst.helperProportions.width}).left}}if(!inst.snapElements[i].snapping&&(ts||bs||ls||rs||first)){inst.options.snap.snap&&inst.options.snap.snap.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item}))}inst.snapElements[i].snapping=ts||bs||ls||rs||first}}});$.ui.plugin.add("draggable","stack",{start:function(event,ui,instance){var min,o=instance.options,group=$.makeArray($(o.stack)).sort(function(a,b){return(parseInt($(a).css("zIndex"),10)||0)-(parseInt($(b).css("zIndex"),10)||0)});if(!group.length){return}min=parseInt($(group[0]).css("zIndex"),10)||0;$(group).each(function(i){$(this).css("zIndex",min+i)});this.css("zIndex",min+group.length)}});$.ui.plugin.add("draggable","zIndex",{start:function(event,ui,instance){var t=$(ui.helper),o=instance.options;if(t.css("zIndex")){o._zIndex=t.css("zIndex")}t.css("zIndex",o.zIndex)},stop:function(event,ui,instance){var o=instance.options;if(o._zIndex){$(ui.helper).css("zIndex",o._zIndex)}}});var draggable=$.ui.draggable;$.widget("ui.droppable",{version:"1.11.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var proportions,o=this.options,accept=o.accept;this.isover=false;this.isout=true;this.accept=$.isFunction(accept)?accept:function(d){return d.is(accept)};this.proportions=function(){if(arguments.length){proportions=arguments[0]}else{return proportions?proportions:proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}}};this._addToManager(o.scope);o.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(scope){$.ui.ddmanager.droppables[scope]=$.ui.ddmanager.droppables[scope]||[];$.ui.ddmanager.droppables[scope].push(this)},_splice:function(drop){var i=0;for(;i<drop.length;i++){if(drop[i]===this){drop.splice(i,1)}}},_destroy:function(){var drop=$.ui.ddmanager.droppables[this.options.scope];this._splice(drop);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(key,value){if(key==="accept"){this.accept=$.isFunction(value)?value:function(d){return d.is(value)}}else if(key==="scope"){var drop=$.ui.ddmanager.droppables[this.options.scope];this._splice(drop);this._addToManager(value)}this._super(key,value)},_activate:function(event){var draggable=$.ui.ddmanager.current;if(this.options.activeClass){this.element.addClass(this.options.activeClass)}if(draggable){this._trigger("activate",event,this.ui(draggable))}},_deactivate:function(event){var draggable=$.ui.ddmanager.current;if(this.options.activeClass){this.element.removeClass(this.options.activeClass)}if(draggable){this._trigger("deactivate",event,this.ui(draggable))}},_over:function(event){var draggable=$.ui.ddmanager.current;if(!draggable||(draggable.currentItem||draggable.element)[0]===this.element[0]){return}if(this.accept.call(this.element[0],draggable.currentItem||draggable.element)){if(this.options.hoverClass){this.element.addClass(this.options.hoverClass)}this._trigger("over",event,this.ui(draggable))}},_out:function(event){var draggable=$.ui.ddmanager.current;if(!draggable||(draggable.currentItem||draggable.element)[0]===this.element[0]){return}if(this.accept.call(this.element[0],draggable.currentItem||draggable.element)){if(this.options.hoverClass){this.element.removeClass(this.options.hoverClass)}this._trigger("out",event,this.ui(draggable))}},_drop:function(event,custom){var draggable=custom||$.ui.ddmanager.current,childrenIntersection=false;if(!draggable||(draggable.currentItem||draggable.element)[0]===this.element[0]){return false}this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var inst=$(this).droppable("instance");if(inst.options.greedy&&!inst.options.disabled&&inst.options.scope===draggable.options.scope&&inst.accept.call(inst.element[0],draggable.currentItem||draggable.element)&&$.ui.intersect(draggable,$.extend(inst,{offset:inst.element.offset()}),inst.options.tolerance,event)){childrenIntersection=true;return false}});if(childrenIntersection){return false}if(this.accept.call(this.element[0],draggable.currentItem||draggable.element)){if(this.options.activeClass){this.element.removeClass(this.options.activeClass)}if(this.options.hoverClass){this.element.removeClass(this.options.hoverClass)}this._trigger("drop",event,this.ui(draggable));return this.element}return false},ui:function(c){return{draggable:c.currentItem||c.element,helper:c.helper,position:c.position,offset:c.positionAbs}}});$.ui.intersect=function(){function isOverAxis(x,reference,size){return x>=reference&&x<reference+size}return function(draggable,droppable,toleranceMode,event){if(!droppable.offset){return false}var x1=(draggable.positionAbs||draggable.position.absolute).left+draggable.margins.left,y1=(draggable.positionAbs||draggable.position.absolute).top+draggable.margins.top,x2=x1+draggable.helperProportions.width,y2=y1+draggable.helperProportions.height,l=droppable.offset.left,t=droppable.offset.top,r=l+droppable.proportions().width,b=t+droppable.proportions().height;switch(toleranceMode){case"fit":return l<=x1&&x2<=r&&t<=y1&&y2<=b;case"intersect":return l<x1+draggable.helperProportions.width/2&&x2-draggable.helperProportions.width/2<r&&t<y1+draggable.helperProportions.height/2&&y2-draggable.helperProportions.height/2<b;case"pointer":return isOverAxis(event.pageY,t,droppable.proportions().height)&&isOverAxis(event.pageX,l,droppable.proportions().width);case"touch":return(y1>=t&&y1<=b||y2>=t&&y2<=b||y1<t&&y2>b)&&(x1>=l&&x1<=r||x2>=l&&x2<=r||x1<l&&x2>r);default:return false}}}();$.ui.ddmanager={current:null,droppables:{default:[]},prepareOffsets:function(t,event){var i,j,m=$.ui.ddmanager.droppables[t.options.scope]||[],type=event?event.type:null,list=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();droppablesLoop:for(i=0;i<m.length;i++){if(m[i].options.disabled||t&&!m[i].accept.call(m[i].element[0],t.currentItem||t.element)){continue}for(j=0;j<list.length;j++){if(list[j]===m[i].element[0]){m[i].proportions().height=0;continue droppablesLoop}}m[i].visible=m[i].element.css("display")!=="none";if(!m[i].visible){continue}if(type==="mousedown"){m[i]._activate.call(m[i],event)}m[i].offset=m[i].element.offset();m[i].proportions({width:m[i].element[0].offsetWidth,height:m[i].element[0].offsetHeight})}},drop:function(draggable,event){var dropped=false;$.each(($.ui.ddmanager.droppables[draggable.options.scope]||[]).slice(),function(){if(!this.options){return}if(!this.options.disabled&&this.visible&&$.ui.intersect(draggable,this,this.options.tolerance,event)){dropped=this._drop.call(this,event)||dropped}if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],draggable.currentItem||draggable.element)){this.isout=true;this.isover=false;this._deactivate.call(this,event)}});return dropped},dragStart:function(draggable,event){draggable.element.parentsUntil("body").bind("scroll.droppable",function(){if(!draggable.options.refreshPositions){$.ui.ddmanager.prepareOffsets(draggable,event)}})},drag:function(draggable,event){if(draggable.options.refreshPositions){$.ui.ddmanager.prepareOffsets(draggable,event)}$.each($.ui.ddmanager.droppables[draggable.options.scope]||[],function(){if(this.options.disabled||this.greedyChild||!this.visible){return}var parentInstance,scope,parent,intersects=$.ui.intersect(draggable,this,this.options.tolerance,event),c=!intersects&&this.isover?"isout":intersects&&!this.isover?"isover":null;if(!c){return}if(this.options.greedy){scope=this.options.scope;parent=this.element.parents(":data(ui-droppable)").filter(function(){return $(this).droppable("instance").options.scope===scope});if(parent.length){parentInstance=$(parent[0]).droppable("instance");parentInstance.greedyChild=c==="isover"}}if(parentInstance&&c==="isover"){parentInstance.isover=false;parentInstance.isout=true;parentInstance._out.call(parentInstance,event)}this[c]=true;this[c==="isout"?"isover":"isout"]=false;this[c==="isover"?"_over":"_out"].call(this,event);if(parentInstance&&c==="isout"){parentInstance.isout=false;parentInstance.isover=true;parentInstance._over.call(parentInstance,event)}})},dragStop:function(draggable,event){draggable.element.parentsUntil("body").unbind("scroll.droppable");if(!draggable.options.refreshPositions){$.ui.ddmanager.prepareOffsets(draggable,event)}}};var droppable=$.ui.droppable;$.widget("ui.resizable",$.ui.mouse,{version:"1.11.4",widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(value){return parseInt(value,10)||0},_isNumber:function(value){return!isNaN(parseInt(value,10))},_hasScroll:function(el,a){if($(el).css("overflow")==="hidden"){return false}var scroll=a&&a==="left"?"scrollLeft":"scrollTop",has=false;if(el[scroll]>0){return true}el[scroll]=1;has=el[scroll]>0;el[scroll]=0;return has},_create:function(){var n,i,handle,axis,hname,that=this,o=this.options;this.element.addClass("ui-resizable");$.extend(this,{_aspectRatio:!!o.aspectRatio,aspectRatio:o.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:o.helper||o.ghost||o.animate?o.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)){this.element.wrap($("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=o.handles||(!$(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});this._handles=$();if(this.handles.constructor===String){if(this.handles==="all"){this.handles="n,e,s,w,se,sw,ne,nw"}n=this.handles.split(",");this.handles={};for(i=0;i<n.length;i++){handle=$.trim(n[i]);hname="ui-resizable-"+handle;axis=$("<div class='ui-resizable-handle "+hname+"'></div>");axis.css({zIndex:o.zIndex});if("se"===handle){axis.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[handle]=".ui-resizable-"+handle;this.element.append(axis)}}this._renderAxis=function(target){var i,axis,padPos,padWrapper;target=target||this.element;for(i in this.handles){if(this.handles[i].constructor===String){this.handles[i]=this.element.children(this.handles[i]).first().show()}else if(this.handles[i].jquery||this.handles[i].nodeType){this.handles[i]=$(this.handles[i]);this._on(this.handles[i],{mousedown:that._mouseDown})}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)){axis=$(this.handles[i],this.element);padWrapper=/sw|ne|nw|se|n|s/.test(i)?axis.outerHeight():axis.outerWidth();padPos=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");target.css(padPos,padWrapper);this._proportionallyResize()}this._handles=this._handles.add(this.handles[i])}};this._renderAxis(this.element);this._handles=this._handles.add(this.element.find(".ui-resizable-handle"));this._handles.disableSelection();this._handles.mouseover(function(){if(!that.resizing){if(this.className){axis=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}that.axis=axis&&axis[1]?axis[1]:"se"}});if(o.autoHide){this._handles.hide();$(this.element).addClass("ui-resizable-autohide").mouseenter(function(){if(o.disabled){return}$(this).removeClass("ui-resizable-autohide");that._handles.show()}).mouseleave(function(){if(o.disabled){return}if(!that.resizing){$(this).addClass("ui-resizable-autohide");that._handles.hide()}})}this._mouseInit()},_destroy:function(){this._mouseDestroy();var wrapper,_destroy=function(exp){$(exp).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){_destroy(this.element);wrapper=this.element;this.originalElement.css({position:wrapper.css("position"),width:wrapper.outerWidth(),height:wrapper.outerHeight(),top:wrapper.css("top"),left:wrapper.css("left")}).insertAfter(wrapper);wrapper.remove()}this.originalElement.css("resize",this.originalResizeStyle);_destroy(this.originalElement);return this},_mouseCapture:function(event){var i,handle,capture=false;for(i in this.handles){handle=$(this.handles[i])[0];if(handle===event.target||$.contains(handle,event.target)){capture=true}}return!this.options.disabled&&capture},_mouseStart:function(event){var curleft,curtop,cursor,o=this.options,el=this.element;this.resizing=true;this._renderProxy();curleft=this._num(this.helper.css("left"));curtop=this._num(this.helper.css("top"));if(o.containment){curleft+=$(o.containment).scrollLeft()||0;curtop+=$(o.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:curleft,top:curtop};this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:el.width(),height:el.height()};this.originalSize=this._helper?{width:el.outerWidth(),height:el.outerHeight()}:{width:el.width(),height:el.height()};this.sizeDiff={width:el.outerWidth()-el.width(),height:el.outerHeight()-el.height()};this.originalPosition={left:curleft,top:curtop};this.originalMousePosition={left:event.pageX,top:event.pageY};this.aspectRatio=typeof o.aspectRatio==="number"?o.aspectRatio:this.originalSize.width/this.originalSize.height||1;cursor=$(".ui-resizable-"+this.axis).css("cursor");$("body").css("cursor",cursor==="auto"?this.axis+"-resize":cursor);el.addClass("ui-resizable-resizing");this._propagate("start",event);return true},_mouseDrag:function(event){var data,props,smp=this.originalMousePosition,a=this.axis,dx=event.pageX-smp.left||0,dy=event.pageY-smp.top||0,trigger=this._change[a];this._updatePrevProperties();if(!trigger){return false}data=trigger.apply(this,[event,dx,dy]);this._updateVirtualBoundaries(event.shiftKey);if(this._aspectRatio||event.shiftKey){data=this._updateRatio(data,event)}data=this._respectSize(data,event);this._updateCache(data);this._propagate("resize",event);props=this._applyChanges();if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}if(!$.isEmptyObject(props)){this._updatePrevProperties();this._trigger("resize",event,this.ui());this._applyChanges()}return false},_mouseStop:function(event){this.resizing=false;var pr,ista,soffseth,soffsetw,s,left,top,o=this.options,that=this;if(this._helper){pr=this._proportionallyResizeElements;ista=pr.length&&/textarea/i.test(pr[0].nodeName);soffseth=ista&&this._hasScroll(pr[0],"left")?0:that.sizeDiff.height;soffsetw=ista?0:that.sizeDiff.width;s={width:that.helper.width()-soffsetw,height:that.helper.height()-soffseth};left=parseInt(that.element.css("left"),10)+(that.position.left-that.originalPosition.left)||null;top=parseInt(that.element.css("top"),10)+(that.position.top-that.originalPosition.top)||null;if(!o.animate){this.element.css($.extend(s,{top:top,left:left}))}that.helper.height(that.size.height);that.helper.width(that.size.width);if(this._helper&&!o.animate){this._proportionallyResize()}}$("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",event);if(this._helper){this.helper.remove()}return false},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left};this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var props={};if(this.position.top!==this.prevPosition.top){props.top=this.position.top+"px"}if(this.position.left!==this.prevPosition.left){props.left=this.position.left+"px"}if(this.size.width!==this.prevSize.width){props.width=this.size.width+"px"}if(this.size.height!==this.prevSize.height){props.height=this.size.height+"px"}this.helper.css(props);return props},_updateVirtualBoundaries:function(forceAspectRatio){var pMinWidth,pMaxWidth,pMinHeight,pMaxHeight,b,o=this.options;b={minWidth:this._isNumber(o.minWidth)?o.minWidth:0,maxWidth:this._isNumber(o.maxWidth)?o.maxWidth:Infinity,minHeight:this._isNumber(o.minHeight)?o.minHeight:0,maxHeight:this._isNumber(o.maxHeight)?o.maxHeight:Infinity};if(this._aspectRatio||forceAspectRatio){pMinWidth=b.minHeight*this.aspectRatio;pMinHeight=b.minWidth/this.aspectRatio;pMaxWidth=b.maxHeight*this.aspectRatio;pMaxHeight=b.maxWidth/this.aspectRatio;if(pMinWidth>b.minWidth){b.minWidth=pMinWidth}if(pMinHeight>b.minHeight){b.minHeight=pMinHeight}if(pMaxWidth<b.maxWidth){b.maxWidth=pMaxWidth}if(pMaxHeight<b.maxHeight){b.maxHeight=pMaxHeight}}this._vBoundaries=b},_updateCache:function(data){this.offset=this.helper.offset();if(this._isNumber(data.left)){this.position.left=data.left}if(this._isNumber(data.top)){this.position.top=data.top}if(this._isNumber(data.height)){this.size.height=data.height}if(this._isNumber(data.width)){this.size.width=data.width}},_updateRatio:function(data){var cpos=this.position,csize=this.size,a=this.axis;if(this._isNumber(data.height)){data.width=data.height*this.aspectRatio}else if(this._isNumber(data.width)){data.height=data.width/this.aspectRatio}if(a==="sw"){data.left=cpos.left+(csize.width-data.width);data.top=null}if(a==="nw"){data.top=cpos.top+(csize.height-data.height);data.left=cpos.left+(csize.width-data.width)}return data},_respectSize:function(data){var o=this._vBoundaries,a=this.axis,ismaxw=this._isNumber(data.width)&&o.maxWidth&&o.maxWidth<data.width,ismaxh=this._isNumber(data.height)&&o.maxHeight&&o.maxHeight<data.height,isminw=this._isNumber(data.width)&&o.minWidth&&o.minWidth>data.width,isminh=this._isNumber(data.height)&&o.minHeight&&o.minHeight>data.height,dw=this.originalPosition.left+this.originalSize.width,dh=this.position.top+this.size.height,cw=/sw|nw|w/.test(a),ch=/nw|ne|n/.test(a);if(isminw){data.width=o.minWidth}if(isminh){data.height=o.minHeight}if(ismaxw){data.width=o.maxWidth}if(ismaxh){data.height=o.maxHeight}if(isminw&&cw){data.left=dw-o.minWidth}if(ismaxw&&cw){data.left=dw-o.maxWidth}if(isminh&&ch){data.top=dh-o.minHeight}if(ismaxh&&ch){data.top=dh-o.maxHeight}if(!data.width&&!data.height&&!data.left&&data.top){data.top=null}else if(!data.width&&!data.height&&!data.top&&data.left){data.left=null}return data},_getPaddingPlusBorderDimensions:function(element){var i=0,widths=[],borders=[element.css("borderTopWidth"),element.css("borderRightWidth"),element.css("borderBottomWidth"),element.css("borderLeftWidth")],paddings=[element.css("paddingTop"),element.css("paddingRight"),element.css("paddingBottom"),element.css("paddingLeft")];for(;i<4;i++){widths[i]=parseInt(borders[i],10)||0;widths[i]+=parseInt(paddings[i],10)||0}return{height:widths[0]+widths[2],width:widths[1]+widths[3]}},_proportionallyResize:function(){if(!this._proportionallyResizeElements.length){return}var prel,i=0,element=this.helper||this.element;for(;i<this._proportionallyResizeElements.length;i++){prel=this._proportionallyResizeElements[i];if(!this.outerDimensions){this.outerDimensions=this._getPaddingPlusBorderDimensions(prel)}prel.css({height:element.height()-this.outerDimensions.height||0,width:element.width()-this.outerDimensions.width||0})}},_renderProxy:function(){var el=this.element,o=this.options;this.elementOffset=el.offset();if(this._helper){this.helper=this.helper||$("<div style='overflow:hidden;'></div>");this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++o.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(event,dx){return{width:this.originalSize.width+dx}},w:function(event,dx){var cs=this.originalSize,sp=this.originalPosition;return{left:sp.left+dx,width:cs.width-dx}},n:function(event,dx,dy){var cs=this.originalSize,sp=this.originalPosition;return{top:sp.top+dy,height:cs.height-dy}},s:function(event,dx,dy){return{height:this.originalSize.height+dy}},se:function(event,dx,dy){return $.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[event,dx,dy]))},sw:function(event,dx,dy){return $.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[event,dx,dy]))},ne:function(event,dx,dy){return $.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[event,dx,dy]))},nw:function(event,dx,dy){return $.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[event,dx,dy]))}},_propagate:function(n,event){$.ui.plugin.call(this,n,[event,this.ui()]);n!=="resize"&&this._trigger(n,event,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});$.ui.plugin.add("resizable","animate",{stop:function(event){var that=$(this).resizable("instance"),o=that.options,pr=that._proportionallyResizeElements,ista=pr.length&&/textarea/i.test(pr[0].nodeName),soffseth=ista&&that._hasScroll(pr[0],"left")?0:that.sizeDiff.height,soffsetw=ista?0:that.sizeDiff.width,style={width:that.size.width-soffsetw,height:that.size.height-soffseth},left=parseInt(that.element.css("left"),10)+(that.position.left-that.originalPosition.left)||null,top=parseInt(that.element.css("top"),10)+(that.position.top-that.originalPosition.top)||null;that.element.animate($.extend(style,top&&left?{top:top,left:left}:{}),{duration:o.animateDuration,easing:o.animateEasing,step:function(){var data={width:parseInt(that.element.css("width"),10),height:parseInt(that.element.css("height"),10),top:parseInt(that.element.css("top"),10),left:parseInt(that.element.css("left"),10)};if(pr&&pr.length){$(pr[0]).css({width:data.width,height:data.height})}that._updateCache(data);that._propagate("resize",event)}})}});$.ui.plugin.add("resizable","containment",{start:function(){var element,p,co,ch,cw,width,height,that=$(this).resizable("instance"),o=that.options,el=that.element,oc=o.containment,ce=oc instanceof $?oc.get(0):/parent/.test(oc)?el.parent().get(0):oc;if(!ce){return}that.containerElement=$(ce);if(/document/.test(oc)||oc===document){that.containerOffset={left:0,top:0};that.containerPosition={left:0,top:0};that.parentData={element:$(document),left:0,top:0,width:$(document).width(),height:$(document).height()||document.body.parentNode.scrollHeight}}else{element=$(ce);p=[];$(["Top","Right","Left","Bottom"]).each(function(i,name){p[i]=that._num(element.css("padding"+name))});that.containerOffset=element.offset();that.containerPosition=element.position();that.containerSize={height:element.innerHeight()-p[3],width:element.innerWidth()-p[1]};co=that.containerOffset;ch=that.containerSize.height;cw=that.containerSize.width;width=that._hasScroll(ce,"left")?ce.scrollWidth:cw;height=that._hasScroll(ce)?ce.scrollHeight:ch;that.parentData={element:ce,left:co.left,top:co.top,width:width,height:height}}},resize:function(event){var woset,hoset,isParent,isOffsetRelative,that=$(this).resizable("instance"),o=that.options,co=that.containerOffset,cp=that.position,pRatio=that._aspectRatio||event.shiftKey,cop={top:0,left:0},ce=that.containerElement,continueResize=true;
if(ce[0]!==document&&/static/.test(ce.css("position"))){cop=co}if(cp.left<(that._helper?co.left:0)){that.size.width=that.size.width+(that._helper?that.position.left-co.left:that.position.left-cop.left);if(pRatio){that.size.height=that.size.width/that.aspectRatio;continueResize=false}that.position.left=o.helper?co.left:0}if(cp.top<(that._helper?co.top:0)){that.size.height=that.size.height+(that._helper?that.position.top-co.top:that.position.top);if(pRatio){that.size.width=that.size.height*that.aspectRatio;continueResize=false}that.position.top=that._helper?co.top:0}isParent=that.containerElement.get(0)===that.element.parent().get(0);isOffsetRelative=/relative|absolute/.test(that.containerElement.css("position"));if(isParent&&isOffsetRelative){that.offset.left=that.parentData.left+that.position.left;that.offset.top=that.parentData.top+that.position.top}else{that.offset.left=that.element.offset().left;that.offset.top=that.element.offset().top}woset=Math.abs(that.sizeDiff.width+(that._helper?that.offset.left-cop.left:that.offset.left-co.left));hoset=Math.abs(that.sizeDiff.height+(that._helper?that.offset.top-cop.top:that.offset.top-co.top));if(woset+that.size.width>=that.parentData.width){that.size.width=that.parentData.width-woset;if(pRatio){that.size.height=that.size.width/that.aspectRatio;continueResize=false}}if(hoset+that.size.height>=that.parentData.height){that.size.height=that.parentData.height-hoset;if(pRatio){that.size.width=that.size.height*that.aspectRatio;continueResize=false}}if(!continueResize){that.position.left=that.prevPosition.left;that.position.top=that.prevPosition.top;that.size.width=that.prevSize.width;that.size.height=that.prevSize.height}},stop:function(){var that=$(this).resizable("instance"),o=that.options,co=that.containerOffset,cop=that.containerPosition,ce=that.containerElement,helper=$(that.helper),ho=helper.offset(),w=helper.outerWidth()-that.sizeDiff.width,h=helper.outerHeight()-that.sizeDiff.height;if(that._helper&&!o.animate&&/relative/.test(ce.css("position"))){$(this).css({left:ho.left-cop.left-co.left,width:w,height:h})}if(that._helper&&!o.animate&&/static/.test(ce.css("position"))){$(this).css({left:ho.left-cop.left-co.left,width:w,height:h})}}});$.ui.plugin.add("resizable","alsoResize",{start:function(){var that=$(this).resizable("instance"),o=that.options;$(o.alsoResize).each(function(){var el=$(this);el.data("ui-resizable-alsoresize",{width:parseInt(el.width(),10),height:parseInt(el.height(),10),left:parseInt(el.css("left"),10),top:parseInt(el.css("top"),10)})})},resize:function(event,ui){var that=$(this).resizable("instance"),o=that.options,os=that.originalSize,op=that.originalPosition,delta={height:that.size.height-os.height||0,width:that.size.width-os.width||0,top:that.position.top-op.top||0,left:that.position.left-op.left||0};$(o.alsoResize).each(function(){var el=$(this),start=$(this).data("ui-resizable-alsoresize"),style={},css=el.parents(ui.originalElement[0]).length?["width","height"]:["width","height","top","left"];$.each(css,function(i,prop){var sum=(start[prop]||0)+(delta[prop]||0);if(sum&&sum>=0){style[prop]=sum||null}});el.css(style)})},stop:function(){$(this).removeData("resizable-alsoresize")}});$.ui.plugin.add("resizable","ghost",{start:function(){var that=$(this).resizable("instance"),o=that.options,cs=that.size;that.ghost=that.originalElement.clone();that.ghost.css({opacity:.25,display:"block",position:"relative",height:cs.height,width:cs.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof o.ghost==="string"?o.ghost:"");that.ghost.appendTo(that.helper)},resize:function(){var that=$(this).resizable("instance");if(that.ghost){that.ghost.css({position:"relative",height:that.size.height,width:that.size.width})}},stop:function(){var that=$(this).resizable("instance");if(that.ghost&&that.helper){that.helper.get(0).removeChild(that.ghost.get(0))}}});$.ui.plugin.add("resizable","grid",{resize:function(){var outerDimensions,that=$(this).resizable("instance"),o=that.options,cs=that.size,os=that.originalSize,op=that.originalPosition,a=that.axis,grid=typeof o.grid==="number"?[o.grid,o.grid]:o.grid,gridX=grid[0]||1,gridY=grid[1]||1,ox=Math.round((cs.width-os.width)/gridX)*gridX,oy=Math.round((cs.height-os.height)/gridY)*gridY,newWidth=os.width+ox,newHeight=os.height+oy,isMaxWidth=o.maxWidth&&o.maxWidth<newWidth,isMaxHeight=o.maxHeight&&o.maxHeight<newHeight,isMinWidth=o.minWidth&&o.minWidth>newWidth,isMinHeight=o.minHeight&&o.minHeight>newHeight;o.grid=grid;if(isMinWidth){newWidth+=gridX}if(isMinHeight){newHeight+=gridY}if(isMaxWidth){newWidth-=gridX}if(isMaxHeight){newHeight-=gridY}if(/^(se|s|e)$/.test(a)){that.size.width=newWidth;that.size.height=newHeight}else if(/^(ne)$/.test(a)){that.size.width=newWidth;that.size.height=newHeight;that.position.top=op.top-oy}else if(/^(sw)$/.test(a)){that.size.width=newWidth;that.size.height=newHeight;that.position.left=op.left-ox}else{if(newHeight-gridY<=0||newWidth-gridX<=0){outerDimensions=that._getPaddingPlusBorderDimensions(this)}if(newHeight-gridY>0){that.size.height=newHeight;that.position.top=op.top-oy}else{newHeight=gridY-outerDimensions.height;that.size.height=newHeight;that.position.top=op.top+os.height-newHeight}if(newWidth-gridX>0){that.size.width=newWidth;that.position.left=op.left-ox}else{newWidth=gridX-outerDimensions.width;that.size.width=newWidth;that.position.left=op.left+os.width-newWidth}}}});var resizable=$.ui.resizable;var selectable=$.widget("ui.selectable",$.ui.mouse,{version:"1.11.4",options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var selectees,that=this;this.element.addClass("ui-selectable");this.dragged=false;this.refresh=function(){selectees=$(that.options.filter,that.element[0]);selectees.addClass("ui-selectee");selectees.each(function(){var $this=$(this),pos=$this.offset();$.data(this,"selectable-item",{element:this,$element:$this,left:pos.left,top:pos.top,right:pos.left+$this.outerWidth(),bottom:pos.top+$this.outerHeight(),startselected:false,selected:$this.hasClass("ui-selected"),selecting:$this.hasClass("ui-selecting"),unselecting:$this.hasClass("ui-unselecting")})})};this.refresh();this.selectees=selectees.addClass("ui-selectee");this._mouseInit();this.helper=$("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled");this._mouseDestroy()},_mouseStart:function(event){var that=this,options=this.options;this.opos=[event.pageX,event.pageY];if(this.options.disabled){return}this.selectees=$(options.filter,this.element[0]);this._trigger("start",event);$(options.appendTo).append(this.helper);this.helper.css({left:event.pageX,top:event.pageY,width:0,height:0});if(options.autoRefresh){this.refresh()}this.selectees.filter(".ui-selected").each(function(){var selectee=$.data(this,"selectable-item");selectee.startselected=true;if(!event.metaKey&&!event.ctrlKey){selectee.$element.removeClass("ui-selected");selectee.selected=false;selectee.$element.addClass("ui-unselecting");selectee.unselecting=true;that._trigger("unselecting",event,{unselecting:selectee.element})}});$(event.target).parents().addBack().each(function(){var doSelect,selectee=$.data(this,"selectable-item");if(selectee){doSelect=!event.metaKey&&!event.ctrlKey||!selectee.$element.hasClass("ui-selected");selectee.$element.removeClass(doSelect?"ui-unselecting":"ui-selected").addClass(doSelect?"ui-selecting":"ui-unselecting");selectee.unselecting=!doSelect;selectee.selecting=doSelect;selectee.selected=doSelect;if(doSelect){that._trigger("selecting",event,{selecting:selectee.element})}else{that._trigger("unselecting",event,{unselecting:selectee.element})}return false}})},_mouseDrag:function(event){this.dragged=true;if(this.options.disabled){return}var tmp,that=this,options=this.options,x1=this.opos[0],y1=this.opos[1],x2=event.pageX,y2=event.pageY;if(x1>x2){tmp=x2;x2=x1;x1=tmp}if(y1>y2){tmp=y2;y2=y1;y1=tmp}this.helper.css({left:x1,top:y1,width:x2-x1,height:y2-y1});this.selectees.each(function(){var selectee=$.data(this,"selectable-item"),hit=false;if(!selectee||selectee.element===that.element[0]){return}if(options.tolerance==="touch"){hit=!(selectee.left>x2||selectee.right<x1||selectee.top>y2||selectee.bottom<y1)}else if(options.tolerance==="fit"){hit=selectee.left>x1&&selectee.right<x2&&selectee.top>y1&&selectee.bottom<y2}if(hit){if(selectee.selected){selectee.$element.removeClass("ui-selected");selectee.selected=false}if(selectee.unselecting){selectee.$element.removeClass("ui-unselecting");selectee.unselecting=false}if(!selectee.selecting){selectee.$element.addClass("ui-selecting");selectee.selecting=true;that._trigger("selecting",event,{selecting:selectee.element})}}else{if(selectee.selecting){if((event.metaKey||event.ctrlKey)&&selectee.startselected){selectee.$element.removeClass("ui-selecting");selectee.selecting=false;selectee.$element.addClass("ui-selected");selectee.selected=true}else{selectee.$element.removeClass("ui-selecting");selectee.selecting=false;if(selectee.startselected){selectee.$element.addClass("ui-unselecting");selectee.unselecting=true}that._trigger("unselecting",event,{unselecting:selectee.element})}}if(selectee.selected){if(!event.metaKey&&!event.ctrlKey&&!selectee.startselected){selectee.$element.removeClass("ui-selected");selectee.selected=false;selectee.$element.addClass("ui-unselecting");selectee.unselecting=true;that._trigger("unselecting",event,{unselecting:selectee.element})}}}});return false},_mouseStop:function(event){var that=this;this.dragged=false;$(".ui-unselecting",this.element[0]).each(function(){var selectee=$.data(this,"selectable-item");selectee.$element.removeClass("ui-unselecting");selectee.unselecting=false;selectee.startselected=false;that._trigger("unselected",event,{unselected:selectee.element})});$(".ui-selecting",this.element[0]).each(function(){var selectee=$.data(this,"selectable-item");selectee.$element.removeClass("ui-selecting").addClass("ui-selected");selectee.selecting=false;selectee.selected=true;selectee.startselected=true;that._trigger("selected",event,{selected:selectee.element})});this._trigger("stop",event);this.helper.remove();return false}});var sortable=$.widget("ui.sortable",$.ui.mouse,{version:"1.11.4",widgetEventPrefix:"sort",ready:false,options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(x,reference,size){return x>=reference&&x<reference+size},_isFloating:function(item){return/left|right/.test(item.css("float"))||/inline|table-cell/.test(item.css("display"))},_create:function(){this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.offset=this.element.offset();this._mouseInit();this._setHandleClassName();this.ready=true},_setOption:function(key,value){this._super(key,value);if(key==="handle"){this._setHandleClassName()}},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle");$.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle");this._mouseDestroy();for(var i=this.items.length-1;i>=0;i--){this.items[i].item.removeData(this.widgetName+"-item")}return this},_mouseCapture:function(event,overrideHandle){var currentItem=null,validHandle=false,that=this;if(this.reverting){return false}if(this.options.disabled||this.options.type==="static"){return false}this._refreshItems(event);$(event.target).parents().each(function(){if($.data(this,that.widgetName+"-item")===that){currentItem=$(this);return false}});if($.data(event.target,that.widgetName+"-item")===that){currentItem=$(event.target)}if(!currentItem){return false}if(this.options.handle&&!overrideHandle){$(this.options.handle,currentItem).find("*").addBack().each(function(){if(this===event.target){validHandle=true}});if(!validHandle){return false}}this.currentItem=currentItem;this._removeCurrentsFromItems();return true},_mouseStart:function(event,overrideHandle,noActivation){var i,body,o=this.options;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(event);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};$.extend(this.offset,{click:{left:event.pageX-this.offset.left,top:event.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");this.originalPosition=this._generatePosition(event);this.originalPageX=event.pageX;this.originalPageY=event.pageY;o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!==this.currentItem[0]){this.currentItem.hide()}this._createPlaceholder();if(o.containment){this._setContainment()}if(o.cursor&&o.cursor!=="auto"){body=this.document.find("body");this.storedCursor=body.css("cursor");body.css("cursor",o.cursor);this.storedStylesheet=$("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(body)}if(o.opacity){if(this.helper.css("opacity")){this._storedOpacity=this.helper.css("opacity")}this.helper.css("opacity",o.opacity)}if(o.zIndex){if(this.helper.css("zIndex")){this._storedZIndex=this.helper.css("zIndex")}this.helper.css("zIndex",o.zIndex)}if(this.scrollParent[0]!==this.document[0]&&this.scrollParent[0].tagName!=="HTML"){this.overflowOffset=this.scrollParent.offset()}this._trigger("start",event,this._uiHash());if(!this._preserveHelperProportions){this._cacheHelperProportions()}if(!noActivation){for(i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("activate",event,this._uiHash(this))}}if($.ui.ddmanager){$.ui.ddmanager.current=this}if($.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(this,event)}this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(event);return true},_mouseDrag:function(event){var i,item,itemElement,intersection,o=this.options,scrolled=false;this.position=this._generatePosition(event);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs}if(this.options.scroll){if(this.scrollParent[0]!==this.document[0]&&this.scrollParent[0].tagName!=="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-event.pageY<o.scrollSensitivity){this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop+o.scrollSpeed}else if(event.pageY-this.overflowOffset.top<o.scrollSensitivity){this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop-o.scrollSpeed}if(this.overflowOffset.left+this.scrollParent[0].offsetWidth-event.pageX<o.scrollSensitivity){this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft+o.scrollSpeed}else if(event.pageX-this.overflowOffset.left<o.scrollSensitivity){this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft-o.scrollSpeed}}else{if(event.pageY-this.document.scrollTop()<o.scrollSensitivity){scrolled=this.document.scrollTop(this.document.scrollTop()-o.scrollSpeed)}else if(this.window.height()-(event.pageY-this.document.scrollTop())<o.scrollSensitivity){scrolled=this.document.scrollTop(this.document.scrollTop()+o.scrollSpeed)}if(event.pageX-this.document.scrollLeft()<o.scrollSensitivity){scrolled=this.document.scrollLeft(this.document.scrollLeft()-o.scrollSpeed)}else if(this.window.width()-(event.pageX-this.document.scrollLeft())<o.scrollSensitivity){scrolled=this.document.scrollLeft(this.document.scrollLeft()+o.scrollSpeed)}}if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(this,event)}}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!=="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!=="x"){this.helper[0].style.top=this.position.top+"px"}for(i=this.items.length-1;i>=0;i--){item=this.items[i];itemElement=item.item[0];intersection=this._intersectsWithPointer(item);if(!intersection){continue}if(item.instance!==this.currentContainer){continue}if(itemElement!==this.currentItem[0]&&this.placeholder[intersection===1?"next":"prev"]()[0]!==itemElement&&!$.contains(this.placeholder[0],itemElement)&&(this.options.type==="semi-dynamic"?!$.contains(this.element[0],itemElement):true)){this.direction=intersection===1?"down":"up";if(this.options.tolerance==="pointer"||this._intersectsWithSides(item)){this._rearrange(event,item)}else{break}this._trigger("change",event,this._uiHash());break}}this._contactContainers(event);if($.ui.ddmanager){$.ui.ddmanager.drag(this,event)}this._trigger("sort",event,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(event,noPropagation){if(!event){return}if($.ui.ddmanager&&!this.options.dropBehaviour){$.ui.ddmanager.drop(this,event)}if(this.options.revert){var that=this,cur=this.placeholder.offset(),axis=this.options.axis,animation={};if(!axis||axis==="x"){animation.left=cur.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)}if(!axis||axis==="y"){animation.top=cur.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)}this.reverting=true;$(this.helper).animate(animation,parseInt(this.options.revert,10)||500,function(){that._clear(event)})}else{this._clear(event,noPropagation)}return false},cancel:function(){if(this.dragging){this._mouseUp({target:null});if(this.options.helper==="original"){this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}for(var i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("deactivate",null,this._uiHash(this));if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",null,this._uiHash(this));this.containers[i].containerCache.over=0}}}if(this.placeholder){if(this.placeholder[0].parentNode){this.placeholder[0].parentNode.removeChild(this.placeholder[0])}if(this.options.helper!=="original"&&this.helper&&this.helper[0].parentNode){this.helper.remove()}$.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){$(this.domPosition.prev).after(this.currentItem)}else{$(this.domPosition.parent).prepend(this.currentItem)}}return this},serialize:function(o){var items=this._getItemsAsjQuery(o&&o.connected),str=[];o=o||{};$(items).each(function(){var res=($(o.item||this).attr(o.attribute||"id")||"").match(o.expression||/(.+)[\-=_](.+)/);if(res){str.push((o.key||res[1]+"[]")+"="+(o.key&&o.expression?res[1]:res[2]))}});if(!str.length&&o.key){str.push(o.key+"=")}return str.join("&")},toArray:function(o){var items=this._getItemsAsjQuery(o&&o.connected),ret=[];o=o||{};items.each(function(){ret.push($(o.item||this).attr(o.attribute||"id")||"")});return ret},_intersectsWith:function(item){var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height,l=item.left,r=l+item.width,t=item.top,b=t+item.height,dyClick=this.offset.click.top,dxClick=this.offset.click.left,isOverElementHeight=this.options.axis==="x"||y1+dyClick>t&&y1+dyClick<b,isOverElementWidth=this.options.axis==="y"||x1+dxClick>l&&x1+dxClick<r,isOverElement=isOverElementHeight&&isOverElementWidth;if(this.options.tolerance==="pointer"||this.options.forcePointerForContainers||this.options.tolerance!=="pointer"&&this.helperProportions[this.floating?"width":"height"]>item[this.floating?"width":"height"]){return isOverElement}else{return l<x1+this.helperProportions.width/2&&x2-this.helperProportions.width/2<r&&t<y1+this.helperProportions.height/2&&y2-this.helperProportions.height/2<b}},_intersectsWithPointer:function(item){var isOverElementHeight=this.options.axis==="x"||this._isOverAxis(this.positionAbs.top+this.offset.click.top,item.top,item.height),isOverElementWidth=this.options.axis==="y"||this._isOverAxis(this.positionAbs.left+this.offset.click.left,item.left,item.width),isOverElement=isOverElementHeight&&isOverElementWidth,verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection();if(!isOverElement){return false}return this.floating?horizontalDirection&&horizontalDirection==="right"||verticalDirection==="down"?2:1:verticalDirection&&(verticalDirection==="down"?2:1)},_intersectsWithSides:function(item){var isOverBottomHalf=this._isOverAxis(this.positionAbs.top+this.offset.click.top,item.top+item.height/2,item.height),isOverRightHalf=this._isOverAxis(this.positionAbs.left+this.offset.click.left,item.left+item.width/2,item.width),verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection();if(this.floating&&horizontalDirection){return horizontalDirection==="right"&&isOverRightHalf||horizontalDirection==="left"&&!isOverRightHalf}else{return verticalDirection&&(verticalDirection==="down"&&isOverBottomHalf||verticalDirection==="up"&&!isOverBottomHalf)}},_getDragVerticalDirection:function(){var delta=this.positionAbs.top-this.lastPositionAbs.top;return delta!==0&&(delta>0?"down":"up")},_getDragHorizontalDirection:function(){var delta=this.positionAbs.left-this.lastPositionAbs.left;return delta!==0&&(delta>0?"right":"left")},refresh:function(event){this._refreshItems(event);this._setHandleClassName();this.refreshPositions();return this},_connectWith:function(){var options=this.options;return options.connectWith.constructor===String?[options.connectWith]:options.connectWith},_getItemsAsjQuery:function(connected){var i,j,cur,inst,items=[],queries=[],connectWith=this._connectWith();if(connectWith&&connected){for(i=connectWith.length-1;i>=0;i--){cur=$(connectWith[i],this.document[0]);for(j=cur.length-1;j>=0;j--){inst=$.data(cur[j],this.widgetFullName);if(inst&&inst!==this&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element):$(inst.options.items,inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),inst])}}}}queries.push([$.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):$(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);function addItems(){items.push(this)}for(i=queries.length-1;i>=0;i--){queries[i][0].each(addItems)}return $(items)},_removeCurrentsFromItems:function(){var list=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=$.grep(this.items,function(item){for(var j=0;j<list.length;j++){if(list[j]===item.item[0]){return false}}return true})},_refreshItems:function(event){this.items=[];this.containers=[this];var i,j,cur,inst,targetData,_queries,item,queriesLength,items=this.items,queries=[[$.isFunction(this.options.items)?this.options.items.call(this.element[0],event,{item:this.currentItem}):$(this.options.items,this.element),this]],connectWith=this._connectWith();if(connectWith&&this.ready){for(i=connectWith.length-1;i>=0;i--){cur=$(connectWith[i],this.document[0]);for(j=cur.length-1;j>=0;j--){inst=$.data(cur[j],this.widgetFullName);if(inst&&inst!==this&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element[0],event,{item:this.currentItem}):$(inst.options.items,inst.element),inst]);this.containers.push(inst)}}}}for(i=queries.length-1;i>=0;i--){targetData=queries[i][1];_queries=queries[i][0];for(j=0,queriesLength=_queries.length;j<queriesLength;j++){item=$(_queries[j]);item.data(this.widgetName+"-item",targetData);items.push({item:item,instance:targetData,width:0,height:0,left:0,top:0})}}},refreshPositions:function(fast){this.floating=this.items.length?this.options.axis==="x"||this._isFloating(this.items[0].item):false;if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset()}var i,item,t,p;for(i=this.items.length-1;i>=0;i--){item=this.items[i];if(item.instance!==this.currentContainer&&this.currentContainer&&item.item[0]!==this.currentItem[0]){continue}t=this.options.toleranceElement?$(this.options.toleranceElement,item.item):item.item;if(!fast){item.width=t.outerWidth();item.height=t.outerHeight()}p=t.offset();item.left=p.left;item.top=p.top}if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this)}else{for(i=this.containers.length-1;i>=0;i--){p=this.containers[i].element.offset();this.containers[i].containerCache.left=p.left;this.containers[i].containerCache.top=p.top;this.containers[i].containerCache.width=this.containers[i].element.outerWidth();this.containers[i].containerCache.height=this.containers[i].element.outerHeight()}}return this},_createPlaceholder:function(that){that=that||this;var className,o=that.options;if(!o.placeholder||o.placeholder.constructor===String){className=o.placeholder;o.placeholder={element:function(){var nodeName=that.currentItem[0].nodeName.toLowerCase(),element=$("<"+nodeName+">",that.document[0]).addClass(className||that.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");if(nodeName==="tbody"){that._createTrPlaceholder(that.currentItem.find("tr").eq(0),$("<tr>",that.document[0]).appendTo(element))}else if(nodeName==="tr"){that._createTrPlaceholder(that.currentItem,element)}else if(nodeName==="img"){element.attr("src",that.currentItem.attr("src"))}if(!className){element.css("visibility","hidden")}return element},update:function(container,p){if(className&&!o.forcePlaceholderSize){return}if(!p.height()){p.height(that.currentItem.innerHeight()-parseInt(that.currentItem.css("paddingTop")||0,10)-parseInt(that.currentItem.css("paddingBottom")||0,10))}if(!p.width()){p.width(that.currentItem.innerWidth()-parseInt(that.currentItem.css("paddingLeft")||0,10)-parseInt(that.currentItem.css("paddingRight")||0,10))}}}}that.placeholder=$(o.placeholder.element.call(that.element,that.currentItem));that.currentItem.after(that.placeholder);o.placeholder.update(that,that.placeholder)},_createTrPlaceholder:function(sourceTr,targetTr){var that=this;sourceTr.children().each(function(){$("<td>&#160;</td>",that.document[0]).attr("colspan",$(this).attr("colspan")||1).appendTo(targetTr)})},_contactContainers:function(event){var i,j,dist,itemWithLeastDistance,posProperty,sizeProperty,cur,nearBottom,floating,axis,innermostContainer=null,innermostIndex=null;for(i=this.containers.length-1;i>=0;i--){if($.contains(this.currentItem[0],this.containers[i].element[0])){continue}if(this._intersectsWith(this.containers[i].containerCache)){if(innermostContainer&&$.contains(this.containers[i].element[0],innermostContainer.element[0])){continue}innermostContainer=this.containers[i];innermostIndex=i}else{if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",event,this._uiHash(this));this.containers[i].containerCache.over=0}}}if(!innermostContainer){return}if(this.containers.length===1){if(!this.containers[innermostIndex].containerCache.over){this.containers[innermostIndex]._trigger("over",event,this._uiHash(this));this.containers[innermostIndex].containerCache.over=1}}else{dist=1e4;itemWithLeastDistance=null;floating=innermostContainer.floating||this._isFloating(this.currentItem);posProperty=floating?"left":"top";sizeProperty=floating?"width":"height";axis=floating?"clientX":"clientY";for(j=this.items.length-1;j>=0;j--){if(!$.contains(this.containers[innermostIndex].element[0],this.items[j].item[0])){continue}if(this.items[j].item[0]===this.currentItem[0]){continue}cur=this.items[j].item.offset()[posProperty];nearBottom=false;if(event[axis]-cur>this.items[j][sizeProperty]/2){nearBottom=true}if(Math.abs(event[axis]-cur)<dist){dist=Math.abs(event[axis]-cur);itemWithLeastDistance=this.items[j];this.direction=nearBottom?"up":"down"}}if(!itemWithLeastDistance&&!this.options.dropOnEmpty){return}if(this.currentContainer===this.containers[innermostIndex]){if(!this.currentContainer.containerCache.over){this.containers[innermostIndex]._trigger("over",event,this._uiHash());this.currentContainer.containerCache.over=1}return}itemWithLeastDistance?this._rearrange(event,itemWithLeastDistance,null,true):this._rearrange(event,null,this.containers[innermostIndex].element,true);this._trigger("change",event,this._uiHash());this.containers[innermostIndex]._trigger("change",event,this._uiHash(this));this.currentContainer=this.containers[innermostIndex];this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[innermostIndex]._trigger("over",event,this._uiHash(this));this.containers[innermostIndex].containerCache.over=1}},_createHelper:function(event){var o=this.options,helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event,this.currentItem])):o.helper==="clone"?this.currentItem.clone():this.currentItem;if(!helper.parents("body").length){$(o.appendTo!=="parent"?o.appendTo:this.currentItem[0].parentNode)[0].appendChild(helper[0])}if(helper[0]===this.currentItem[0]){this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}}if(!helper[0].style.width||o.forceHelperSize){helper.width(this.currentItem.width())}if(!helper[0].style.height||o.forceHelperSize){helper.height(this.currentItem.height())}return helper},_adjustOffsetFromHelper:function(obj){if(typeof obj==="string"){obj=obj.split(" ")}if($.isArray(obj)){obj={left:+obj[0],top:+obj[1]||0}}if("left"in obj){this.offset.click.left=obj.left+this.margins.left}if("right"in obj){this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left}if("top"in obj){this.offset.click.top=obj.top+this.margins.top}if("bottom"in obj){this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.cssPosition==="absolute"&&this.scrollParent[0]!==this.document[0]&&$.contains(this.scrollParent[0],this.offsetParent[0])){po.left+=this.scrollParent.scrollLeft();po.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()==="html"&&$.ui.ie){po={top:0,left:0}}return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition==="relative"){var p=this.currentItem.position();return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var ce,co,over,o=this.options;
if(o.containment==="parent"){o.containment=this.helper[0].parentNode}if(o.containment==="document"||o.containment==="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,o.containment==="document"?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,(o.containment==="document"?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!/^(document|window|parent)$/.test(o.containment)){ce=$(o.containment)[0];co=$(o.containment).offset();over=$(ce).css("overflow")!=="hidden";this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)+(parseInt($(ce).css("paddingLeft"),10)||0)-this.margins.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)+(parseInt($(ce).css("paddingTop"),10)||0)-this.margins.top,co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-(parseInt($(ce).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-(parseInt($(ce).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(d,pos){if(!pos){pos=this.position}var mod=d==="absolute"?1:-1,scroll=this.cssPosition==="absolute"&&!(this.scrollParent[0]!==this.document[0]&&$.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=/(html|body)/i.test(scroll[0].tagName);return{top:pos.top+this.offset.relative.top*mod+this.offset.parent.top*mod-(this.cssPosition==="fixed"?-this.scrollParent.scrollTop():scrollIsRootNode?0:scroll.scrollTop())*mod,left:pos.left+this.offset.relative.left*mod+this.offset.parent.left*mod-(this.cssPosition==="fixed"?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod}},_generatePosition:function(event){var top,left,o=this.options,pageX=event.pageX,pageY=event.pageY,scroll=this.cssPosition==="absolute"&&!(this.scrollParent[0]!==this.document[0]&&$.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=/(html|body)/i.test(scroll[0].tagName);if(this.cssPosition==="relative"&&!(this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}if(this.originalPosition){if(this.containment){if(event.pageX-this.offset.click.left<this.containment[0]){pageX=this.containment[0]+this.offset.click.left}if(event.pageY-this.offset.click.top<this.containment[1]){pageY=this.containment[1]+this.offset.click.top}if(event.pageX-this.offset.click.left>this.containment[2]){pageX=this.containment[2]+this.offset.click.left}if(event.pageY-this.offset.click.top>this.containment[3]){pageY=this.containment[3]+this.offset.click.top}}if(o.grid){top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1];pageY=this.containment?top-this.offset.click.top>=this.containment[1]&&top-this.offset.click.top<=this.containment[3]?top:top-this.offset.click.top>=this.containment[1]?top-o.grid[1]:top+o.grid[1]:top;left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0];pageX=this.containment?left-this.offset.click.left>=this.containment[0]&&left-this.offset.click.left<=this.containment[2]?left:left-this.offset.click.left>=this.containment[0]?left-o.grid[0]:left+o.grid[0]:left}}return{top:pageY-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition==="fixed"?-this.scrollParent.scrollTop():scrollIsRootNode?0:scroll.scrollTop()),left:pageX-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition==="fixed"?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())}},_rearrange:function(event,i,a,hardRefresh){a?a[0].appendChild(this.placeholder[0]):i.item[0].parentNode.insertBefore(this.placeholder[0],this.direction==="down"?i.item[0]:i.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var counter=this.counter;this._delay(function(){if(counter===this.counter){this.refreshPositions(!hardRefresh)}})},_clear:function(event,noPropagation){this.reverting=false;var i,delayedTriggers=[];if(!this._noFinalSort&&this.currentItem.parent().length){this.placeholder.before(this.currentItem)}this._noFinalSort=null;if(this.helper[0]===this.currentItem[0]){for(i in this._storedCSS){if(this._storedCSS[i]==="auto"||this._storedCSS[i]==="static"){this._storedCSS[i]=""}}this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}if(this.fromOutside&&!noPropagation){delayedTriggers.push(function(event){this._trigger("receive",event,this._uiHash(this.fromOutside))})}if((this.fromOutside||this.domPosition.prev!==this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!==this.currentItem.parent()[0])&&!noPropagation){delayedTriggers.push(function(event){this._trigger("update",event,this._uiHash())})}if(this!==this.currentContainer){if(!noPropagation){delayedTriggers.push(function(event){this._trigger("remove",event,this._uiHash())});delayedTriggers.push(function(c){return function(event){c._trigger("receive",event,this._uiHash(this))}}.call(this,this.currentContainer));delayedTriggers.push(function(c){return function(event){c._trigger("update",event,this._uiHash(this))}}.call(this,this.currentContainer))}}function delayEvent(type,instance,container){return function(event){container._trigger(type,event,instance._uiHash(instance))}}for(i=this.containers.length-1;i>=0;i--){if(!noPropagation){delayedTriggers.push(delayEvent("deactivate",this,this.containers[i]))}if(this.containers[i].containerCache.over){delayedTriggers.push(delayEvent("out",this,this.containers[i]));this.containers[i].containerCache.over=0}}if(this.storedCursor){this.document.find("body").css("cursor",this.storedCursor);this.storedStylesheet.remove()}if(this._storedOpacity){this.helper.css("opacity",this._storedOpacity)}if(this._storedZIndex){this.helper.css("zIndex",this._storedZIndex==="auto"?"":this._storedZIndex)}this.dragging=false;if(!noPropagation){this._trigger("beforeStop",event,this._uiHash())}this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(!this.cancelHelperRemoval){if(this.helper[0]!==this.currentItem[0]){this.helper.remove()}this.helper=null}if(!noPropagation){for(i=0;i<delayedTriggers.length;i++){delayedTriggers[i].call(this,event)}this._trigger("stop",event,this._uiHash())}this.fromOutside=false;return!this.cancelHelperRemoval},_trigger:function(){if($.Widget.prototype._trigger.apply(this,arguments)===false){this.cancel()}},_uiHash:function(_inst){var inst=_inst||this;return{helper:inst.helper,placeholder:inst.placeholder||$([]),position:inst.position,originalPosition:inst.originalPosition,offset:inst.positionAbs,item:inst.currentItem,sender:_inst?_inst.element:null}}});var accordion=$.widget("ui.accordion",{version:"1.11.4",options:{active:0,animate:{},collapsible:false,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var options=this.options;this.prevShow=this.prevHide=$();this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist");if(!options.collapsible&&(options.active===false||options.active==null)){options.active=0}this._processPanels();if(options.active<0){options.active+=this.headers.length}this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:!this.active.length?$():this.active.next()}},_createIcons:function(){var icons=this.options.icons;if(icons){$("<span>").addClass("ui-accordion-header-icon ui-icon "+icons.header).prependTo(this.headers);this.active.children(".ui-accordion-header-icon").removeClass(icons.header).addClass(icons.activeHeader);this.headers.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var contents;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default "+"ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId();this._destroyIcons();contents=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom "+"ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId();if(this.options.heightStyle!=="content"){contents.css("height","")}},_setOption:function(key,value){if(key==="active"){this._activate(value);return}if(key==="event"){if(this.options.event){this._off(this.headers,this.options.event)}this._setupEvents(value)}this._super(key,value);if(key==="collapsible"&&!value&&this.options.active===false){this._activate(0)}if(key==="icons"){this._destroyIcons();if(value){this._createIcons()}}if(key==="disabled"){this.element.toggleClass("ui-state-disabled",!!value).attr("aria-disabled",value);this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!value)}},_keydown:function(event){if(event.altKey||event.ctrlKey){return}var keyCode=$.ui.keyCode,length=this.headers.length,currentIndex=this.headers.index(event.target),toFocus=false;switch(event.keyCode){case keyCode.RIGHT:case keyCode.DOWN:toFocus=this.headers[(currentIndex+1)%length];break;case keyCode.LEFT:case keyCode.UP:toFocus=this.headers[(currentIndex-1+length)%length];break;case keyCode.SPACE:case keyCode.ENTER:this._eventHandler(event);break;case keyCode.HOME:toFocus=this.headers[0];break;case keyCode.END:toFocus=this.headers[length-1];break}if(toFocus){$(event.target).attr("tabIndex",-1);$(toFocus).attr("tabIndex",0);toFocus.focus();event.preventDefault()}},_panelKeyDown:function(event){if(event.keyCode===$.ui.keyCode.UP&&event.ctrlKey){$(event.currentTarget).prev().focus()}},refresh:function(){var options=this.options;this._processPanels();if(options.active===false&&options.collapsible===true||!this.headers.length){options.active=false;this.active=$()}else if(options.active===false){this._activate(0)}else if(this.active.length&&!$.contains(this.element[0],this.active[0])){if(this.headers.length===this.headers.find(".ui-state-disabled").length){options.active=false;this.active=$()}else{this._activate(Math.max(0,options.active-1))}}else{options.active=this.headers.index(this.active)}this._destroyIcons();this._refresh()},_processPanels:function(){var prevHeaders=this.headers,prevPanels=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all");this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide();if(prevPanels){this._off(prevHeaders.not(this.headers));this._off(prevPanels.not(this.panels))}},_refresh:function(){var maxHeight,options=this.options,heightStyle=options.heightStyle,parent=this.element.parent();this.active=this._findActive(options.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all");this.active.next().addClass("ui-accordion-content-active").show();this.headers.attr("role","tab").each(function(){var header=$(this),headerId=header.uniqueId().attr("id"),panel=header.next(),panelId=panel.uniqueId().attr("id");header.attr("aria-controls",panelId);panel.attr("aria-labelledby",headerId)}).next().attr("role","tabpanel");this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide();if(!this.active.length){this.headers.eq(0).attr("tabIndex",0)}else{this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"})}this._createIcons();this._setupEvents(options.event);if(heightStyle==="fill"){maxHeight=parent.height();this.element.siblings(":visible").each(function(){var elem=$(this),position=elem.css("position");if(position==="absolute"||position==="fixed"){return}maxHeight-=elem.outerHeight(true)});this.headers.each(function(){maxHeight-=$(this).outerHeight(true)});this.headers.next().each(function(){$(this).height(Math.max(0,maxHeight-$(this).innerHeight()+$(this).height()))}).css("overflow","auto")}else if(heightStyle==="auto"){maxHeight=0;this.headers.next().each(function(){maxHeight=Math.max(maxHeight,$(this).css("height","").height())}).height(maxHeight)}},_activate:function(index){var active=this._findActive(index)[0];if(active===this.active[0]){return}active=active||this.active[0];this._eventHandler({target:active,currentTarget:active,preventDefault:$.noop})},_findActive:function(selector){return typeof selector==="number"?this.headers.eq(selector):$()},_setupEvents:function(event){var events={keydown:"_keydown"};if(event){$.each(event.split(" "),function(index,eventName){events[eventName]="_eventHandler"})}this._off(this.headers.add(this.headers.next()));this._on(this.headers,events);this._on(this.headers.next(),{keydown:"_panelKeyDown"});this._hoverable(this.headers);this._focusable(this.headers)},_eventHandler:function(event){var options=this.options,active=this.active,clicked=$(event.currentTarget),clickedIsActive=clicked[0]===active[0],collapsing=clickedIsActive&&options.collapsible,toShow=collapsing?$():clicked.next(),toHide=active.next(),eventData={oldHeader:active,oldPanel:toHide,newHeader:collapsing?$():clicked,newPanel:toShow};event.preventDefault();if(clickedIsActive&&!options.collapsible||this._trigger("beforeActivate",event,eventData)===false){return}options.active=collapsing?false:this.headers.index(clicked);this.active=clickedIsActive?$():clicked;this._toggle(eventData);active.removeClass("ui-accordion-header-active ui-state-active");if(options.icons){active.children(".ui-accordion-header-icon").removeClass(options.icons.activeHeader).addClass(options.icons.header)}if(!clickedIsActive){clicked.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top");if(options.icons){clicked.children(".ui-accordion-header-icon").removeClass(options.icons.header).addClass(options.icons.activeHeader)}clicked.next().addClass("ui-accordion-content-active")}},_toggle:function(data){var toShow=data.newPanel,toHide=this.prevShow.length?this.prevShow:data.oldPanel;this.prevShow.add(this.prevHide).stop(true,true);this.prevShow=toShow;this.prevHide=toHide;if(this.options.animate){this._animate(toShow,toHide,data)}else{toHide.hide();toShow.show();this._toggleComplete(data)}toHide.attr({"aria-hidden":"true"});toHide.prev().attr({"aria-selected":"false","aria-expanded":"false"});if(toShow.length&&toHide.length){toHide.prev().attr({tabIndex:-1,"aria-expanded":"false"})}else if(toShow.length){this.headers.filter(function(){return parseInt($(this).attr("tabIndex"),10)===0}).attr("tabIndex",-1)}toShow.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(toShow,toHide,data){var total,easing,duration,that=this,adjust=0,boxSizing=toShow.css("box-sizing"),down=toShow.length&&(!toHide.length||toShow.index()<toHide.index()),animate=this.options.animate||{},options=down&&animate.down||animate,complete=function(){that._toggleComplete(data)};if(typeof options==="number"){duration=options}if(typeof options==="string"){easing=options}easing=easing||options.easing||animate.easing;duration=duration||options.duration||animate.duration;if(!toHide.length){return toShow.animate(this.showProps,duration,easing,complete)}if(!toShow.length){return toHide.animate(this.hideProps,duration,easing,complete)}total=toShow.show().outerHeight();toHide.animate(this.hideProps,{duration:duration,easing:easing,step:function(now,fx){fx.now=Math.round(now)}});toShow.hide().animate(this.showProps,{duration:duration,easing:easing,complete:complete,step:function(now,fx){fx.now=Math.round(now);if(fx.prop!=="height"){if(boxSizing==="content-box"){adjust+=fx.now}}else if(that.options.heightStyle!=="content"){fx.now=Math.round(total-toHide.outerHeight()-adjust);adjust=0}}})},_toggleComplete:function(data){var toHide=data.oldPanel;toHide.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all");if(toHide.length){toHide.parent()[0].className=toHide.parent()[0].className}this._trigger("activate",null,data)}});var menu=$.widget("ui.menu",{version:"1.11.4",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element;this.mouseHandled=false;this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0});if(this.options.disabled){this.element.addClass("ui-state-disabled").attr("aria-disabled","true")}this._on({"mousedown .ui-menu-item":function(event){event.preventDefault()},"click .ui-menu-item":function(event){var target=$(event.target);if(!this.mouseHandled&&target.not(".ui-state-disabled").length){this.select(event);if(!event.isPropagationStopped()){this.mouseHandled=true}if(target.has(".ui-menu").length){this.expand(event)}else if(!this.element.is(":focus")&&$(this.document[0].activeElement).closest(".ui-menu").length){this.element.trigger("focus",[true]);if(this.active&&this.active.parents(".ui-menu").length===1){clearTimeout(this.timer)}}}},"mouseenter .ui-menu-item":function(event){if(this.previousFilter){return}var target=$(event.currentTarget);target.siblings(".ui-state-active").removeClass("ui-state-active");this.focus(event,target)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(event,keepActiveItem){var item=this.active||this.element.find(this.options.items).eq(0);if(!keepActiveItem){this.focus(event,item)}},blur:function(event){this._delay(function(){if(!$.contains(this.element[0],this.document[0].activeElement)){this.collapseAll(event)}})},keydown:"_keydown"});this.refresh();this._on(this.document,{click:function(event){if(this._closeOnDocumentClick(event)){this.collapseAll(event)}this.mouseHandled=false}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show();this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var elem=$(this);if(elem.data("ui-menu-submenu-carat")){elem.remove()}});this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(event){var match,prev,character,skip,preventDefault=true;switch(event.keyCode){case $.ui.keyCode.PAGE_UP:this.previousPage(event);break;case $.ui.keyCode.PAGE_DOWN:this.nextPage(event);break;case $.ui.keyCode.HOME:this._move("first","first",event);break;case $.ui.keyCode.END:this._move("last","last",event);break;case $.ui.keyCode.UP:this.previous(event);break;case $.ui.keyCode.DOWN:this.next(event);break;case $.ui.keyCode.LEFT:this.collapse(event);break;case $.ui.keyCode.RIGHT:if(this.active&&!this.active.is(".ui-state-disabled")){this.expand(event)}break;case $.ui.keyCode.ENTER:case $.ui.keyCode.SPACE:this._activate(event);break;case $.ui.keyCode.ESCAPE:this.collapse(event);break;default:preventDefault=false;prev=this.previousFilter||"";character=String.fromCharCode(event.keyCode);skip=false;clearTimeout(this.filterTimer);if(character===prev){skip=true}else{character=prev+character}match=this._filterMenuItems(character);match=skip&&match.index(this.active.next())!==-1?this.active.nextAll(".ui-menu-item"):match;if(!match.length){character=String.fromCharCode(event.keyCode);match=this._filterMenuItems(character)}if(match.length){this.focus(event,match);this.previousFilter=character;this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)}else{delete this.previousFilter}}if(preventDefault){event.preventDefault()}},_activate:function(event){if(!this.active.is(".ui-state-disabled")){if(this.active.is("[aria-haspopup='true']")){this.expand(event)}else{this.select(event)}}},refresh:function(){var menus,items,that=this,icon=this.options.icons.submenu,submenus=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length);submenus.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var menu=$(this),item=menu.parent(),submenuCarat=$("<span>").addClass("ui-menu-icon ui-icon "+icon).data("ui-menu-submenu-carat",true);item.attr("aria-haspopup","true").prepend(submenuCarat);menu.attr("aria-labelledby",item.attr("id"))});menus=submenus.add(this.element);items=menus.find(this.options.items);items.not(".ui-menu-item").each(function(){var item=$(this);if(that._isDivider(item)){item.addClass("ui-widget-content ui-menu-divider")}});items.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()});items.filter(".ui-state-disabled").attr("aria-disabled","true");if(this.active&&!$.contains(this.element[0],this.active[0])){this.blur()}},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(key,value){if(key==="icons"){this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(value.submenu)}if(key==="disabled"){this.element.toggleClass("ui-state-disabled",!!value).attr("aria-disabled",value)}this._super(key,value)},focus:function(event,item){var nested,focused;this.blur(event,event&&event.type==="focus");this._scrollIntoView(item);this.active=item.first();focused=this.active.addClass("ui-state-focus").removeClass("ui-state-active");if(this.options.role){this.element.attr("aria-activedescendant",focused.attr("id"))}this.active.parent().closest(".ui-menu-item").addClass("ui-state-active");if(event&&event.type==="keydown"){this._close()}else{this.timer=this._delay(function(){this._close()},this.delay)}nested=item.children(".ui-menu");if(nested.length&&event&&/^mouse/.test(event.type)){this._startOpening(nested)}this.activeMenu=item.parent();this._trigger("focus",event,{item:item})},_scrollIntoView:function(item){var borderTop,paddingTop,offset,scroll,elementHeight,itemHeight;if(this._hasScroll()){borderTop=parseFloat($.css(this.activeMenu[0],"borderTopWidth"))||0;paddingTop=parseFloat($.css(this.activeMenu[0],"paddingTop"))||0;offset=item.offset().top-this.activeMenu.offset().top-borderTop-paddingTop;scroll=this.activeMenu.scrollTop();elementHeight=this.activeMenu.height();itemHeight=item.outerHeight();if(offset<0){this.activeMenu.scrollTop(scroll+offset)}else if(offset+itemHeight>elementHeight){this.activeMenu.scrollTop(scroll+offset-elementHeight+itemHeight)}}},blur:function(event,fromFocus){if(!fromFocus){clearTimeout(this.timer)}if(!this.active){return}this.active.removeClass("ui-state-focus");this.active=null;this._trigger("blur",event,{item:this.active})},_startOpening:function(submenu){clearTimeout(this.timer);if(submenu.attr("aria-hidden")!=="true"){return}this.timer=this._delay(function(){this._close();this._open(submenu)},this.delay)},_open:function(submenu){var position=$.extend({of:this.active},this.options.position);clearTimeout(this.timer);this.element.find(".ui-menu").not(submenu.parents(".ui-menu")).hide().attr("aria-hidden","true");submenu.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(position)},collapseAll:function(event,all){clearTimeout(this.timer);this.timer=this._delay(function(){var currentMenu=all?this.element:$(event&&event.target).closest(this.element.find(".ui-menu"));if(!currentMenu.length){currentMenu=this.element}this._close(currentMenu);this.blur(event);this.activeMenu=currentMenu},this.delay)},_close:function(startMenu){if(!startMenu){startMenu=this.active?this.active.parent():this.element}startMenu.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(event){return!$(event.target).closest(".ui-menu").length},_isDivider:function(item){return!/[^\-\u2014\u2013\s]/.test(item.text())},collapse:function(event){var newItem=this.active&&this.active.parent().closest(".ui-menu-item",this.element);if(newItem&&newItem.length){this._close();this.focus(event,newItem)}},expand:function(event){var newItem=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();if(newItem&&newItem.length){this._open(newItem.parent());this._delay(function(){this.focus(event,newItem)})}},next:function(event){this._move("next","first",event)},previous:function(event){this._move("prev","last",event)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(direction,filter,event){var next;if(this.active){if(direction==="first"||direction==="last"){next=this.active[direction==="first"?"prevAll":"nextAll"](".ui-menu-item").eq(-1)}else{next=this.active[direction+"All"](".ui-menu-item").eq(0)}}if(!next||!next.length||!this.active){next=this.activeMenu.find(this.options.items)[filter]()}this.focus(event,next)},nextPage:function(event){var item,base,height;if(!this.active){this.next(event);return}if(this.isLastItem()){return}if(this._hasScroll()){base=this.active.offset().top;height=this.element.height();this.active.nextAll(".ui-menu-item").each(function(){item=$(this);return item.offset().top-base-height<0});this.focus(event,item)}else{this.focus(event,this.activeMenu.find(this.options.items)[!this.active?"first":"last"]())}},previousPage:function(event){var item,base,height;if(!this.active){this.next(event);return}if(this.isFirstItem()){return}if(this._hasScroll()){base=this.active.offset().top;height=this.element.height();this.active.prevAll(".ui-menu-item").each(function(){item=$(this);return item.offset().top-base+height>0});this.focus(event,item)}else{this.focus(event,this.activeMenu.find(this.options.items).first())}},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(event){this.active=this.active||$(event.target).closest(".ui-menu-item");var ui={item:this.active};if(!this.active.has(".ui-menu").length){this.collapseAll(event,true)}this._trigger("select",event,ui)},_filterMenuItems:function(character){var escapedCharacter=character.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),regex=new RegExp("^"+escapedCharacter,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return regex.test($.trim($(this).text()))})}});$.widget("ui.autocomplete",{version:"1.11.4",defaultElement:"<input>",options:{appendTo:null,autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var suppressKeyPress,suppressKeyPressRepeat,suppressInput,nodeName=this.element[0].nodeName.toLowerCase(),isTextarea=nodeName==="textarea",isInput=nodeName==="input";this.isMultiLine=isTextarea?true:isInput?false:this.element.prop("isContentEditable");this.valueMethod=this.element[isTextarea||isInput?"val":"text"];this.isNewMenu=true;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off");this._on(this.element,{keydown:function(event){if(this.element.prop("readOnly")){suppressKeyPress=true;suppressInput=true;suppressKeyPressRepeat=true;return}suppressKeyPress=false;suppressInput=false;suppressKeyPressRepeat=false;var keyCode=$.ui.keyCode;switch(event.keyCode){case keyCode.PAGE_UP:suppressKeyPress=true;this._move("previousPage",event);break;case keyCode.PAGE_DOWN:suppressKeyPress=true;this._move("nextPage",event);break;case keyCode.UP:suppressKeyPress=true;this._keyEvent("previous",event);break;case keyCode.DOWN:suppressKeyPress=true;this._keyEvent("next",event);break;case keyCode.ENTER:if(this.menu.active){suppressKeyPress=true;event.preventDefault();this.menu.select(event)}break;case keyCode.TAB:if(this.menu.active){this.menu.select(event)}break;case keyCode.ESCAPE:if(this.menu.element.is(":visible")){if(!this.isMultiLine){this._value(this.term)}this.close(event);event.preventDefault()}break;default:suppressKeyPressRepeat=true;this._searchTimeout(event);break}},keypress:function(event){if(suppressKeyPress){suppressKeyPress=false;if(!this.isMultiLine||this.menu.element.is(":visible")){event.preventDefault()}return}if(suppressKeyPressRepeat){return}var keyCode=$.ui.keyCode;switch(event.keyCode){case keyCode.PAGE_UP:this._move("previousPage",event);break;case keyCode.PAGE_DOWN:this._move("nextPage",event);break;case keyCode.UP:this._keyEvent("previous",event);break;case keyCode.DOWN:this._keyEvent("next",event);break}},input:function(event){if(suppressInput){suppressInput=false;event.preventDefault();return}this._searchTimeout(event)},focus:function(){this.selectedItem=null;this.previous=this._value()},blur:function(event){if(this.cancelBlur){delete this.cancelBlur;return}clearTimeout(this.searching);this.close(event);this._change(event)}});this._initSource();this.menu=$("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance");this._on(this.menu.element,{mousedown:function(event){event.preventDefault();this.cancelBlur=true;this._delay(function(){delete this.cancelBlur});var menuElement=this.menu.element[0];if(!$(event.target).closest(".ui-menu-item").length){this._delay(function(){var that=this;this.document.one("mousedown",function(event){if(event.target!==that.element[0]&&event.target!==menuElement&&!$.contains(menuElement,event.target)){that.close()}})})}},menufocus:function(event,ui){var label,item;if(this.isNewMenu){this.isNewMenu=false;if(event.originalEvent&&/^mouse/.test(event.originalEvent.type)){this.menu.blur();this.document.one("mousemove",function(){$(event.target).trigger(event.originalEvent)});return}}item=ui.item.data("ui-autocomplete-item");if(false!==this._trigger("focus",event,{item:item})){if(event.originalEvent&&/^key/.test(event.originalEvent.type)){this._value(item.value)}}label=ui.item.attr("aria-label")||item.value;if(label&&$.trim(label).length){this.liveRegion.children().hide();$("<div>").text(label).appendTo(this.liveRegion)}},menuselect:function(event,ui){var item=ui.item.data("ui-autocomplete-item"),previous=this.previous;if(this.element[0]!==this.document[0].activeElement){this.element.focus();this.previous=previous;this._delay(function(){this.previous=previous;this.selectedItem=item})}if(false!==this._trigger("select",event,{item:item})){this._value(item.value)}this.term=this._value();this.close(event);
this.selectedItem=item}});this.liveRegion=$("<span>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body);this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching);this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete");this.menu.element.remove();this.liveRegion.remove()},_setOption:function(key,value){this._super(key,value);if(key==="source"){this._initSource()}if(key==="appendTo"){this.menu.element.appendTo(this._appendTo())}if(key==="disabled"&&value&&this.xhr){this.xhr.abort()}},_appendTo:function(){var element=this.options.appendTo;if(element){element=element.jquery||element.nodeType?$(element):this.document.find(element).eq(0)}if(!element||!element[0]){element=this.element.closest(".ui-front")}if(!element.length){element=this.document[0].body}return element},_initSource:function(){var array,url,that=this;if($.isArray(this.options.source)){array=this.options.source;this.source=function(request,response){response($.ui.autocomplete.filter(array,request.term))}}else if(typeof this.options.source==="string"){url=this.options.source;this.source=function(request,response){if(that.xhr){that.xhr.abort()}that.xhr=$.ajax({url:url,data:request,dataType:"json",success:function(data){response(data)},error:function(){response([])}})}}else{this.source=this.options.source}},_searchTimeout:function(event){clearTimeout(this.searching);this.searching=this._delay(function(){var equalValues=this.term===this._value(),menuVisible=this.menu.element.is(":visible"),modifierKey=event.altKey||event.ctrlKey||event.metaKey||event.shiftKey;if(!equalValues||equalValues&&!menuVisible&&!modifierKey){this.selectedItem=null;this.search(null,event)}},this.options.delay)},search:function(value,event){value=value!=null?value:this._value();this.term=this._value();if(value.length<this.options.minLength){return this.close(event)}if(this._trigger("search",event)===false){return}return this._search(value)},_search:function(value){this.pending++;this.element.addClass("ui-autocomplete-loading");this.cancelSearch=false;this.source({term:value},this._response())},_response:function(){var index=++this.requestIndex;return $.proxy(function(content){if(index===this.requestIndex){this.__response(content)}this.pending--;if(!this.pending){this.element.removeClass("ui-autocomplete-loading")}},this)},__response:function(content){if(content){content=this._normalize(content)}this._trigger("response",null,{content:content});if(!this.options.disabled&&content&&content.length&&!this.cancelSearch){this._suggest(content);this._trigger("open")}else{this._close()}},close:function(event){this.cancelSearch=true;this._close(event)},_close:function(event){if(this.menu.element.is(":visible")){this.menu.element.hide();this.menu.blur();this.isNewMenu=true;this._trigger("close",event)}},_change:function(event){if(this.previous!==this._value()){this._trigger("change",event,{item:this.selectedItem})}},_normalize:function(items){if(items.length&&items[0].label&&items[0].value){return items}return $.map(items,function(item){if(typeof item==="string"){return{label:item,value:item}}return $.extend({},item,{label:item.label||item.value,value:item.value||item.label})})},_suggest:function(items){var ul=this.menu.element.empty();this._renderMenu(ul,items);this.isNewMenu=true;this.menu.refresh();ul.show();this._resizeMenu();ul.position($.extend({of:this.element},this.options.position));if(this.options.autoFocus){this.menu.next()}},_resizeMenu:function(){var ul=this.menu.element;ul.outerWidth(Math.max(ul.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(ul,items){var that=this;$.each(items,function(index,item){that._renderItemData(ul,item)})},_renderItemData:function(ul,item){return this._renderItem(ul,item).data("ui-autocomplete-item",item)},_renderItem:function(ul,item){return $("<li>").text(item.label).appendTo(ul)},_move:function(direction,event){if(!this.menu.element.is(":visible")){this.search(null,event);return}if(this.menu.isFirstItem()&&/^previous/.test(direction)||this.menu.isLastItem()&&/^next/.test(direction)){if(!this.isMultiLine){this._value(this.term)}this.menu.blur();return}this.menu[direction](event)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(keyEvent,event){if(!this.isMultiLine||this.menu.element.is(":visible")){this._move(keyEvent,event);event.preventDefault()}}});$.extend($.ui.autocomplete,{escapeRegex:function(value){return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(array,term){var matcher=new RegExp($.ui.autocomplete.escapeRegex(term),"i");return $.grep(array,function(value){return matcher.test(value.label||value.value||value)})}});$.widget("ui.autocomplete",$.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(amount){return amount+(amount>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(content){var message;this._superApply(arguments);if(this.options.disabled||this.cancelSearch){return}if(content&&content.length){message=this.options.messages.results(content.length)}else{message=this.options.messages.noResults}this.liveRegion.children().hide();$("<div>").text(message).appendTo(this.liveRegion)}});var autocomplete=$.ui.autocomplete;var lastActive,baseClasses="ui-button ui-widget ui-state-default ui-corner-all",typeClasses="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",formResetHandler=function(){var form=$(this);setTimeout(function(){form.find(":ui-button").button("refresh")},1)},radioGroup=function(radio){var name=radio.name,form=radio.form,radios=$([]);if(name){name=name.replace(/'/g,"\\'");if(form){radios=$(form).find("[name='"+name+"'][type=radio]")}else{radios=$("[name='"+name+"'][type=radio]",radio.ownerDocument).filter(function(){return!this.form})}}return radios};$.widget("ui.button",{version:"1.11.4",defaultElement:"<button>",options:{disabled:null,text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,formResetHandler);if(typeof this.options.disabled!=="boolean"){this.options.disabled=!!this.element.prop("disabled")}else{this.element.prop("disabled",this.options.disabled)}this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var that=this,options=this.options,toggleButton=this.type==="checkbox"||this.type==="radio",activeClass=!toggleButton?"ui-state-active":"";if(options.label===null){options.label=this.type==="input"?this.buttonElement.val():this.buttonElement.html()}this._hoverable(this.buttonElement);this.buttonElement.addClass(baseClasses).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){if(options.disabled){return}if(this===lastActive){$(this).addClass("ui-state-active")}}).bind("mouseleave"+this.eventNamespace,function(){if(options.disabled){return}$(this).removeClass(activeClass)}).bind("click"+this.eventNamespace,function(event){if(options.disabled){event.preventDefault();event.stopImmediatePropagation()}});this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}});if(toggleButton){this.element.bind("change"+this.eventNamespace,function(){that.refresh()})}if(this.type==="checkbox"){this.buttonElement.bind("click"+this.eventNamespace,function(){if(options.disabled){return false}})}else if(this.type==="radio"){this.buttonElement.bind("click"+this.eventNamespace,function(){if(options.disabled){return false}$(this).addClass("ui-state-active");that.buttonElement.attr("aria-pressed","true");var radio=that.element[0];radioGroup(radio).not(radio).map(function(){return $(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")})}else{this.buttonElement.bind("mousedown"+this.eventNamespace,function(){if(options.disabled){return false}$(this).addClass("ui-state-active");lastActive=this;that.document.one("mouseup",function(){lastActive=null})}).bind("mouseup"+this.eventNamespace,function(){if(options.disabled){return false}$(this).removeClass("ui-state-active")}).bind("keydown"+this.eventNamespace,function(event){if(options.disabled){return false}if(event.keyCode===$.ui.keyCode.SPACE||event.keyCode===$.ui.keyCode.ENTER){$(this).addClass("ui-state-active")}}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){$(this).removeClass("ui-state-active")});if(this.buttonElement.is("a")){this.buttonElement.keyup(function(event){if(event.keyCode===$.ui.keyCode.SPACE){$(this).click()}})}}this._setOption("disabled",options.disabled);this._resetButton()},_determineButtonType:function(){var ancestor,labelSelector,checked;if(this.element.is("[type=checkbox]")){this.type="checkbox"}else if(this.element.is("[type=radio]")){this.type="radio"}else if(this.element.is("input")){this.type="input"}else{this.type="button"}if(this.type==="checkbox"||this.type==="radio"){ancestor=this.element.parents().last();labelSelector="label[for='"+this.element.attr("id")+"']";this.buttonElement=ancestor.find(labelSelector);if(!this.buttonElement.length){ancestor=ancestor.length?ancestor.siblings():this.element.siblings();this.buttonElement=ancestor.filter(labelSelector);if(!this.buttonElement.length){this.buttonElement=ancestor.find(labelSelector)}}this.element.addClass("ui-helper-hidden-accessible");checked=this.element.is(":checked");if(checked){this.buttonElement.addClass("ui-state-active")}this.buttonElement.prop("aria-pressed",checked)}else{this.buttonElement=this.element}},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass(baseClasses+" ui-state-active "+typeClasses).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());if(!this.hasTitle){this.buttonElement.removeAttr("title")}},_setOption:function(key,value){this._super(key,value);if(key==="disabled"){this.widget().toggleClass("ui-state-disabled",!!value);this.element.prop("disabled",!!value);if(value){if(this.type==="checkbox"||this.type==="radio"){this.buttonElement.removeClass("ui-state-focus")}else{this.buttonElement.removeClass("ui-state-focus ui-state-active")}}return}this._resetButton()},refresh:function(){var isDisabled=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");if(isDisabled!==this.options.disabled){this._setOption("disabled",isDisabled)}if(this.type==="radio"){radioGroup(this.element[0]).each(function(){if($(this).is(":checked")){$(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true")}else{$(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}})}else if(this.type==="checkbox"){if(this.element.is(":checked")){this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true")}else{this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false")}}},_resetButton:function(){if(this.type==="input"){if(this.options.label){this.element.val(this.options.label)}return}var buttonElement=this.buttonElement.removeClass(typeClasses),buttonText=$("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(buttonElement.empty()).text(),icons=this.options.icons,multipleIcons=icons.primary&&icons.secondary,buttonClasses=[];if(icons.primary||icons.secondary){if(this.options.text){buttonClasses.push("ui-button-text-icon"+(multipleIcons?"s":icons.primary?"-primary":"-secondary"))}if(icons.primary){buttonElement.prepend("<span class='ui-button-icon-primary ui-icon "+icons.primary+"'></span>")}if(icons.secondary){buttonElement.append("<span class='ui-button-icon-secondary ui-icon "+icons.secondary+"'></span>")}if(!this.options.text){buttonClasses.push(multipleIcons?"ui-button-icons-only":"ui-button-icon-only");if(!this.hasTitle){buttonElement.attr("title",$.trim(buttonText))}}}else{buttonClasses.push("ui-button-text-only")}buttonElement.addClass(buttonClasses.join(" "))}});$.widget("ui.buttonset",{version:"1.11.4",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(key,value){if(key==="disabled"){this.buttons.button("option",key,value)}this._super(key,value)},refresh:function(){var rtl=this.element.css("direction")==="rtl",allButtons=this.element.find(this.options.items),existingButtons=allButtons.filter(":ui-button");allButtons.not(":ui-button").button();existingButtons.button("refresh");this.buttons=allButtons.map(function(){return $(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(rtl?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(rtl?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return $(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}});var button=$.ui.button;$.extend($.ui,{datepicker:{version:"1.11.4"}});var datepicker_instActive;function datepicker_getZindex(elem){var position,value;while(elem.length&&elem[0]!==document){position=elem.css("position");if(position==="absolute"||position==="relative"||position==="fixed"){value=parseInt(elem.css("zIndex"),10);if(!isNaN(value)&&value!==0){return value}}elem=elem.parent()}return 0}function Datepicker(){this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._datepickerShowing=false;this._inDialog=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass="ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false,disabled:false};$.extend(this._defaults,this.regional[""]);this.regional.en=$.extend(true,{},this.regional[""]);this.regional["en-US"]=$.extend(true,{},this.regional.en);this.dpDiv=datepicker_bindHover($("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(settings){datepicker_extendRemove(this._defaults,settings||{});return this},_attachDatepicker:function(target,settings){var nodeName,inline,inst;nodeName=target.nodeName.toLowerCase();inline=nodeName==="div"||nodeName==="span";if(!target.id){this.uuid+=1;target.id="dp"+this.uuid}inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{});if(nodeName==="input"){this._connectDatepicker(target,inst)}else if(inline){this._inlineDatepicker(target,inst)}},_newInst:function(target,inline){var id=target[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:id,input:target,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:inline,dpDiv:!inline?this.dpDiv:datepicker_bindHover($("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}},_connectDatepicker:function(target,inst){var input=$(target);inst.append=$([]);inst.trigger=$([]);if(input.hasClass(this.markerClassName)){return}this._attachments(input,inst);input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp);this._autoSize(inst);$.data(target,"datepicker",inst);if(inst.settings.disabled){this._disableDatepicker(target)}},_attachments:function(input,inst){var showOn,buttonText,buttonImage,appendText=this._get(inst,"appendText"),isRTL=this._get(inst,"isRTL");if(inst.append){inst.append.remove()}if(appendText){inst.append=$("<span class='"+this._appendClass+"'>"+appendText+"</span>");input[isRTL?"before":"after"](inst.append)}input.unbind("focus",this._showDatepicker);if(inst.trigger){inst.trigger.remove()}showOn=this._get(inst,"showOn");if(showOn==="focus"||showOn==="both"){input.focus(this._showDatepicker)}if(showOn==="button"||showOn==="both"){buttonText=this._get(inst,"buttonText");buttonImage=this._get(inst,"buttonImage");inst.trigger=$(this._get(inst,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:buttonImage,alt:buttonText,title:buttonText}):$("<button type='button'></button>").addClass(this._triggerClass).html(!buttonImage?buttonText:$("<img/>").attr({src:buttonImage,alt:buttonText,title:buttonText})));input[isRTL?"before":"after"](inst.trigger);inst.trigger.click(function(){if($.datepicker._datepickerShowing&&$.datepicker._lastInput===input[0]){$.datepicker._hideDatepicker()}else if($.datepicker._datepickerShowing&&$.datepicker._lastInput!==input[0]){$.datepicker._hideDatepicker();$.datepicker._showDatepicker(input[0])}else{$.datepicker._showDatepicker(input[0])}return false})}},_autoSize:function(inst){if(this._get(inst,"autoSize")&&!inst.inline){var findMax,max,maxI,i,date=new Date(2009,12-1,20),dateFormat=this._get(inst,"dateFormat");if(dateFormat.match(/[DM]/)){findMax=function(names){max=0;maxI=0;for(i=0;i<names.length;i++){if(names[i].length>max){max=names[i].length;maxI=i}}return maxI};date.setMonth(findMax(this._get(inst,dateFormat.match(/MM/)?"monthNames":"monthNamesShort")));date.setDate(findMax(this._get(inst,dateFormat.match(/DD/)?"dayNames":"dayNamesShort"))+20-date.getDay())}inst.input.attr("size",this._formatDate(inst,date).length)}},_inlineDatepicker:function(target,inst){var divSpan=$(target);if(divSpan.hasClass(this.markerClassName)){return}divSpan.addClass(this.markerClassName).append(inst.dpDiv);$.data(target,"datepicker",inst);this._setDate(inst,this._getDefaultDate(inst),true);this._updateDatepicker(inst);this._updateAlternate(inst);if(inst.settings.disabled){this._disableDatepicker(target)}inst.dpDiv.css("display","block")},_dialogDatepicker:function(input,date,onSelect,settings,pos){var id,browserWidth,browserHeight,scrollX,scrollY,inst=this._dialogInst;if(!inst){this.uuid+=1;id="dp"+this.uuid;this._dialogInput=$("<input type='text' id='"+id+"' style='position: absolute; top: -100px; width: 0px;'/>");this._dialogInput.keydown(this._doKeyDown);$("body").append(this._dialogInput);inst=this._dialogInst=this._newInst(this._dialogInput,false);inst.settings={};$.data(this._dialogInput[0],"datepicker",inst)}datepicker_extendRemove(inst.settings,settings||{});date=date&&date.constructor===Date?this._formatDate(inst,date):date;this._dialogInput.val(date);this._pos=pos?pos.length?pos:[pos.pageX,pos.pageY]:null;if(!this._pos){browserWidth=document.documentElement.clientWidth;browserHeight=document.documentElement.clientHeight;scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;scrollY=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[browserWidth/2-100+scrollX,browserHeight/2-150+scrollY]}this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");inst.settings.onSelect=onSelect;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);if($.blockUI){$.blockUI(this.dpDiv)}$.data(this._dialogInput[0],"datepicker",inst);return this},_destroyDatepicker:function(target){var nodeName,$target=$(target),inst=$.data(target,"datepicker");if(!$target.hasClass(this.markerClassName)){return}nodeName=target.nodeName.toLowerCase();$.removeData(target,"datepicker");if(nodeName==="input"){inst.append.remove();inst.trigger.remove();$target.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(nodeName==="div"||nodeName==="span"){$target.removeClass(this.markerClassName).empty()}if(datepicker_instActive===inst){datepicker_instActive=null}},_enableDatepicker:function(target){var nodeName,inline,$target=$(target),inst=$.data(target,"datepicker");if(!$target.hasClass(this.markerClassName)){return}nodeName=target.nodeName.toLowerCase();if(nodeName==="input"){target.disabled=false;inst.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(nodeName==="div"||nodeName==="span"){inline=$target.children("."+this._inlineClass);inline.children().removeClass("ui-state-disabled");inline.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",false)}this._disabledInputs=$.map(this._disabledInputs,function(value){return value===target?null:value})},_disableDatepicker:function(target){var nodeName,inline,$target=$(target),inst=$.data(target,"datepicker");if(!$target.hasClass(this.markerClassName)){return}nodeName=target.nodeName.toLowerCase();if(nodeName==="input"){target.disabled=true;inst.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(nodeName==="div"||nodeName==="span"){inline=$target.children("."+this._inlineClass);inline.children().addClass("ui-state-disabled");inline.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",true)}this._disabledInputs=$.map(this._disabledInputs,function(value){return value===target?null:value});this._disabledInputs[this._disabledInputs.length]=target},_isDisabledDatepicker:function(target){if(!target){return false}for(var i=0;i<this._disabledInputs.length;i++){if(this._disabledInputs[i]===target){return true}}return false},_getInst:function(target){try{return $.data(target,"datepicker")}catch(err){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(target,name,value){var settings,date,minDate,maxDate,inst=this._getInst(target);if(arguments.length===2&&typeof name==="string"){return name==="defaults"?$.extend({},$.datepicker._defaults):inst?name==="all"?$.extend({},inst.settings):this._get(inst,name):null}settings=name||{};if(typeof name==="string"){settings={};settings[name]=value}if(inst){if(this._curInst===inst){this._hideDatepicker()}date=this._getDateDatepicker(target,true);minDate=this._getMinMaxDate(inst,"min");maxDate=this._getMinMaxDate(inst,"max");datepicker_extendRemove(inst.settings,settings);if(minDate!==null&&settings.dateFormat!==undefined&&settings.minDate===undefined){inst.settings.minDate=this._formatDate(inst,minDate)}if(maxDate!==null&&settings.dateFormat!==undefined&&settings.maxDate===undefined){inst.settings.maxDate=this._formatDate(inst,maxDate)}if("disabled"in settings){if(settings.disabled){this._disableDatepicker(target)}else{this._enableDatepicker(target)}}this._attachments($(target),inst);this._autoSize(inst);this._setDate(inst,date);this._updateAlternate(inst);this._updateDatepicker(inst)}},_changeDatepicker:function(target,name,value){this._optionDatepicker(target,name,value)},_refreshDatepicker:function(target){var inst=this._getInst(target);if(inst){this._updateDatepicker(inst)}},_setDateDatepicker:function(target,date){var inst=this._getInst(target);if(inst){this._setDate(inst,date);this._updateDatepicker(inst);this._updateAlternate(inst)}},_getDateDatepicker:function(target,noDefault){var inst=this._getInst(target);if(inst&&!inst.inline){this._setDateFromField(inst,noDefault)}return inst?this._getDate(inst):null},_doKeyDown:function(event){var onSelect,dateStr,sel,inst=$.datepicker._getInst(event.target),handled=true,isRTL=inst.dpDiv.is(".ui-datepicker-rtl");inst._keyEvent=true;if($.datepicker._datepickerShowing){switch(event.keyCode){case 9:$.datepicker._hideDatepicker();handled=false;break;case 13:sel=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",inst.dpDiv);if(sel[0]){$.datepicker._selectDay(event.target,inst.selectedMonth,inst.selectedYear,sel[0])}onSelect=$.datepicker._get(inst,"onSelect");if(onSelect){dateStr=$.datepicker._formatDate(inst);onSelect.apply(inst.input?inst.input[0]:null,[dateStr,inst])}else{$.datepicker._hideDatepicker()}return false;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(event.target,event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(event.target,event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths"),"M");break;case 35:if(event.ctrlKey||event.metaKey){$.datepicker._clearDate(event.target)}handled=event.ctrlKey||event.metaKey;break;case 36:if(event.ctrlKey||event.metaKey){$.datepicker._gotoToday(event.target)}handled=event.ctrlKey||event.metaKey;break;case 37:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,isRTL?+1:-1,"D")}handled=event.ctrlKey||event.metaKey;if(event.originalEvent.altKey){$.datepicker._adjustDate(event.target,event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths"),"M")}break;case 38:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,-7,"D")}handled=event.ctrlKey||event.metaKey;break;case 39:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,isRTL?-1:+1,"D")}handled=event.ctrlKey||event.metaKey;if(event.originalEvent.altKey){$.datepicker._adjustDate(event.target,event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths"),"M")}break;case 40:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,+7,"D")}handled=event.ctrlKey||event.metaKey;break;default:handled=false}}else if(event.keyCode===36&&event.ctrlKey){$.datepicker._showDatepicker(this)}else{handled=false}if(handled){event.preventDefault();event.stopPropagation()}},_doKeyPress:function(event){var chars,chr,inst=$.datepicker._getInst(event.target);if($.datepicker._get(inst,"constrainInput")){chars=$.datepicker._possibleChars($.datepicker._get(inst,"dateFormat"));chr=String.fromCharCode(event.charCode==null?event.keyCode:event.charCode);return event.ctrlKey||event.metaKey||(chr<" "||!chars||chars.indexOf(chr)>-1)}},_doKeyUp:function(event){var date,inst=$.datepicker._getInst(event.target);if(inst.input.val()!==inst.lastVal){try{date=$.datepicker.parseDate($.datepicker._get(inst,"dateFormat"),inst.input?inst.input.val():null,$.datepicker._getFormatConfig(inst));if(date){$.datepicker._setDateFromField(inst);$.datepicker._updateAlternate(inst);$.datepicker._updateDatepicker(inst)}}catch(err){}}return true},_showDatepicker:function(input){input=input.target||input;if(input.nodeName.toLowerCase()!=="input"){input=$("input",input.parentNode)[0]}if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput===input){return}var inst,beforeShow,beforeShowSettings,isFixed,offset,showAnim,duration;inst=$.datepicker._getInst(input);if($.datepicker._curInst&&$.datepicker._curInst!==inst){$.datepicker._curInst.dpDiv.stop(true,true);if(inst&&$.datepicker._datepickerShowing){$.datepicker._hideDatepicker($.datepicker._curInst.input[0])}}beforeShow=$.datepicker._get(inst,"beforeShow");beforeShowSettings=beforeShow?beforeShow.apply(input,[input,inst]):{};if(beforeShowSettings===false){return}datepicker_extendRemove(inst.settings,beforeShowSettings);inst.lastVal=null;$.datepicker._lastInput=input;$.datepicker._setDateFromField(inst);if($.datepicker._inDialog){input.value=""}if(!$.datepicker._pos){$.datepicker._pos=$.datepicker._findPos(input);$.datepicker._pos[1]+=input.offsetHeight}isFixed=false;$(input).parents().each(function(){isFixed|=$(this).css("position")==="fixed";return!isFixed});offset={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null;inst.dpDiv.empty();inst.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});$.datepicker._updateDatepicker(inst);offset=$.datepicker._checkOffset(inst,offset,isFixed);inst.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":isFixed?"fixed":"absolute",display:"none",left:offset.left+"px",top:offset.top+"px"});if(!inst.inline){showAnim=$.datepicker._get(inst,"showAnim");duration=$.datepicker._get(inst,"duration");inst.dpDiv.css("z-index",datepicker_getZindex($(input))+1);$.datepicker._datepickerShowing=true;if($.effects&&$.effects.effect[showAnim]){inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration)}else{inst.dpDiv[showAnim||"show"](showAnim?duration:null)}if($.datepicker._shouldFocusInput(inst)){inst.input.focus()}$.datepicker._curInst=inst}},_updateDatepicker:function(inst){this.maxRows=4;datepicker_instActive=inst;inst.dpDiv.empty().append(this._generateHTML(inst));this._attachHandlers(inst);var origyearshtml,numMonths=this._getNumberOfMonths(inst),cols=numMonths[1],width=17,activeCell=inst.dpDiv.find("."+this._dayOverClass+" a");if(activeCell.length>0){datepicker_handleMouseover.apply(activeCell.get(0))}inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");if(cols>1){inst.dpDiv.addClass("ui-datepicker-multi-"+cols).css("width",width*cols+"em")}inst.dpDiv[(numMonths[0]!==1||numMonths[1]!==1?"add":"remove")+"Class"]("ui-datepicker-multi");inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");if(inst===$.datepicker._curInst&&$.datepicker._datepickerShowing&&$.datepicker._shouldFocusInput(inst)){inst.input.focus()}if(inst.yearshtml){origyearshtml=inst.yearshtml;setTimeout(function(){if(origyearshtml===inst.yearshtml&&inst.yearshtml){inst.dpDiv.find("select.ui-datepicker-year:first").replaceWith(inst.yearshtml)}origyearshtml=inst.yearshtml=null},0)}},_shouldFocusInput:function(inst){return inst.input&&inst.input.is(":visible")&&!inst.input.is(":disabled")&&!inst.input.is(":focus")},_checkOffset:function(inst,offset,isFixed){var dpWidth=inst.dpDiv.outerWidth(),dpHeight=inst.dpDiv.outerHeight(),inputWidth=inst.input?inst.input.outerWidth():0,inputHeight=inst.input?inst.input.outerHeight():0,viewWidth=document.documentElement.clientWidth+(isFixed?0:$(document).scrollLeft()),viewHeight=document.documentElement.clientHeight+(isFixed?0:$(document).scrollTop());offset.left-=this._get(inst,"isRTL")?dpWidth-inputWidth:0;offset.left-=isFixed&&offset.left===inst.input.offset().left?$(document).scrollLeft():0;offset.top-=isFixed&&offset.top===inst.input.offset().top+inputHeight?$(document).scrollTop():0;offset.left-=Math.min(offset.left,offset.left+dpWidth>viewWidth&&viewWidth>dpWidth?Math.abs(offset.left+dpWidth-viewWidth):0);
offset.top-=Math.min(offset.top,offset.top+dpHeight>viewHeight&&viewHeight>dpHeight?Math.abs(dpHeight+inputHeight):0);return offset},_findPos:function(obj){var position,inst=this._getInst(obj),isRTL=this._get(inst,"isRTL");while(obj&&(obj.type==="hidden"||obj.nodeType!==1||$.expr.filters.hidden(obj))){obj=obj[isRTL?"previousSibling":"nextSibling"]}position=$(obj).offset();return[position.left,position.top]},_hideDatepicker:function(input){var showAnim,duration,postProcess,onClose,inst=this._curInst;if(!inst||input&&inst!==$.data(input,"datepicker")){return}if(this._datepickerShowing){showAnim=this._get(inst,"showAnim");duration=this._get(inst,"duration");postProcess=function(){$.datepicker._tidyDialog(inst)};if($.effects&&($.effects.effect[showAnim]||$.effects[showAnim])){inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[showAnim==="slideDown"?"slideUp":showAnim==="fadeIn"?"fadeOut":"hide"](showAnim?duration:null,postProcess)}if(!showAnim){postProcess()}this._datepickerShowing=false;onClose=this._get(inst,"onClose");if(onClose){onClose.apply(inst.input?inst.input[0]:null,[inst.input?inst.input.val():"",inst])}this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if($.blockUI){$.unblockUI();$("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(inst){inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(event){if(!$.datepicker._curInst){return}var $target=$(event.target),inst=$.datepicker._getInst($target[0]);if($target[0].id!==$.datepicker._mainDivId&&$target.parents("#"+$.datepicker._mainDivId).length===0&&!$target.hasClass($.datepicker.markerClassName)&&!$target.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)||$target.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!==inst){$.datepicker._hideDatepicker()}},_adjustDate:function(id,offset,period){var target=$(id),inst=this._getInst(target[0]);if(this._isDisabledDatepicker(target[0])){return}this._adjustInstDate(inst,offset+(period==="M"?this._get(inst,"showCurrentAtPos"):0),period);this._updateDatepicker(inst)},_gotoToday:function(id){var date,target=$(id),inst=this._getInst(target[0]);if(this._get(inst,"gotoCurrent")&&inst.currentDay){inst.selectedDay=inst.currentDay;inst.drawMonth=inst.selectedMonth=inst.currentMonth;inst.drawYear=inst.selectedYear=inst.currentYear}else{date=new Date;inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear()}this._notifyChange(inst);this._adjustDate(target)},_selectMonthYear:function(id,select,period){var target=$(id),inst=this._getInst(target[0]);inst["selected"+(period==="M"?"Month":"Year")]=inst["draw"+(period==="M"?"Month":"Year")]=parseInt(select.options[select.selectedIndex].value,10);this._notifyChange(inst);this._adjustDate(target)},_selectDay:function(id,month,year,td){var inst,target=$(id);if($(td).hasClass(this._unselectableClass)||this._isDisabledDatepicker(target[0])){return}inst=this._getInst(target[0]);inst.selectedDay=inst.currentDay=$("a",td).html();inst.selectedMonth=inst.currentMonth=month;inst.selectedYear=inst.currentYear=year;this._selectDate(id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear))},_clearDate:function(id){var target=$(id);this._selectDate(target,"")},_selectDate:function(id,dateStr){var onSelect,target=$(id),inst=this._getInst(target[0]);dateStr=dateStr!=null?dateStr:this._formatDate(inst);if(inst.input){inst.input.val(dateStr)}this._updateAlternate(inst);onSelect=this._get(inst,"onSelect");if(onSelect){onSelect.apply(inst.input?inst.input[0]:null,[dateStr,inst])}else if(inst.input){inst.input.trigger("change")}if(inst.inline){this._updateDatepicker(inst)}else{this._hideDatepicker();this._lastInput=inst.input[0];if(typeof inst.input[0]!=="object"){inst.input.focus()}this._lastInput=null}},_updateAlternate:function(inst){var altFormat,date,dateStr,altField=this._get(inst,"altField");if(altField){altFormat=this._get(inst,"altFormat")||this._get(inst,"dateFormat");date=this._getDate(inst);dateStr=this.formatDate(altFormat,date,this._getFormatConfig(inst));$(altField).each(function(){$(this).val(dateStr)})}},noWeekends:function(date){var day=date.getDay();return[day>0&&day<6,""]},iso8601Week:function(date){var time,checkDate=new Date(date.getTime());checkDate.setDate(checkDate.getDate()+4-(checkDate.getDay()||7));time=checkDate.getTime();checkDate.setMonth(0);checkDate.setDate(1);return Math.floor(Math.round((time-checkDate)/864e5)/7)+1},parseDate:function(format,value,settings){if(format==null||value==null){throw"Invalid arguments"}value=typeof value==="object"?value.toString():value+"";if(value===""){return null}var iFormat,dim,extra,iValue=0,shortYearCutoffTemp=(settings?settings.shortYearCutoff:null)||this._defaults.shortYearCutoff,shortYearCutoff=typeof shortYearCutoffTemp!=="string"?shortYearCutoffTemp:(new Date).getFullYear()%100+parseInt(shortYearCutoffTemp,10),dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort,dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames,monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort,monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames,year=-1,month=-1,day=-1,doy=-1,literal=false,date,lookAhead=function(match){var matches=iFormat+1<format.length&&format.charAt(iFormat+1)===match;if(matches){iFormat++}return matches},getNumber=function(match){var isDoubled=lookAhead(match),size=match==="@"?14:match==="!"?20:match==="y"&&isDoubled?4:match==="o"?3:2,minSize=match==="y"?size:1,digits=new RegExp("^\\d{"+minSize+","+size+"}"),num=value.substring(iValue).match(digits);if(!num){throw"Missing number at position "+iValue}iValue+=num[0].length;return parseInt(num[0],10)},getName=function(match,shortNames,longNames){var index=-1,names=$.map(lookAhead(match)?longNames:shortNames,function(v,k){return[[k,v]]}).sort(function(a,b){return-(a[1].length-b[1].length)});$.each(names,function(i,pair){var name=pair[1];if(value.substr(iValue,name.length).toLowerCase()===name.toLowerCase()){index=pair[0];iValue+=name.length;return false}});if(index!==-1){return index+1}else{throw"Unknown name at position "+iValue}},checkLiteral=function(){if(value.charAt(iValue)!==format.charAt(iFormat)){throw"Unexpected literal at position "+iValue}iValue++};for(iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)==="'"&&!lookAhead("'")){literal=false}else{checkLiteral()}}else{switch(format.charAt(iFormat)){case"d":day=getNumber("d");break;case"D":getName("D",dayNamesShort,dayNames);break;case"o":doy=getNumber("o");break;case"m":month=getNumber("m");break;case"M":month=getName("M",monthNamesShort,monthNames);break;case"y":year=getNumber("y");break;case"@":date=new Date(getNumber("@"));year=date.getFullYear();month=date.getMonth()+1;day=date.getDate();break;case"!":date=new Date((getNumber("!")-this._ticksTo1970)/1e4);year=date.getFullYear();month=date.getMonth()+1;day=date.getDate();break;case"'":if(lookAhead("'")){checkLiteral()}else{literal=true}break;default:checkLiteral()}}}if(iValue<value.length){extra=value.substr(iValue);if(!/^\s+/.test(extra)){throw"Extra/unparsed characters found in date: "+extra}}if(year===-1){year=(new Date).getFullYear()}else if(year<100){year+=(new Date).getFullYear()-(new Date).getFullYear()%100+(year<=shortYearCutoff?0:-100)}if(doy>-1){month=1;day=doy;do{dim=this._getDaysInMonth(year,month-1);if(day<=dim){break}month++;day-=dim}while(true)}date=this._daylightSavingAdjust(new Date(year,month-1,day));if(date.getFullYear()!==year||date.getMonth()+1!==month||date.getDate()!==day){throw"Invalid date"}return date},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:((1970-1)*365+Math.floor(1970/4)-Math.floor(1970/100)+Math.floor(1970/400))*24*60*60*1e7,formatDate:function(format,date,settings){if(!date){return""}var iFormat,dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort,dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames,monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort,monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames,lookAhead=function(match){var matches=iFormat+1<format.length&&format.charAt(iFormat+1)===match;if(matches){iFormat++}return matches},formatNumber=function(match,value,len){var num=""+value;if(lookAhead(match)){while(num.length<len){num="0"+num}}return num},formatName=function(match,value,shortNames,longNames){return lookAhead(match)?longNames[value]:shortNames[value]},output="",literal=false;if(date){for(iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)==="'"&&!lookAhead("'")){literal=false}else{output+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":output+=formatNumber("d",date.getDate(),2);break;case"D":output+=formatName("D",date.getDay(),dayNamesShort,dayNames);break;case"o":output+=formatNumber("o",Math.round((new Date(date.getFullYear(),date.getMonth(),date.getDate()).getTime()-new Date(date.getFullYear(),0,0).getTime())/864e5),3);break;case"m":output+=formatNumber("m",date.getMonth()+1,2);break;case"M":output+=formatName("M",date.getMonth(),monthNamesShort,monthNames);break;case"y":output+=lookAhead("y")?date.getFullYear():(date.getYear()%100<10?"0":"")+date.getYear()%100;break;case"@":output+=date.getTime();break;case"!":output+=date.getTime()*1e4+this._ticksTo1970;break;case"'":if(lookAhead("'")){output+="'"}else{literal=true}break;default:output+=format.charAt(iFormat)}}}}return output},_possibleChars:function(format){var iFormat,chars="",literal=false,lookAhead=function(match){var matches=iFormat+1<format.length&&format.charAt(iFormat+1)===match;if(matches){iFormat++}return matches};for(iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)==="'"&&!lookAhead("'")){literal=false}else{chars+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":case"m":case"y":case"@":chars+="0123456789";break;case"D":case"M":return null;case"'":if(lookAhead("'")){chars+="'"}else{literal=true}break;default:chars+=format.charAt(iFormat)}}}return chars},_get:function(inst,name){return inst.settings[name]!==undefined?inst.settings[name]:this._defaults[name]},_setDateFromField:function(inst,noDefault){if(inst.input.val()===inst.lastVal){return}var dateFormat=this._get(inst,"dateFormat"),dates=inst.lastVal=inst.input?inst.input.val():null,defaultDate=this._getDefaultDate(inst),date=defaultDate,settings=this._getFormatConfig(inst);try{date=this.parseDate(dateFormat,dates,settings)||defaultDate}catch(event){dates=noDefault?"":dates}inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();inst.currentDay=dates?date.getDate():0;inst.currentMonth=dates?date.getMonth():0;inst.currentYear=dates?date.getFullYear():0;this._adjustInstDate(inst)},_getDefaultDate:function(inst){return this._restrictMinMax(inst,this._determineDate(inst,this._get(inst,"defaultDate"),new Date))},_determineDate:function(inst,date,defaultDate){var offsetNumeric=function(offset){var date=new Date;date.setDate(date.getDate()+offset);return date},offsetString=function(offset){try{return $.datepicker.parseDate($.datepicker._get(inst,"dateFormat"),offset,$.datepicker._getFormatConfig(inst))}catch(e){}var date=(offset.toLowerCase().match(/^c/)?$.datepicker._getDate(inst):null)||new Date,year=date.getFullYear(),month=date.getMonth(),day=date.getDate(),pattern=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,matches=pattern.exec(offset);while(matches){switch(matches[2]||"d"){case"d":case"D":day+=parseInt(matches[1],10);break;case"w":case"W":day+=parseInt(matches[1],10)*7;break;case"m":case"M":month+=parseInt(matches[1],10);day=Math.min(day,$.datepicker._getDaysInMonth(year,month));break;case"y":case"Y":year+=parseInt(matches[1],10);day=Math.min(day,$.datepicker._getDaysInMonth(year,month));break}matches=pattern.exec(offset)}return new Date(year,month,day)},newDate=date==null||date===""?defaultDate:typeof date==="string"?offsetString(date):typeof date==="number"?isNaN(date)?defaultDate:offsetNumeric(date):new Date(date.getTime());newDate=newDate&&newDate.toString()==="Invalid Date"?defaultDate:newDate;if(newDate){newDate.setHours(0);newDate.setMinutes(0);newDate.setSeconds(0);newDate.setMilliseconds(0)}return this._daylightSavingAdjust(newDate)},_daylightSavingAdjust:function(date){if(!date){return null}date.setHours(date.getHours()>12?date.getHours()+2:0);return date},_setDate:function(inst,date,noChange){var clear=!date,origMonth=inst.selectedMonth,origYear=inst.selectedYear,newDate=this._restrictMinMax(inst,this._determineDate(inst,date,new Date));inst.selectedDay=inst.currentDay=newDate.getDate();inst.drawMonth=inst.selectedMonth=inst.currentMonth=newDate.getMonth();inst.drawYear=inst.selectedYear=inst.currentYear=newDate.getFullYear();if((origMonth!==inst.selectedMonth||origYear!==inst.selectedYear)&&!noChange){this._notifyChange(inst)}this._adjustInstDate(inst);if(inst.input){inst.input.val(clear?"":this._formatDate(inst))}},_getDate:function(inst){var startDate=!inst.currentYear||inst.input&&inst.input.val()===""?null:this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay));return startDate},_attachHandlers:function(inst){var stepMonths=this._get(inst,"stepMonths"),id="#"+inst.id.replace(/\\\\/g,"\\");inst.dpDiv.find("[data-handler]").map(function(){var handler={prev:function(){$.datepicker._adjustDate(id,-stepMonths,"M")},next:function(){$.datepicker._adjustDate(id,+stepMonths,"M")},hide:function(){$.datepicker._hideDatepicker()},today:function(){$.datepicker._gotoToday(id)},selectDay:function(){$.datepicker._selectDay(id,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this);return false},selectMonth:function(){$.datepicker._selectMonthYear(id,this,"M");return false},selectYear:function(){$.datepicker._selectMonthYear(id,this,"Y");return false}};$(this).bind(this.getAttribute("data-event"),handler[this.getAttribute("data-handler")])})},_generateHTML:function(inst){var maxDraw,prevText,prev,nextText,next,currentText,gotoDate,controls,buttonPanel,firstDay,showWeek,dayNames,dayNamesMin,monthNames,monthNamesShort,beforeShowDay,showOtherMonths,selectOtherMonths,defaultDate,html,dow,row,group,col,selectedDate,cornerClass,calender,thead,day,daysInMonth,leadDays,curRows,numRows,printDate,dRow,tbody,daySettings,otherMonth,unselectable,tempDate=new Date,today=this._daylightSavingAdjust(new Date(tempDate.getFullYear(),tempDate.getMonth(),tempDate.getDate())),isRTL=this._get(inst,"isRTL"),showButtonPanel=this._get(inst,"showButtonPanel"),hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext"),navigationAsDateFormat=this._get(inst,"navigationAsDateFormat"),numMonths=this._getNumberOfMonths(inst),showCurrentAtPos=this._get(inst,"showCurrentAtPos"),stepMonths=this._get(inst,"stepMonths"),isMultiMonth=numMonths[0]!==1||numMonths[1]!==1,currentDate=this._daylightSavingAdjust(!inst.currentDay?new Date(9999,9,9):new Date(inst.currentYear,inst.currentMonth,inst.currentDay)),minDate=this._getMinMaxDate(inst,"min"),maxDate=this._getMinMaxDate(inst,"max"),drawMonth=inst.drawMonth-showCurrentAtPos,drawYear=inst.drawYear;if(drawMonth<0){drawMonth+=12;drawYear--}if(maxDate){maxDraw=this._daylightSavingAdjust(new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[0]*numMonths[1]+1,maxDate.getDate()));maxDraw=minDate&&maxDraw<minDate?minDate:maxDraw;while(this._daylightSavingAdjust(new Date(drawYear,drawMonth,1))>maxDraw){drawMonth--;if(drawMonth<0){drawMonth=11;drawYear--}}}inst.drawMonth=drawMonth;inst.drawYear=drawYear;prevText=this._get(inst,"prevText");prevText=!navigationAsDateFormat?prevText:this.formatDate(prevText,this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepMonths,1)),this._getFormatConfig(inst));prev=this._canAdjustMonth(inst,-1,drawYear,drawMonth)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'"+" title='"+prevText+"'><span class='ui-icon ui-icon-circle-triangle-"+(isRTL?"e":"w")+"'>"+prevText+"</span></a>":hideIfNoPrevNext?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+prevText+"'><span class='ui-icon ui-icon-circle-triangle-"+(isRTL?"e":"w")+"'>"+prevText+"</span></a>";nextText=this._get(inst,"nextText");nextText=!navigationAsDateFormat?nextText:this.formatDate(nextText,this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepMonths,1)),this._getFormatConfig(inst));next=this._canAdjustMonth(inst,+1,drawYear,drawMonth)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'"+" title='"+nextText+"'><span class='ui-icon ui-icon-circle-triangle-"+(isRTL?"w":"e")+"'>"+nextText+"</span></a>":hideIfNoPrevNext?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+nextText+"'><span class='ui-icon ui-icon-circle-triangle-"+(isRTL?"w":"e")+"'>"+nextText+"</span></a>";currentText=this._get(inst,"currentText");gotoDate=this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today;currentText=!navigationAsDateFormat?currentText:this.formatDate(currentText,gotoDate,this._getFormatConfig(inst));controls=!inst.inline?"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(inst,"closeText")+"</button>":"";buttonPanel=showButtonPanel?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(isRTL?controls:"")+(this._isInRange(inst,gotoDate)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'"+">"+currentText+"</button>":"")+(isRTL?"":controls)+"</div>":"";firstDay=parseInt(this._get(inst,"firstDay"),10);firstDay=isNaN(firstDay)?0:firstDay;showWeek=this._get(inst,"showWeek");dayNames=this._get(inst,"dayNames");dayNamesMin=this._get(inst,"dayNamesMin");monthNames=this._get(inst,"monthNames");monthNamesShort=this._get(inst,"monthNamesShort");beforeShowDay=this._get(inst,"beforeShowDay");showOtherMonths=this._get(inst,"showOtherMonths");selectOtherMonths=this._get(inst,"selectOtherMonths");defaultDate=this._getDefaultDate(inst);html="";dow;for(row=0;row<numMonths[0];row++){group="";this.maxRows=4;for(col=0;col<numMonths[1];col++){selectedDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,inst.selectedDay));cornerClass=" ui-corner-all";calender="";if(isMultiMonth){calender+="<div class='ui-datepicker-group";if(numMonths[1]>1){switch(col){case 0:calender+=" ui-datepicker-group-first";cornerClass=" ui-corner-"+(isRTL?"right":"left");break;case numMonths[1]-1:calender+=" ui-datepicker-group-last";cornerClass=" ui-corner-"+(isRTL?"left":"right");break;default:calender+=" ui-datepicker-group-middle";cornerClass="";break}}calender+="'>"}calender+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+cornerClass+"'>"+(/all|left/.test(cornerClass)&&row===0?isRTL?next:prev:"")+(/all|right/.test(cornerClass)&&row===0?isRTL?prev:next:"")+this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,row>0||col>0,monthNames,monthNamesShort)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>";thead=showWeek?"<th class='ui-datepicker-week-col'>"+this._get(inst,"weekHeader")+"</th>":"";for(dow=0;dow<7;dow++){day=(dow+firstDay)%7;thead+="<th scope='col'"+((dow+firstDay+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+dayNames[day]+"'>"+dayNamesMin[day]+"</span></th>"}calender+=thead+"</tr></thead><tbody>";daysInMonth=this._getDaysInMonth(drawYear,drawMonth);if(drawYear===inst.selectedYear&&drawMonth===inst.selectedMonth){inst.selectedDay=Math.min(inst.selectedDay,daysInMonth)}leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;curRows=Math.ceil((leadDays+daysInMonth)/7);numRows=isMultiMonth?this.maxRows>curRows?this.maxRows:curRows:curRows;this.maxRows=numRows;printDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,1-leadDays));for(dRow=0;dRow<numRows;dRow++){calender+="<tr>";tbody=!showWeek?"":"<td class='ui-datepicker-week-col'>"+this._get(inst,"calculateWeek")(printDate)+"</td>";for(dow=0;dow<7;dow++){daySettings=beforeShowDay?beforeShowDay.apply(inst.input?inst.input[0]:null,[printDate]):[true,""];otherMonth=printDate.getMonth()!==drawMonth;unselectable=otherMonth&&!selectOtherMonths||!daySettings[0]||minDate&&printDate<minDate||maxDate&&printDate>maxDate;tbody+="<td class='"+((dow+firstDay+6)%7>=5?" ui-datepicker-week-end":"")+(otherMonth?" ui-datepicker-other-month":"")+(printDate.getTime()===selectedDate.getTime()&&drawMonth===inst.selectedMonth&&inst._keyEvent||defaultDate.getTime()===printDate.getTime()&&defaultDate.getTime()===selectedDate.getTime()?" "+this._dayOverClass:"")+(unselectable?" "+this._unselectableClass+" ui-state-disabled":"")+(otherMonth&&!showOtherMonths?"":" "+daySettings[1]+(printDate.getTime()===currentDate.getTime()?" "+this._currentClass:"")+(printDate.getTime()===today.getTime()?" ui-datepicker-today":""))+"'"+((!otherMonth||showOtherMonths)&&daySettings[2]?" title='"+daySettings[2].replace(/'/g,"&#39;")+"'":"")+(unselectable?"":" data-handler='selectDay' data-event='click' data-month='"+printDate.getMonth()+"' data-year='"+printDate.getFullYear()+"'")+">"+(otherMonth&&!showOtherMonths?"&#xa0;":unselectable?"<span class='ui-state-default'>"+printDate.getDate()+"</span>":"<a class='ui-state-default"+(printDate.getTime()===today.getTime()?" ui-state-highlight":"")+(printDate.getTime()===currentDate.getTime()?" ui-state-active":"")+(otherMonth?" ui-priority-secondary":"")+"' href='#'>"+printDate.getDate()+"</a>")+"</td>";printDate.setDate(printDate.getDate()+1);printDate=this._daylightSavingAdjust(printDate)}calender+=tbody+"</tr>"}drawMonth++;if(drawMonth>11){drawMonth=0;drawYear++}calender+="</tbody></table>"+(isMultiMonth?"</div>"+(numMonths[0]>0&&col===numMonths[1]-1?"<div class='ui-datepicker-row-break'></div>":""):"");group+=calender}html+=group}html+=buttonPanel;inst._keyEvent=false;return html},_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,secondary,monthNames,monthNamesShort){var inMinYear,inMaxYear,month,years,thisYear,determineYear,year,endYear,changeMonth=this._get(inst,"changeMonth"),changeYear=this._get(inst,"changeYear"),showMonthAfterYear=this._get(inst,"showMonthAfterYear"),html="<div class='ui-datepicker-title'>",monthHtml="";if(secondary||!changeMonth){monthHtml+="<span class='ui-datepicker-month'>"+monthNames[drawMonth]+"</span>"}else{inMinYear=minDate&&minDate.getFullYear()===drawYear;inMaxYear=maxDate&&maxDate.getFullYear()===drawYear;monthHtml+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>";for(month=0;month<12;month++){if((!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())){monthHtml+="<option value='"+month+"'"+(month===drawMonth?" selected='selected'":"")+">"+monthNamesShort[month]+"</option>"}}monthHtml+="</select>"}if(!showMonthAfterYear){html+=monthHtml+(secondary||!(changeMonth&&changeYear)?"&#xa0;":"")}if(!inst.yearshtml){inst.yearshtml="";if(secondary||!changeYear){html+="<span class='ui-datepicker-year'>"+drawYear+"</span>"}else{years=this._get(inst,"yearRange").split(":");thisYear=(new Date).getFullYear();determineYear=function(value){var year=value.match(/c[+\-].*/)?drawYear+parseInt(value.substring(1),10):value.match(/[+\-].*/)?thisYear+parseInt(value,10):parseInt(value,10);return isNaN(year)?thisYear:year};year=determineYear(years[0]);endYear=Math.max(year,determineYear(years[1]||""));year=minDate?Math.max(year,minDate.getFullYear()):year;endYear=maxDate?Math.min(endYear,maxDate.getFullYear()):endYear;inst.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";for(;year<=endYear;year++){inst.yearshtml+="<option value='"+year+"'"+(year===drawYear?" selected='selected'":"")+">"+year+"</option>"}inst.yearshtml+="</select>";html+=inst.yearshtml;inst.yearshtml=null}}html+=this._get(inst,"yearSuffix");if(showMonthAfterYear){html+=(secondary||!(changeMonth&&changeYear)?"&#xa0;":"")+monthHtml}html+="</div>";return html},_adjustInstDate:function(inst,offset,period){var year=inst.drawYear+(period==="Y"?offset:0),month=inst.drawMonth+(period==="M"?offset:0),day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period==="D"?offset:0),date=this._restrictMinMax(inst,this._daylightSavingAdjust(new Date(year,month,day)));inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();if(period==="M"||period==="Y"){this._notifyChange(inst)}},_restrictMinMax:function(inst,date){var minDate=this._getMinMaxDate(inst,"min"),maxDate=this._getMinMaxDate(inst,"max"),newDate=minDate&&date<minDate?minDate:date;return maxDate&&newDate>maxDate?maxDate:newDate},_notifyChange:function(inst){var onChange=this._get(inst,"onChangeMonthYear");if(onChange){onChange.apply(inst.input?inst.input[0]:null,[inst.selectedYear,inst.selectedMonth+1,inst])}},_getNumberOfMonths:function(inst){var numMonths=this._get(inst,"numberOfMonths");return numMonths==null?[1,1]:typeof numMonths==="number"?[1,numMonths]:numMonths},_getMinMaxDate:function(inst,minMax){return this._determineDate(inst,this._get(inst,minMax+"Date"),null)},_getDaysInMonth:function(year,month){return 32-this._daylightSavingAdjust(new Date(year,month,32)).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(inst,offset,curYear,curMonth){var numMonths=this._getNumberOfMonths(inst),date=this._daylightSavingAdjust(new Date(curYear,curMonth+(offset<0?offset:numMonths[0]*numMonths[1]),1));if(offset<0){date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))}return this._isInRange(inst,date)},_isInRange:function(inst,date){var yearSplit,currentYear,minDate=this._getMinMaxDate(inst,"min"),maxDate=this._getMinMaxDate(inst,"max"),minYear=null,maxYear=null,years=this._get(inst,"yearRange");if(years){yearSplit=years.split(":");currentYear=(new Date).getFullYear();minYear=parseInt(yearSplit[0],10);maxYear=parseInt(yearSplit[1],10);if(yearSplit[0].match(/[+\-].*/)){minYear+=currentYear}if(yearSplit[1].match(/[+\-].*/)){maxYear+=currentYear}}return(!minDate||date.getTime()>=minDate.getTime())&&(!maxDate||date.getTime()<=maxDate.getTime())&&(!minYear||date.getFullYear()>=minYear)&&(!maxYear||date.getFullYear()<=maxYear)},_getFormatConfig:function(inst){var shortYearCutoff=this._get(inst,"shortYearCutoff");shortYearCutoff=typeof shortYearCutoff!=="string"?shortYearCutoff:(new Date).getFullYear()%100+parseInt(shortYearCutoff,10);return{shortYearCutoff:shortYearCutoff,dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")}},_formatDate:function(inst,day,month,year){if(!day){inst.currentDay=inst.selectedDay;inst.currentMonth=inst.selectedMonth;inst.currentYear=inst.selectedYear}var date=day?typeof day==="object"?day:this._daylightSavingAdjust(new Date(year,month,day)):this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay));return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))}});function datepicker_bindHover(dpDiv){var selector="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return dpDiv.delegate(selector,"mouseout",function(){$(this).removeClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!==-1){$(this).removeClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!==-1){$(this).removeClass("ui-datepicker-next-hover")}}).delegate(selector,"mouseover",datepicker_handleMouseover)}function datepicker_handleMouseover(){if(!$.datepicker._isDisabledDatepicker(datepicker_instActive.inline?datepicker_instActive.dpDiv.parent()[0]:datepicker_instActive.input[0])){$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");$(this).addClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!==-1){$(this).addClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!==-1){$(this).addClass("ui-datepicker-next-hover")}}}function datepicker_extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null){target[name]=props[name]}}return target}$.fn.datepicker=function(options){if(!this.length){return this}if(!$.datepicker.initialized){$(document).mousedown($.datepicker._checkExternalClick);$.datepicker.initialized=true}if($("#"+$.datepicker._mainDivId).length===0){$("body").append($.datepicker.dpDiv)}var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options==="string"&&(options==="isDisabled"||options==="getDate"||options==="widget")){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}if(options==="option"&&arguments.length===2&&typeof arguments[1]==="string"){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options==="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)})};$.datepicker=new Datepicker;$.datepicker.initialized=false;$.datepicker.uuid=(new Date).getTime();$.datepicker.version="1.11.4";var datepicker=$.datepicker;var dialog=$.widget("ui.dialog",{version:"1.11.4",options:{appendTo:"body",autoOpen:true,buttons:[],closeOnEscape:true,closeText:"Close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:false,position:{my:"center",at:"center",of:window,collision:"fit",using:function(pos){var topOffset=$(this).css(pos).offset().top;if(topOffset<0){$(this).css("top",pos.top-topOffset)}}},resizable:true,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},resizableRelatedOptions:{maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height};this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)};this.originalTitle=this.element.attr("title");this.options.title=this.options.title||this.originalTitle;this._createWrapper();this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog);this._createTitlebar();this._createButtonPane();if(this.options.draggable&&$.fn.draggable){this._makeDraggable()}if(this.options.resizable&&$.fn.resizable){this._makeResizable()}this._isOpen=false;this._trackFocus()},_init:function(){if(this.options.autoOpen){this.open()}},_appendTo:function(){var element=this.options.appendTo;if(element&&(element.jquery||element.nodeType)){return $(element)}return this.document.find(element||"body").eq(0)},_destroy:function(){var next,originalPosition=this.originalPosition;this._untrackInstance();this._destroyOverlay();this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach();
this.uiDialog.stop(true,true).remove();if(this.originalTitle){this.element.attr("title",this.originalTitle)}next=originalPosition.parent.children().eq(originalPosition.index);if(next.length&&next[0]!==this.element[0]){next.before(this.element)}else{originalPosition.parent.append(this.element)}},widget:function(){return this.uiDialog},disable:$.noop,enable:$.noop,close:function(event){var activeElement,that=this;if(!this._isOpen||this._trigger("beforeClose",event)===false){return}this._isOpen=false;this._focusedElement=null;this._destroyOverlay();this._untrackInstance();if(!this.opener.filter(":focusable").focus().length){try{activeElement=this.document[0].activeElement;if(activeElement&&activeElement.nodeName.toLowerCase()!=="body"){$(activeElement).blur()}}catch(error){}}this._hide(this.uiDialog,this.options.hide,function(){that._trigger("close",event)})},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(event,silent){var moved=false,zIndices=this.uiDialog.siblings(".ui-front:visible").map(function(){return+$(this).css("z-index")}).get(),zIndexMax=Math.max.apply(null,zIndices);if(zIndexMax>=+this.uiDialog.css("z-index")){this.uiDialog.css("z-index",zIndexMax+1);moved=true}if(moved&&!silent){this._trigger("focus",event)}return moved},open:function(){var that=this;if(this._isOpen){if(this._moveToTop()){this._focusTabbable()}return}this._isOpen=true;this.opener=$(this.document[0].activeElement);this._size();this._position();this._createOverlay();this._moveToTop(null,true);if(this.overlay){this.overlay.css("z-index",this.uiDialog.css("z-index")-1)}this._show(this.uiDialog,this.options.show,function(){that._focusTabbable();that._trigger("focus")});this._makeFocusTarget();this._trigger("open")},_focusTabbable:function(){var hasFocus=this._focusedElement;if(!hasFocus){hasFocus=this.element.find("[autofocus]")}if(!hasFocus.length){hasFocus=this.element.find(":tabbable")}if(!hasFocus.length){hasFocus=this.uiDialogButtonPane.find(":tabbable")}if(!hasFocus.length){hasFocus=this.uiDialogTitlebarClose.filter(":tabbable")}if(!hasFocus.length){hasFocus=this.uiDialog}hasFocus.eq(0).focus()},_keepFocus:function(event){function checkFocus(){var activeElement=this.document[0].activeElement,isActive=this.uiDialog[0]===activeElement||$.contains(this.uiDialog[0],activeElement);if(!isActive){this._focusTabbable()}}event.preventDefault();checkFocus.call(this);this._delay(checkFocus)},_createWrapper:function(){this.uiDialog=$("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo());this._on(this.uiDialog,{keydown:function(event){if(this.options.closeOnEscape&&!event.isDefaultPrevented()&&event.keyCode&&event.keyCode===$.ui.keyCode.ESCAPE){event.preventDefault();this.close(event);return}if(event.keyCode!==$.ui.keyCode.TAB||event.isDefaultPrevented()){return}var tabbables=this.uiDialog.find(":tabbable"),first=tabbables.filter(":first"),last=tabbables.filter(":last");if((event.target===last[0]||event.target===this.uiDialog[0])&&!event.shiftKey){this._delay(function(){first.focus()});event.preventDefault()}else if((event.target===first[0]||event.target===this.uiDialog[0])&&event.shiftKey){this._delay(function(){last.focus()});event.preventDefault()}},mousedown:function(event){if(this._moveToTop(event)){this._focusTabbable()}}});if(!this.element.find("[aria-describedby]").length){this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})}},_createTitlebar:function(){var uiDialogTitle;this.uiDialogTitlebar=$("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog);this._on(this.uiDialogTitlebar,{mousedown:function(event){if(!$(event.target).closest(".ui-dialog-titlebar-close")){this.uiDialog.focus()}}});this.uiDialogTitlebarClose=$("<button type='button'></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:false}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar);this._on(this.uiDialogTitlebarClose,{click:function(event){event.preventDefault();this.close(event)}});uiDialogTitle=$("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar);this._title(uiDialogTitle);this.uiDialog.attr({"aria-labelledby":uiDialogTitle.attr("id")})},_title:function(title){if(!this.options.title){title.html("&#160;")}title.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=$("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");this.uiButtonSet=$("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane);this._createButtons()},_createButtons:function(){var that=this,buttons=this.options.buttons;this.uiDialogButtonPane.remove();this.uiButtonSet.empty();if($.isEmptyObject(buttons)||$.isArray(buttons)&&!buttons.length){this.uiDialog.removeClass("ui-dialog-buttons");return}$.each(buttons,function(name,props){var click,buttonOptions;props=$.isFunction(props)?{click:props,text:name}:props;props=$.extend({type:"button"},props);click=props.click;props.click=function(){click.apply(that.element[0],arguments)};buttonOptions={icons:props.icons,text:props.showText};delete props.icons;delete props.showText;$("<button></button>",props).button(buttonOptions).appendTo(that.uiButtonSet)});this.uiDialog.addClass("ui-dialog-buttons");this.uiDialogButtonPane.appendTo(this.uiDialog)},_makeDraggable:function(){var that=this,options=this.options;function filteredUi(ui){return{position:ui.position,offset:ui.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(event,ui){$(this).addClass("ui-dialog-dragging");that._blockFrames();that._trigger("dragStart",event,filteredUi(ui))},drag:function(event,ui){that._trigger("drag",event,filteredUi(ui))},stop:function(event,ui){var left=ui.offset.left-that.document.scrollLeft(),top=ui.offset.top-that.document.scrollTop();options.position={my:"left top",at:"left"+(left>=0?"+":"")+left+" "+"top"+(top>=0?"+":"")+top,of:that.window};$(this).removeClass("ui-dialog-dragging");that._unblockFrames();that._trigger("dragStop",event,filteredUi(ui))}})},_makeResizable:function(){var that=this,options=this.options,handles=options.resizable,position=this.uiDialog.css("position"),resizeHandles=typeof handles==="string"?handles:"n,e,s,w,se,sw,ne,nw";function filteredUi(ui){return{originalPosition:ui.originalPosition,originalSize:ui.originalSize,position:ui.position,size:ui.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:options.maxWidth,maxHeight:options.maxHeight,minWidth:options.minWidth,minHeight:this._minHeight(),handles:resizeHandles,start:function(event,ui){$(this).addClass("ui-dialog-resizing");that._blockFrames();that._trigger("resizeStart",event,filteredUi(ui))},resize:function(event,ui){that._trigger("resize",event,filteredUi(ui))},stop:function(event,ui){var offset=that.uiDialog.offset(),left=offset.left-that.document.scrollLeft(),top=offset.top-that.document.scrollTop();options.height=that.uiDialog.height();options.width=that.uiDialog.width();options.position={my:"left top",at:"left"+(left>=0?"+":"")+left+" "+"top"+(top>=0?"+":"")+top,of:that.window};$(this).removeClass("ui-dialog-resizing");that._unblockFrames();that._trigger("resizeStop",event,filteredUi(ui))}}).css("position",position)},_trackFocus:function(){this._on(this.widget(),{focusin:function(event){this._makeFocusTarget();this._focusedElement=$(event.target)}})},_makeFocusTarget:function(){this._untrackInstance();this._trackingInstances().unshift(this)},_untrackInstance:function(){var instances=this._trackingInstances(),exists=$.inArray(this,instances);if(exists!==-1){instances.splice(exists,1)}},_trackingInstances:function(){var instances=this.document.data("ui-dialog-instances");if(!instances){instances=[];this.document.data("ui-dialog-instances",instances)}return instances},_minHeight:function(){var options=this.options;return options.height==="auto"?options.minHeight:Math.min(options.minHeight,options.height)},_position:function(){var isVisible=this.uiDialog.is(":visible");if(!isVisible){this.uiDialog.show()}this.uiDialog.position(this.options.position);if(!isVisible){this.uiDialog.hide()}},_setOptions:function(options){var that=this,resize=false,resizableOptions={};$.each(options,function(key,value){that._setOption(key,value);if(key in that.sizeRelatedOptions){resize=true}if(key in that.resizableRelatedOptions){resizableOptions[key]=value}});if(resize){this._size();this._position()}if(this.uiDialog.is(":data(ui-resizable)")){this.uiDialog.resizable("option",resizableOptions)}},_setOption:function(key,value){var isDraggable,isResizable,uiDialog=this.uiDialog;if(key==="dialogClass"){uiDialog.removeClass(this.options.dialogClass).addClass(value)}if(key==="disabled"){return}this._super(key,value);if(key==="appendTo"){this.uiDialog.appendTo(this._appendTo())}if(key==="buttons"){this._createButtons()}if(key==="closeText"){this.uiDialogTitlebarClose.button({label:""+value})}if(key==="draggable"){isDraggable=uiDialog.is(":data(ui-draggable)");if(isDraggable&&!value){uiDialog.draggable("destroy")}if(!isDraggable&&value){this._makeDraggable()}}if(key==="position"){this._position()}if(key==="resizable"){isResizable=uiDialog.is(":data(ui-resizable)");if(isResizable&&!value){uiDialog.resizable("destroy")}if(isResizable&&typeof value==="string"){uiDialog.resizable("option","handles",value)}if(!isResizable&&value!==false){this._makeResizable()}}if(key==="title"){this._title(this.uiDialogTitlebar.find(".ui-dialog-title"))}},_size:function(){var nonContentHeight,minContentHeight,maxContentHeight,options=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0});if(options.minWidth>options.width){options.width=options.minWidth}nonContentHeight=this.uiDialog.css({height:"auto",width:options.width}).outerHeight();minContentHeight=Math.max(0,options.minHeight-nonContentHeight);maxContentHeight=typeof options.maxHeight==="number"?Math.max(0,options.maxHeight-nonContentHeight):"none";if(options.height==="auto"){this.element.css({minHeight:minContentHeight,maxHeight:maxContentHeight,height:"auto"})}else{this.element.height(Math.max(0,options.height-nonContentHeight))}if(this.uiDialog.is(":data(ui-resizable)")){this.uiDialog.resizable("option","minHeight",this._minHeight())}},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var iframe=$(this);return $("<div>").css({position:"absolute",width:iframe.outerWidth(),height:iframe.outerHeight()}).appendTo(iframe.parent()).offset(iframe.offset())[0]})},_unblockFrames:function(){if(this.iframeBlocks){this.iframeBlocks.remove();delete this.iframeBlocks}},_allowInteraction:function(event){if($(event.target).closest(".ui-dialog").length){return true}return!!$(event.target).closest(".ui-datepicker").length},_createOverlay:function(){if(!this.options.modal){return}var isOpening=true;this._delay(function(){isOpening=false});if(!this.document.data("ui-dialog-overlays")){this._on(this.document,{focusin:function(event){if(isOpening){return}if(!this._allowInteraction(event)){event.preventDefault();this._trackingInstances()[0]._focusTabbable()}}})}this.overlay=$("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo());this._on(this.overlay,{mousedown:"_keepFocus"});this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)},_destroyOverlay:function(){if(!this.options.modal){return}if(this.overlay){var overlays=this.document.data("ui-dialog-overlays")-1;if(!overlays){this.document.unbind("focusin").removeData("ui-dialog-overlays")}else{this.document.data("ui-dialog-overlays",overlays)}this.overlay.remove();this.overlay=null}}});var progressbar=$.widget("ui.progressbar",{version:"1.11.4",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue();this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min});this.valueDiv=$("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");this.valueDiv.remove()},value:function(newValue){if(newValue===undefined){return this.options.value}this.options.value=this._constrainedValue(newValue);this._refreshValue()},_constrainedValue:function(newValue){if(newValue===undefined){newValue=this.options.value}this.indeterminate=newValue===false;if(typeof newValue!=="number"){newValue=0}return this.indeterminate?false:Math.min(this.options.max,Math.max(this.min,newValue))},_setOptions:function(options){var value=options.value;delete options.value;this._super(options);this.options.value=this._constrainedValue(value);this._refreshValue()},_setOption:function(key,value){if(key==="max"){value=Math.max(this.min,value)}if(key==="disabled"){this.element.toggleClass("ui-state-disabled",!!value).attr("aria-disabled",value)}this._super(key,value)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var value=this.options.value,percentage=this._percentage();this.valueDiv.toggle(this.indeterminate||value>this.min).toggleClass("ui-corner-right",value===this.options.max).width(percentage.toFixed(0)+"%");this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate);if(this.indeterminate){this.element.removeAttr("aria-valuenow");if(!this.overlayDiv){this.overlayDiv=$("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv)}}else{this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":value});if(this.overlayDiv){this.overlayDiv.remove();this.overlayDiv=null}}if(this.oldValue!==value){this.oldValue=value;this._trigger("change")}if(value===this.options.max){this._trigger("complete")}}});var selectmenu=$.widget("ui.selectmenu",{version:"1.11.4",defaultElement:"<select>",options:{appendTo:null,disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var selectmenuId=this.element.uniqueId().attr("id");this.ids={element:selectmenuId,button:selectmenuId+"-button",menu:selectmenuId+"-menu"};this._drawButton();this._drawMenu();if(this.options.disabled){this.disable()}},_drawButton:function(){var that=this;this.label=$("label[for='"+this.ids.element+"']").attr("for",this.ids.button);this._on(this.label,{click:function(event){this.button.focus();event.preventDefault()}});this.element.hide();this.button=$("<span>",{class:"ui-selectmenu-button ui-widget ui-state-default ui-corner-all",tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true"}).insertAfter(this.element);$("<span>",{class:"ui-icon "+this.options.icons.button}).prependTo(this.button);this.buttonText=$("<span>",{class:"ui-selectmenu-text"}).appendTo(this.button);this._setText(this.buttonText,this.element.find("option:selected").text());this._resizeButton();this._on(this.button,this._buttonEvents);this.button.one("focusin",function(){if(!that.menuItems){that._refreshMenu()}});this._hoverable(this.button);this._focusable(this.button)},_drawMenu:function(){var that=this;this.menu=$("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu});this.menuWrap=$("<div>",{class:"ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo());this.menuInstance=this.menu.menu({role:"listbox",select:function(event,ui){event.preventDefault();that._setSelection();that._select(ui.item.data("ui-selectmenu-item"),event)},focus:function(event,ui){var item=ui.item.data("ui-selectmenu-item");if(that.focusIndex!=null&&item.index!==that.focusIndex){that._trigger("focus",event,{item:item});if(!that.isOpen){that._select(item,event)}}that.focusIndex=item.index;that.button.attr("aria-activedescendant",that.menuItems.eq(item.index).attr("id"))}}).menu("instance");this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all");this.menuInstance._off(this.menu,"mouseleave");this.menuInstance._closeOnDocumentClick=function(){return false};this.menuInstance._isDivider=function(){return false}},refresh:function(){this._refreshMenu();this._setText(this.buttonText,this._getSelectedItem().text());if(!this.options.width){this._resizeButton()}},_refreshMenu:function(){this.menu.empty();var item,options=this.element.find("option");if(!options.length){return}this._parseOptions(options);this._renderMenu(this.menu,this.items);this.menuInstance.refresh();this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup");item=this._getSelectedItem();this.menuInstance.focus(null,item);this._setAria(item.data("ui-selectmenu-item"));this._setOption("disabled",this.element.prop("disabled"))},open:function(event){if(this.options.disabled){return}if(!this.menuItems){this._refreshMenu()}else{this.menu.find(".ui-state-focus").removeClass("ui-state-focus");this.menuInstance.focus(null,this._getSelectedItem())}this.isOpen=true;this._toggleAttr();this._resizeMenu();this._position();this._on(this.document,this._documentClick);this._trigger("open",event)},_position:function(){this.menuWrap.position($.extend({of:this.button},this.options.position))},close:function(event){if(!this.isOpen){return}this.isOpen=false;this._toggleAttr();this.range=null;this._off(this.document);this._trigger("close",event)},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(ul,items){var that=this,currentOptgroup="";$.each(items,function(index,item){if(item.optgroup!==currentOptgroup){$("<li>",{class:"ui-selectmenu-optgroup ui-menu-divider"+(item.element.parent("optgroup").prop("disabled")?" ui-state-disabled":""),text:item.optgroup}).appendTo(ul);currentOptgroup=item.optgroup}that._renderItemData(ul,item)})},_renderItemData:function(ul,item){return this._renderItem(ul,item).data("ui-selectmenu-item",item)},_renderItem:function(ul,item){var li=$("<li>");if(item.disabled){li.addClass("ui-state-disabled")}this._setText(li,item.label);return li.appendTo(ul)},_setText:function(element,value){if(value){element.text(value)}else{element.html("&#160;")}},_move:function(direction,event){var item,next,filter=".ui-menu-item";if(this.isOpen){item=this.menuItems.eq(this.focusIndex)}else{item=this.menuItems.eq(this.element[0].selectedIndex);filter+=":not(.ui-state-disabled)"}if(direction==="first"||direction==="last"){next=item[direction==="first"?"prevAll":"nextAll"](filter).eq(-1)}else{next=item[direction+"All"](filter).eq(0)}if(next.length){this.menuInstance.focus(event,next)}},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(event){this[this.isOpen?"close":"open"](event)},_setSelection:function(){var selection;if(!this.range){return}if(window.getSelection){selection=window.getSelection();selection.removeAllRanges();selection.addRange(this.range)}else{this.range.select()}this.button.focus()},_documentClick:{mousedown:function(event){if(!this.isOpen){return}if(!$(event.target).closest(".ui-selectmenu-menu, #"+this.ids.button).length){this.close(event)}}},_buttonEvents:{mousedown:function(){var selection;if(window.getSelection){selection=window.getSelection();if(selection.rangeCount){this.range=selection.getRangeAt(0)}}else{this.range=document.selection.createRange()}},click:function(event){this._setSelection();this._toggle(event)},keydown:function(event){var preventDefault=true;switch(event.keyCode){case $.ui.keyCode.TAB:case $.ui.keyCode.ESCAPE:this.close(event);preventDefault=false;break;case $.ui.keyCode.ENTER:if(this.isOpen){this._selectFocusedItem(event)}break;case $.ui.keyCode.UP:if(event.altKey){this._toggle(event)}else{this._move("prev",event)}break;case $.ui.keyCode.DOWN:if(event.altKey){this._toggle(event)}else{this._move("next",event)}break;case $.ui.keyCode.SPACE:if(this.isOpen){this._selectFocusedItem(event)}else{this._toggle(event)}break;case $.ui.keyCode.LEFT:this._move("prev",event);break;case $.ui.keyCode.RIGHT:this._move("next",event);break;case $.ui.keyCode.HOME:case $.ui.keyCode.PAGE_UP:this._move("first",event);break;case $.ui.keyCode.END:case $.ui.keyCode.PAGE_DOWN:this._move("last",event);break;default:this.menu.trigger(event);preventDefault=false}if(preventDefault){event.preventDefault()}}},_selectFocusedItem:function(event){var item=this.menuItems.eq(this.focusIndex);if(!item.hasClass("ui-state-disabled")){this._select(item.data("ui-selectmenu-item"),event)}},_select:function(item,event){var oldIndex=this.element[0].selectedIndex;this.element[0].selectedIndex=item.index;this._setText(this.buttonText,item.label);this._setAria(item);this._trigger("select",event,{item:item});if(item.index!==oldIndex){this._trigger("change",event,{item:item})}this.close(event)},_setAria:function(item){var id=this.menuItems.eq(item.index).attr("id");this.button.attr({"aria-labelledby":id,"aria-activedescendant":id});this.menu.attr("aria-activedescendant",id)},_setOption:function(key,value){if(key==="icons"){this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(value.button)}this._super(key,value);if(key==="appendTo"){this.menuWrap.appendTo(this._appendTo())}if(key==="disabled"){this.menuInstance.option("disabled",value);this.button.toggleClass("ui-state-disabled",value).attr("aria-disabled",value);this.element.prop("disabled",value);if(value){this.button.attr("tabindex",-1);this.close()}else{this.button.attr("tabindex",0)}}if(key==="width"){this._resizeButton()}},_appendTo:function(){var element=this.options.appendTo;if(element){element=element.jquery||element.nodeType?$(element):this.document.find(element).eq(0)}if(!element||!element[0]){element=this.element.closest(".ui-front")}if(!element.length){element=this.document[0].body}return element},_toggleAttr:function(){this.button.toggleClass("ui-corner-top",this.isOpen).toggleClass("ui-corner-all",!this.isOpen).attr("aria-expanded",this.isOpen);this.menuWrap.toggleClass("ui-selectmenu-open",this.isOpen);this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var width=this.options.width;if(!width){width=this.element.show().outerWidth();this.element.hide()}this.button.outerWidth(width)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop("disabled")}},_parseOptions:function(options){var data=[];options.each(function(index,item){var option=$(item),optgroup=option.parent("optgroup");data.push({element:option,index:index,value:option.val(),label:option.text(),optgroup:optgroup.attr("label")||"",disabled:optgroup.prop("disabled")||option.prop("disabled")})});this.items=data},_destroy:function(){this.menuWrap.remove();this.button.remove();this.element.show();this.element.removeUniqueId();this.label.attr("for",this.ids.element)}});var slider=$.widget("ui.slider",$.ui.mouse,{version:"1.11.4",widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=false;this._mouseSliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this._calculateNewMax();this.element.addClass("ui-slider"+" ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all");this._refresh();this._setOption("disabled",this.options.disabled);this._animateOff=false},_refresh:function(){this._createRange();this._createHandles();this._setupEvents();this._refreshValue()},_createHandles:function(){var i,handleCount,options=this.options,existingHandles=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),handle="<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",handles=[];handleCount=options.values&&options.values.length||1;if(existingHandles.length>handleCount){existingHandles.slice(handleCount).remove();existingHandles=existingHandles.slice(0,handleCount)}for(i=existingHandles.length;i<handleCount;i++){handles.push(handle)}this.handles=existingHandles.add($(handles.join("")).appendTo(this.element));this.handle=this.handles.eq(0);this.handles.each(function(i){$(this).data("ui-slider-handle-index",i)})},_createRange:function(){var options=this.options,classes="";if(options.range){if(options.range===true){if(!options.values){options.values=[this._valueMin(),this._valueMin()]}else if(options.values.length&&options.values.length!==2){options.values=[options.values[0],options.values[0]]}else if($.isArray(options.values)){options.values=options.values.slice(0)}}if(!this.range||!this.range.length){this.range=$("<div></div>").appendTo(this.element);classes="ui-slider-range"+" ui-widget-header ui-corner-all"}else{this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""})}this.range.addClass(classes+(options.range==="min"||options.range==="max"?" ui-slider-range-"+options.range:""))}else{if(this.range){this.range.remove()}this.range=null}},_setupEvents:function(){this._off(this.handles);this._on(this.handles,this._handleEvents);this._hoverable(this.handles);this._focusable(this.handles)},_destroy:function(){this.handles.remove();if(this.range){this.range.remove()}this.element.removeClass("ui-slider"+" ui-slider-horizontal"+" ui-slider-vertical"+" ui-widget"+" ui-widget-content"+" ui-corner-all");this._mouseDestroy()},_mouseCapture:function(event){var position,normValue,distance,closestHandle,index,allowed,offset,mouseOverHandle,that=this,o=this.options;if(o.disabled){return false}this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();position={x:event.pageX,y:event.pageY};normValue=this._normValueFromMouse(position);distance=this._valueMax()-this._valueMin()+1;this.handles.each(function(i){var thisDistance=Math.abs(normValue-that.values(i));if(distance>thisDistance||distance===thisDistance&&(i===that._lastChangedValue||that.values(i)===o.min)){distance=thisDistance;closestHandle=$(this);index=i}});allowed=this._start(event,index);if(allowed===false){return false}this._mouseSliding=true;this._handleIndex=index;closestHandle.addClass("ui-state-active").focus();offset=closestHandle.offset();mouseOverHandle=!$(event.target).parents().addBack().is(".ui-slider-handle");this._clickOffset=mouseOverHandle?{left:0,top:0}:{left:event.pageX-offset.left-closestHandle.width()/2,top:event.pageY-offset.top-closestHandle.height()/2-(parseInt(closestHandle.css("borderTopWidth"),10)||0)-(parseInt(closestHandle.css("borderBottomWidth"),10)||0)+(parseInt(closestHandle.css("marginTop"),10)||0)};if(!this.handles.hasClass("ui-state-hover")){this._slide(event,index,normValue)}this._animateOff=true;return true},_mouseStart:function(){return true},_mouseDrag:function(event){var position={x:event.pageX,y:event.pageY},normValue=this._normValueFromMouse(position);this._slide(event,this._handleIndex,normValue);return false},_mouseStop:function(event){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(event,this._handleIndex);this._change(event,this._handleIndex);this._handleIndex=null;this._clickOffset=null;this._animateOff=false;return false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(position){var pixelTotal,pixelMouse,percentMouse,valueTotal,valueMouse;if(this.orientation==="horizontal"){pixelTotal=this.elementSize.width;pixelMouse=position.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{pixelTotal=this.elementSize.height;pixelMouse=position.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}percentMouse=pixelMouse/pixelTotal;if(percentMouse>1){percentMouse=1}if(percentMouse<0){percentMouse=0}if(this.orientation==="vertical"){percentMouse=1-percentMouse}valueTotal=this._valueMax()-this._valueMin();valueMouse=this._valueMin()+percentMouse*valueTotal;return this._trimAlignValue(valueMouse)},_start:function(event,index){var uiHash={handle:this.handles[index],value:this.value()};if(this.options.values&&this.options.values.length){uiHash.value=this.values(index);uiHash.values=this.values()}return this._trigger("start",event,uiHash)},_slide:function(event,index,newVal){var otherVal,newValues,allowed;if(this.options.values&&this.options.values.length){otherVal=this.values(index?0:1);if(this.options.values.length===2&&this.options.range===true&&(index===0&&newVal>otherVal||index===1&&newVal<otherVal)){newVal=otherVal}if(newVal!==this.values(index)){newValues=this.values();newValues[index]=newVal;allowed=this._trigger("slide",event,{handle:this.handles[index],value:newVal,values:newValues});otherVal=this.values(index?0:1);if(allowed!==false){this.values(index,newVal)}}}else{if(newVal!==this.value()){allowed=this._trigger("slide",event,{handle:this.handles[index],value:newVal});if(allowed!==false){this.value(newVal)}}}},_stop:function(event,index){var uiHash={handle:this.handles[index],value:this.value()};if(this.options.values&&this.options.values.length){uiHash.value=this.values(index);uiHash.values=this.values()}this._trigger("stop",event,uiHash)},_change:function(event,index){if(!this._keySliding&&!this._mouseSliding){var uiHash={handle:this.handles[index],value:this.value()};if(this.options.values&&this.options.values.length){uiHash.value=this.values(index);uiHash.values=this.values()}this._lastChangedValue=index;this._trigger("change",event,uiHash)}},value:function(newValue){if(arguments.length){this.options.value=this._trimAlignValue(newValue);this._refreshValue();this._change(null,0);return}return this._value()},values:function(index,newValue){var vals,newValues,i;if(arguments.length>1){this.options.values[index]=this._trimAlignValue(newValue);this._refreshValue();this._change(null,index);return}if(arguments.length){if($.isArray(arguments[0])){vals=this.options.values;newValues=arguments[0];for(i=0;i<vals.length;i+=1){vals[i]=this._trimAlignValue(newValues[i]);this._change(null,i)}this._refreshValue()}else{if(this.options.values&&this.options.values.length){return this._values(index)}else{return this.value()}}}else{return this._values()}},_setOption:function(key,value){var i,valsLength=0;if(key==="range"&&this.options.range===true){if(value==="min"){this.options.value=this._values(0);this.options.values=null}else if(value==="max"){this.options.value=this._values(this.options.values.length-1);this.options.values=null}}if($.isArray(this.options.values)){valsLength=this.options.values.length}if(key==="disabled"){this.element.toggleClass("ui-state-disabled",!!value)}this._super(key,value);switch(key){case"orientation":this._detectOrientation();this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();this.handles.css(value==="horizontal"?"bottom":"left","");break;case"value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case"values":this._animateOff=true;this._refreshValue();for(i=0;i<valsLength;i+=1){this._change(null,i)}this._animateOff=false;break;case"step":case"min":case"max":this._animateOff=true;this._calculateNewMax();this._refreshValue();this._animateOff=false;break;case"range":this._animateOff=true;
this._refresh();this._animateOff=false;break}},_value:function(){var val=this.options.value;val=this._trimAlignValue(val);return val},_values:function(index){var val,vals,i;if(arguments.length){val=this.options.values[index];val=this._trimAlignValue(val);return val}else if(this.options.values&&this.options.values.length){vals=this.options.values.slice();for(i=0;i<vals.length;i+=1){vals[i]=this._trimAlignValue(vals[i])}return vals}else{return[]}},_trimAlignValue:function(val){if(val<=this._valueMin()){return this._valueMin()}if(val>=this._valueMax()){return this._valueMax()}var step=this.options.step>0?this.options.step:1,valModStep=(val-this._valueMin())%step,alignValue=val-valModStep;if(Math.abs(valModStep)*2>=step){alignValue+=valModStep>0?step:-step}return parseFloat(alignValue.toFixed(5))},_calculateNewMax:function(){var max=this.options.max,min=this._valueMin(),step=this.options.step,aboveMin=Math.floor(+(max-min).toFixed(this._precision())/step)*step;max=aboveMin+min;this.max=parseFloat(max.toFixed(this._precision()))},_precision:function(){var precision=this._precisionOf(this.options.step);if(this.options.min!==null){precision=Math.max(precision,this._precisionOf(this.options.min))}return precision},_precisionOf:function(num){var str=num.toString(),decimal=str.indexOf(".");return decimal===-1?0:str.length-decimal-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshValue:function(){var lastValPercent,valPercent,value,valueMin,valueMax,oRange=this.options.range,o=this.options,that=this,animate=!this._animateOff?o.animate:false,_set={};if(this.options.values&&this.options.values.length){this.handles.each(function(i){valPercent=(that.values(i)-that._valueMin())/(that._valueMax()-that._valueMin())*100;_set[that.orientation==="horizontal"?"left":"bottom"]=valPercent+"%";$(this).stop(1,1)[animate?"animate":"css"](_set,o.animate);if(that.options.range===true){if(that.orientation==="horizontal"){if(i===0){that.range.stop(1,1)[animate?"animate":"css"]({left:valPercent+"%"},o.animate)}if(i===1){that.range[animate?"animate":"css"]({width:valPercent-lastValPercent+"%"},{queue:false,duration:o.animate})}}else{if(i===0){that.range.stop(1,1)[animate?"animate":"css"]({bottom:valPercent+"%"},o.animate)}if(i===1){that.range[animate?"animate":"css"]({height:valPercent-lastValPercent+"%"},{queue:false,duration:o.animate})}}}lastValPercent=valPercent})}else{value=this.value();valueMin=this._valueMin();valueMax=this._valueMax();valPercent=valueMax!==valueMin?(value-valueMin)/(valueMax-valueMin)*100:0;_set[this.orientation==="horizontal"?"left":"bottom"]=valPercent+"%";this.handle.stop(1,1)[animate?"animate":"css"](_set,o.animate);if(oRange==="min"&&this.orientation==="horizontal"){this.range.stop(1,1)[animate?"animate":"css"]({width:valPercent+"%"},o.animate)}if(oRange==="max"&&this.orientation==="horizontal"){this.range[animate?"animate":"css"]({width:100-valPercent+"%"},{queue:false,duration:o.animate})}if(oRange==="min"&&this.orientation==="vertical"){this.range.stop(1,1)[animate?"animate":"css"]({height:valPercent+"%"},o.animate)}if(oRange==="max"&&this.orientation==="vertical"){this.range[animate?"animate":"css"]({height:100-valPercent+"%"},{queue:false,duration:o.animate})}}},_handleEvents:{keydown:function(event){var allowed,curVal,newVal,step,index=$(event.target).data("ui-slider-handle-index");switch(event.keyCode){case $.ui.keyCode.HOME:case $.ui.keyCode.END:case $.ui.keyCode.PAGE_UP:case $.ui.keyCode.PAGE_DOWN:case $.ui.keyCode.UP:case $.ui.keyCode.RIGHT:case $.ui.keyCode.DOWN:case $.ui.keyCode.LEFT:event.preventDefault();if(!this._keySliding){this._keySliding=true;$(event.target).addClass("ui-state-active");allowed=this._start(event,index);if(allowed===false){return}}break}step=this.options.step;if(this.options.values&&this.options.values.length){curVal=newVal=this.values(index)}else{curVal=newVal=this.value()}switch(event.keyCode){case $.ui.keyCode.HOME:newVal=this._valueMin();break;case $.ui.keyCode.END:newVal=this._valueMax();break;case $.ui.keyCode.PAGE_UP:newVal=this._trimAlignValue(curVal+(this._valueMax()-this._valueMin())/this.numPages);break;case $.ui.keyCode.PAGE_DOWN:newVal=this._trimAlignValue(curVal-(this._valueMax()-this._valueMin())/this.numPages);break;case $.ui.keyCode.UP:case $.ui.keyCode.RIGHT:if(curVal===this._valueMax()){return}newVal=this._trimAlignValue(curVal+step);break;case $.ui.keyCode.DOWN:case $.ui.keyCode.LEFT:if(curVal===this._valueMin()){return}newVal=this._trimAlignValue(curVal-step);break}this._slide(event,index,newVal)},keyup:function(event){var index=$(event.target).data("ui-slider-handle-index");if(this._keySliding){this._keySliding=false;this._stop(event,index);this._change(event,index);$(event.target).removeClass("ui-state-active")}}}});function spinner_modifier(fn){return function(){var previous=this.element.val();fn.apply(this,arguments);this._refresh();if(previous!==this.element.val()){this._trigger("change")}}}var spinner=$.widget("ui.spinner",{version:"1.11.4",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:true,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max);this._setOption("min",this.options.min);this._setOption("step",this.options.step);if(this.value()!==""){this._value(this.element.val(),true)}this._draw();this._on(this._events);this._refresh();this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var options={},element=this.element;$.each(["min","max","step"],function(i,option){var value=element.attr(option);if(value!==undefined&&value.length){options[option]=value}});return options},_events:{keydown:function(event){if(this._start(event)&&this._keydown(event)){event.preventDefault()}},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(event){if(this.cancelBlur){delete this.cancelBlur;return}this._stop();this._refresh();if(this.previous!==this.element.val()){this._trigger("change",event)}},mousewheel:function(event,delta){if(!delta){return}if(!this.spinning&&!this._start(event)){return false}this._spin((delta>0?1:-1)*this.options.step,event);clearTimeout(this.mousewheelTimer);this.mousewheelTimer=this._delay(function(){if(this.spinning){this._stop(event)}},100);event.preventDefault()},"mousedown .ui-spinner-button":function(event){var previous;previous=this.element[0]===this.document[0].activeElement?this.previous:this.element.val();function checkFocus(){var isActive=this.element[0]===this.document[0].activeElement;if(!isActive){this.element.focus();this.previous=previous;this._delay(function(){this.previous=previous})}}event.preventDefault();checkFocus.call(this);this.cancelBlur=true;this._delay(function(){delete this.cancelBlur;checkFocus.call(this)});if(this._start(event)===false){return}this._repeat(null,$(event.currentTarget).hasClass("ui-spinner-up")?1:-1,event)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(event){if(!$(event.currentTarget).hasClass("ui-state-active")){return}if(this._start(event)===false){return false}this._repeat(null,$(event.currentTarget).hasClass("ui-spinner-up")?1:-1,event)},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var uiSpinner=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton");this.buttons=uiSpinner.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all");if(this.buttons.height()>Math.ceil(uiSpinner.height()*.5)&&uiSpinner.height()>0){uiSpinner.height(uiSpinner.height())}if(this.options.disabled){this.disable()}},_keydown:function(event){var options=this.options,keyCode=$.ui.keyCode;switch(event.keyCode){case keyCode.UP:this._repeat(null,1,event);return true;case keyCode.DOWN:this._repeat(null,-1,event);return true;case keyCode.PAGE_UP:this._repeat(null,options.page,event);return true;case keyCode.PAGE_DOWN:this._repeat(null,-options.page,event);return true}return false},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return""+"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>"+"<span class='ui-icon "+this.options.icons.up+"'>&#9650;</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>&#9660;</span>"+"</a>"},_start:function(event){if(!this.spinning&&this._trigger("start",event)===false){return false}if(!this.counter){this.counter=1}this.spinning=true;return true},_repeat:function(i,steps,event){i=i||500;clearTimeout(this.timer);this.timer=this._delay(function(){this._repeat(40,steps,event)},i);this._spin(steps*this.options.step,event)},_spin:function(step,event){var value=this.value()||0;if(!this.counter){this.counter=1}value=this._adjustValue(value+step*this._increment(this.counter));if(!this.spinning||this._trigger("spin",event,{value:value})!==false){this._value(value);this.counter++}},_increment:function(i){var incremental=this.options.incremental;if(incremental){return $.isFunction(incremental)?incremental(i):Math.floor(i*i*i/5e4-i*i/500+17*i/200+1)}return 1},_precision:function(){var precision=this._precisionOf(this.options.step);if(this.options.min!==null){precision=Math.max(precision,this._precisionOf(this.options.min))}return precision},_precisionOf:function(num){var str=num.toString(),decimal=str.indexOf(".");return decimal===-1?0:str.length-decimal-1},_adjustValue:function(value){var base,aboveMin,options=this.options;base=options.min!==null?options.min:0;aboveMin=value-base;aboveMin=Math.round(aboveMin/options.step)*options.step;value=base+aboveMin;value=parseFloat(value.toFixed(this._precision()));if(options.max!==null&&value>options.max){return options.max}if(options.min!==null&&value<options.min){return options.min}return value},_stop:function(event){if(!this.spinning){return}clearTimeout(this.timer);clearTimeout(this.mousewheelTimer);this.counter=0;this.spinning=false;this._trigger("stop",event)},_setOption:function(key,value){if(key==="culture"||key==="numberFormat"){var prevValue=this._parse(this.element.val());this.options[key]=value;this.element.val(this._format(prevValue));return}if(key==="max"||key==="min"||key==="step"){if(typeof value==="string"){value=this._parse(value)}}if(key==="icons"){this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(value.up);this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(value.down)}this._super(key,value);if(key==="disabled"){this.widget().toggleClass("ui-state-disabled",!!value);this.element.prop("disabled",!!value);this.buttons.button(value?"disable":"enable")}},_setOptions:spinner_modifier(function(options){this._super(options)}),_parse:function(val){if(typeof val==="string"&&val!==""){val=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(val,10,this.options.culture):+val}return val===""||isNaN(val)?null:val},_format:function(value){if(value===""){return""}return window.Globalize&&this.options.numberFormat?Globalize.format(value,this.options.numberFormat,this.options.culture):value},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var value=this.value();if(value===null){return false}return value===this._adjustValue(value)},_value:function(value,allowAny){var parsed;if(value!==""){parsed=this._parse(value);if(parsed!==null){if(!allowAny){parsed=this._adjustValue(parsed)}value=this._format(parsed)}}this.element.val(value);this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",false).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");this.uiSpinner.replaceWith(this.element)},stepUp:spinner_modifier(function(steps){this._stepUp(steps)}),_stepUp:function(steps){if(this._start()){this._spin((steps||1)*this.options.step);this._stop()}},stepDown:spinner_modifier(function(steps){this._stepDown(steps)}),_stepDown:function(steps){if(this._start()){this._spin((steps||1)*-this.options.step);this._stop()}},pageUp:spinner_modifier(function(pages){this._stepUp((pages||1)*this.options.page)}),pageDown:spinner_modifier(function(pages){this._stepDown((pages||1)*this.options.page)}),value:function(newVal){if(!arguments.length){return this._parse(this.element.val())}spinner_modifier(this._value).call(this,newVal)},widget:function(){return this.uiSpinner}});var tabs=$.widget("ui.tabs",{version:"1.11.4",delay:300,options:{active:null,collapsible:false,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var rhash=/#.*$/;return function(anchor){var anchorUrl,locationUrl;anchor=anchor.cloneNode(false);anchorUrl=anchor.href.replace(rhash,"");locationUrl=location.href.replace(rhash,"");try{anchorUrl=decodeURIComponent(anchorUrl)}catch(error){}try{locationUrl=decodeURIComponent(locationUrl)}catch(error){}return anchor.hash.length>1&&anchorUrl===locationUrl}}(),_create:function(){var that=this,options=this.options;this.running=false;this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",options.collapsible);this._processTabs();options.active=this._initialActive();if($.isArray(options.disabled)){options.disabled=$.unique(options.disabled.concat($.map(this.tabs.filter(".ui-state-disabled"),function(li){return that.tabs.index(li)}))).sort()}if(this.options.active!==false&&this.anchors.length){this.active=this._findActive(options.active)}else{this.active=$()}this._refresh();if(this.active.length){this.load(options.active)}},_initialActive:function(){var active=this.options.active,collapsible=this.options.collapsible,locationHash=location.hash.substring(1);if(active===null){if(locationHash){this.tabs.each(function(i,tab){if($(tab).attr("aria-controls")===locationHash){active=i;return false}})}if(active===null){active=this.tabs.index(this.tabs.filter(".ui-tabs-active"))}if(active===null||active===-1){active=this.tabs.length?0:false}}if(active!==false){active=this.tabs.index(this.tabs.eq(active));if(active===-1){active=collapsible?false:0}}if(!collapsible&&active===false&&this.anchors.length){active=0}return active},_getCreateEventData:function(){return{tab:this.active,panel:!this.active.length?$():this._getPanelForTab(this.active)}},_tabKeydown:function(event){var focusedTab=$(this.document[0].activeElement).closest("li"),selectedIndex=this.tabs.index(focusedTab),goingForward=true;if(this._handlePageNav(event)){return}switch(event.keyCode){case $.ui.keyCode.RIGHT:case $.ui.keyCode.DOWN:selectedIndex++;break;case $.ui.keyCode.UP:case $.ui.keyCode.LEFT:goingForward=false;selectedIndex--;break;case $.ui.keyCode.END:selectedIndex=this.anchors.length-1;break;case $.ui.keyCode.HOME:selectedIndex=0;break;case $.ui.keyCode.SPACE:event.preventDefault();clearTimeout(this.activating);this._activate(selectedIndex);return;case $.ui.keyCode.ENTER:event.preventDefault();clearTimeout(this.activating);this._activate(selectedIndex===this.options.active?false:selectedIndex);return;default:return}event.preventDefault();clearTimeout(this.activating);selectedIndex=this._focusNextTab(selectedIndex,goingForward);if(!event.ctrlKey&&!event.metaKey){focusedTab.attr("aria-selected","false");this.tabs.eq(selectedIndex).attr("aria-selected","true");this.activating=this._delay(function(){this.option("active",selectedIndex)},this.delay)}},_panelKeydown:function(event){if(this._handlePageNav(event)){return}if(event.ctrlKey&&event.keyCode===$.ui.keyCode.UP){event.preventDefault();this.active.focus()}},_handlePageNav:function(event){if(event.altKey&&event.keyCode===$.ui.keyCode.PAGE_UP){this._activate(this._focusNextTab(this.options.active-1,false));return true}if(event.altKey&&event.keyCode===$.ui.keyCode.PAGE_DOWN){this._activate(this._focusNextTab(this.options.active+1,true));return true}},_findNextTab:function(index,goingForward){var lastTabIndex=this.tabs.length-1;function constrain(){if(index>lastTabIndex){index=0}if(index<0){index=lastTabIndex}return index}while($.inArray(constrain(),this.options.disabled)!==-1){index=goingForward?index+1:index-1}return index},_focusNextTab:function(index,goingForward){index=this._findNextTab(index,goingForward);this.tabs.eq(index).focus();return index},_setOption:function(key,value){if(key==="active"){this._activate(value);return}if(key==="disabled"){this._setupDisabled(value);return}this._super(key,value);if(key==="collapsible"){this.element.toggleClass("ui-tabs-collapsible",value);if(!value&&this.options.active===false){this._activate(0)}}if(key==="event"){this._setupEvents(value)}if(key==="heightStyle"){this._setupHeightStyle(value)}},_sanitizeSelector:function(hash){return hash?hash.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var options=this.options,lis=this.tablist.children(":has(a[href])");options.disabled=$.map(lis.filter(".ui-state-disabled"),function(tab){return lis.index(tab)});this._processTabs();if(options.active===false||!this.anchors.length){options.active=false;this.active=$()}else if(this.active.length&&!$.contains(this.tablist[0],this.active[0])){if(this.tabs.length===options.disabled.length){options.active=false;this.active=$()}else{this._activate(this._findNextTab(Math.max(0,options.active-1),false))}}else{options.active=this.tabs.index(this.active)}this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled);this._setupEvents(this.options.event);this._setupHeightStyle(this.options.heightStyle);this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1});this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"});if(!this.active.length){this.tabs.eq(0).attr("tabIndex",0)}else{this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0});this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})}},_processTabs:function(){var that=this,prevTabs=this.tabs,prevAnchors=this.anchors,prevPanels=this.panels;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(event){if($(this).is(".ui-state-disabled")){event.preventDefault()}}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){if($(this).closest("li").is(".ui-state-disabled")){this.blur()}});this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1});this.anchors=this.tabs.map(function(){return $("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1});this.panels=$();this.anchors.each(function(i,anchor){var selector,panel,panelId,anchorId=$(anchor).uniqueId().attr("id"),tab=$(anchor).closest("li"),originalAriaControls=tab.attr("aria-controls");if(that._isLocal(anchor)){selector=anchor.hash;panelId=selector.substring(1);panel=that.element.find(that._sanitizeSelector(selector))}else{panelId=tab.attr("aria-controls")||$({}).uniqueId()[0].id;selector="#"+panelId;panel=that.element.find(selector);if(!panel.length){panel=that._createPanel(panelId);panel.insertAfter(that.panels[i-1]||that.tablist)}panel.attr("aria-live","polite")}if(panel.length){that.panels=that.panels.add(panel)}if(originalAriaControls){tab.data("ui-tabs-aria-controls",originalAriaControls)}tab.attr({"aria-controls":panelId,"aria-labelledby":anchorId});panel.attr("aria-labelledby",anchorId)});this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel");if(prevTabs){this._off(prevTabs.not(this.tabs));this._off(prevAnchors.not(this.anchors));this._off(prevPanels.not(this.panels))}},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(id){return $("<div>").attr("id",id).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",true)},_setupDisabled:function(disabled){if($.isArray(disabled)){if(!disabled.length){disabled=false}else if(disabled.length===this.anchors.length){disabled=true}}for(var i=0,li;li=this.tabs[i];i++){if(disabled===true||$.inArray(i,disabled)!==-1){$(li).addClass("ui-state-disabled").attr("aria-disabled","true")}else{$(li).removeClass("ui-state-disabled").removeAttr("aria-disabled")}}this.options.disabled=disabled},_setupEvents:function(event){var events={};if(event){$.each(event.split(" "),function(index,eventName){events[eventName]="_eventHandler"})}this._off(this.anchors.add(this.tabs).add(this.panels));this._on(true,this.anchors,{click:function(event){event.preventDefault()}});this._on(this.anchors,events);this._on(this.tabs,{keydown:"_tabKeydown"});this._on(this.panels,{keydown:"_panelKeydown"});this._focusable(this.tabs);this._hoverable(this.tabs)},_setupHeightStyle:function(heightStyle){var maxHeight,parent=this.element.parent();if(heightStyle==="fill"){maxHeight=parent.height();maxHeight-=this.element.outerHeight()-this.element.height();this.element.siblings(":visible").each(function(){var elem=$(this),position=elem.css("position");if(position==="absolute"||position==="fixed"){return}maxHeight-=elem.outerHeight(true)});this.element.children().not(this.panels).each(function(){maxHeight-=$(this).outerHeight(true)});this.panels.each(function(){$(this).height(Math.max(0,maxHeight-$(this).innerHeight()+$(this).height()))}).css("overflow","auto")}else if(heightStyle==="auto"){maxHeight=0;this.panels.each(function(){maxHeight=Math.max(maxHeight,$(this).height("").height())}).height(maxHeight)}},_eventHandler:function(event){var options=this.options,active=this.active,anchor=$(event.currentTarget),tab=anchor.closest("li"),clickedIsActive=tab[0]===active[0],collapsing=clickedIsActive&&options.collapsible,toShow=collapsing?$():this._getPanelForTab(tab),toHide=!active.length?$():this._getPanelForTab(active),eventData={oldTab:active,oldPanel:toHide,newTab:collapsing?$():tab,newPanel:toShow};event.preventDefault();if(tab.hasClass("ui-state-disabled")||tab.hasClass("ui-tabs-loading")||this.running||clickedIsActive&&!options.collapsible||this._trigger("beforeActivate",event,eventData)===false){return}options.active=collapsing?false:this.tabs.index(tab);this.active=clickedIsActive?$():tab;if(this.xhr){this.xhr.abort()}if(!toHide.length&&!toShow.length){$.error("jQuery UI Tabs: Mismatching fragment identifier.")}if(toShow.length){this.load(this.tabs.index(tab),event)}this._toggle(event,eventData)},_toggle:function(event,eventData){var that=this,toShow=eventData.newPanel,toHide=eventData.oldPanel;this.running=true;function complete(){that.running=false;that._trigger("activate",event,eventData)}function show(){eventData.newTab.closest("li").addClass("ui-tabs-active ui-state-active");if(toShow.length&&that.options.show){that._show(toShow,that.options.show,complete)}else{toShow.show();complete()}}if(toHide.length&&this.options.hide){this._hide(toHide,this.options.hide,function(){eventData.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active");show()})}else{eventData.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active");toHide.hide();show()}toHide.attr("aria-hidden","true");eventData.oldTab.attr({"aria-selected":"false","aria-expanded":"false"});if(toShow.length&&toHide.length){eventData.oldTab.attr("tabIndex",-1)}else if(toShow.length){this.tabs.filter(function(){return $(this).attr("tabIndex")===0}).attr("tabIndex",-1)}toShow.attr("aria-hidden","false");eventData.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(index){var anchor,active=this._findActive(index);if(active[0]===this.active[0]){return}if(!active.length){active=this.active}anchor=active.find(".ui-tabs-anchor")[0];this._eventHandler({target:anchor,currentTarget:anchor,preventDefault:$.noop})},_findActive:function(index){return index===false?$():this.tabs.eq(index)},_getIndex:function(index){if(typeof index==="string"){index=this.anchors.index(this.anchors.filter("[href$='"+index+"']"))}return index},_destroy:function(){if(this.xhr){this.xhr.abort()}this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible");this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role");this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId();this.tablist.unbind(this.eventNamespace);this.tabs.add(this.panels).each(function(){if($.data(this,"ui-tabs-destroy")){$(this).remove()}else{$(this).removeClass("ui-state-default ui-state-active ui-state-disabled "+"ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}});this.tabs.each(function(){var li=$(this),prev=li.data("ui-tabs-aria-controls");if(prev){li.attr("aria-controls",prev).removeData("ui-tabs-aria-controls")}else{li.removeAttr("aria-controls")}});this.panels.show();if(this.options.heightStyle!=="content"){this.panels.css("height","")}},enable:function(index){var disabled=this.options.disabled;if(disabled===false){return}if(index===undefined){disabled=false}else{index=this._getIndex(index);if($.isArray(disabled)){disabled=$.map(disabled,function(num){return num!==index?num:null})}else{disabled=$.map(this.tabs,function(li,num){return num!==index?num:null})}}this._setupDisabled(disabled)},disable:function(index){var disabled=this.options.disabled;if(disabled===true){return}if(index===undefined){disabled=true}else{index=this._getIndex(index);if($.inArray(index,disabled)!==-1){return}if($.isArray(disabled)){disabled=$.merge([index],disabled).sort()}else{disabled=[index]}}this._setupDisabled(disabled)},load:function(index,event){index=this._getIndex(index);var that=this,tab=this.tabs.eq(index),anchor=tab.find(".ui-tabs-anchor"),panel=this._getPanelForTab(tab),eventData={tab:tab,panel:panel},complete=function(jqXHR,status){if(status==="abort"){that.panels.stop(false,true)}tab.removeClass("ui-tabs-loading");panel.removeAttr("aria-busy");if(jqXHR===that.xhr){delete that.xhr}};if(this._isLocal(anchor[0])){return}this.xhr=$.ajax(this._ajaxSettings(anchor,event,eventData));if(this.xhr&&this.xhr.statusText!=="canceled"){tab.addClass("ui-tabs-loading");panel.attr("aria-busy","true");this.xhr.done(function(response,status,jqXHR){setTimeout(function(){panel.html(response);that._trigger("load",event,eventData);complete(jqXHR,status)},1)}).fail(function(jqXHR,status){setTimeout(function(){complete(jqXHR,status)},1)})}},_ajaxSettings:function(anchor,event,eventData){var that=this;return{url:anchor.attr("href"),beforeSend:function(jqXHR,settings){return that._trigger("beforeLoad",event,$.extend({jqXHR:jqXHR,ajaxSettings:settings},eventData))}}},_getPanelForTab:function(tab){var id=$(tab).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+id))}});var tooltip=$.widget("ui.tooltip",{version:"1.11.4",options:{content:function(){var title=$(this).attr("title")||"";return $("<a>").text(title).html()},hide:true,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:true,tooltipClass:null,track:false,close:null,open:null},_addDescribedBy:function(elem,id){var describedby=(elem.attr("aria-describedby")||"").split(/\s+/);describedby.push(id);elem.data("ui-tooltip-id",id).attr("aria-describedby",$.trim(describedby.join(" ")))},_removeDescribedBy:function(elem){var id=elem.data("ui-tooltip-id"),describedby=(elem.attr("aria-describedby")||"").split(/\s+/),index=$.inArray(id,describedby);if(index!==-1){describedby.splice(index,1)}elem.removeData("ui-tooltip-id");describedby=$.trim(describedby.join(" "));if(describedby){elem.attr("aria-describedby",describedby)}else{elem.removeAttr("aria-describedby")}},_create:function(){this._on({mouseover:"open",focusin:"open"});this.tooltips={};this.parents={};if(this.options.disabled){this._disable()}this.liveRegion=$("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(key,value){var that=this;if(key==="disabled"){this[value?"_disable":"_enable"]();this.options[key]=value;return}this._super(key,value);if(key==="content"){$.each(this.tooltips,function(id,tooltipData){that._updateContent(tooltipData.element)})}},_disable:function(){var that=this;$.each(this.tooltips,function(id,tooltipData){var event=$.Event("blur");event.target=event.currentTarget=tooltipData.element[0];that.close(event,true)});this.element.find(this.options.items).addBack().each(function(){var element=$(this);if(element.is("[title]")){element.data("ui-tooltip-title",element.attr("title")).removeAttr("title")}})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var element=$(this);if(element.data("ui-tooltip-title")){element.attr("title",element.data("ui-tooltip-title"))}})},open:function(event){var that=this,target=$(event?event.target:this.element).closest(this.options.items);if(!target.length||target.data("ui-tooltip-id")){return}if(target.attr("title")){target.data("ui-tooltip-title",target.attr("title"))}target.data("ui-tooltip-open",true);if(event&&event.type==="mouseover"){target.parents().each(function(){var parent=$(this),blurEvent;if(parent.data("ui-tooltip-open")){blurEvent=$.Event("blur");blurEvent.target=blurEvent.currentTarget=this;that.close(blurEvent,true)}if(parent.attr("title")){parent.uniqueId();that.parents[this.id]={element:this,title:parent.attr("title")};parent.attr("title","")}})}this._registerCloseHandlers(event,target);this._updateContent(target,event)},_updateContent:function(target,event){var content,contentOption=this.options.content,that=this,eventType=event?event.type:null;if(typeof contentOption==="string"){return this._open(event,target,contentOption)}content=contentOption.call(target[0],function(response){that._delay(function(){if(!target.data("ui-tooltip-open")){return}if(event){event.type=eventType}this._open(event,target,response)})});if(content){this._open(event,target,content)}},_open:function(event,target,content){var tooltipData,tooltip,delayedShow,a11yContent,positionOption=$.extend({},this.options.position);if(!content){return}tooltipData=this._find(target);if(tooltipData){tooltipData.tooltip.find(".ui-tooltip-content").html(content);return}if(target.is("[title]")){if(event&&event.type==="mouseover"){target.attr("title","")}else{target.removeAttr("title")}}tooltipData=this._tooltip(target);tooltip=tooltipData.tooltip;this._addDescribedBy(target,tooltip.attr("id"));tooltip.find(".ui-tooltip-content").html(content);this.liveRegion.children().hide();if(content.clone){a11yContent=content.clone();a11yContent.removeAttr("id").find("[id]").removeAttr("id")}else{a11yContent=content}$("<div>").html(a11yContent).appendTo(this.liveRegion);function position(event){positionOption.of=event;if(tooltip.is(":hidden")){return}tooltip.position(positionOption)}if(this.options.track&&event&&/^mouse/.test(event.type)){this._on(this.document,{mousemove:position});position(event)}else{tooltip.position($.extend({of:target},this.options.position))}tooltip.hide();this._show(tooltip,this.options.show);if(this.options.show&&this.options.show.delay){delayedShow=this.delayedShow=setInterval(function(){if(tooltip.is(":visible")){position(positionOption.of);
clearInterval(delayedShow)}},$.fx.interval)}this._trigger("open",event,{tooltip:tooltip})},_registerCloseHandlers:function(event,target){var events={keyup:function(event){if(event.keyCode===$.ui.keyCode.ESCAPE){var fakeEvent=$.Event(event);fakeEvent.currentTarget=target[0];this.close(fakeEvent,true)}}};if(target[0]!==this.element[0]){events.remove=function(){this._removeTooltip(this._find(target).tooltip)}}if(!event||event.type==="mouseover"){events.mouseleave="close"}if(!event||event.type==="focusin"){events.focusout="close"}this._on(true,target,events)},close:function(event){var tooltip,that=this,target=$(event?event.currentTarget:this.element),tooltipData=this._find(target);if(!tooltipData){target.removeData("ui-tooltip-open");return}tooltip=tooltipData.tooltip;if(tooltipData.closing){return}clearInterval(this.delayedShow);if(target.data("ui-tooltip-title")&&!target.attr("title")){target.attr("title",target.data("ui-tooltip-title"))}this._removeDescribedBy(target);tooltipData.hiding=true;tooltip.stop(true);this._hide(tooltip,this.options.hide,function(){that._removeTooltip($(this))});target.removeData("ui-tooltip-open");this._off(target,"mouseleave focusout keyup");if(target[0]!==this.element[0]){this._off(target,"remove")}this._off(this.document,"mousemove");if(event&&event.type==="mouseleave"){$.each(this.parents,function(id,parent){$(parent.element).attr("title",parent.title);delete that.parents[id]})}tooltipData.closing=true;this._trigger("close",event,{tooltip:tooltip});if(!tooltipData.hiding){tooltipData.closing=false}},_tooltip:function(element){var tooltip=$("<div>").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),id=tooltip.uniqueId().attr("id");$("<div>").addClass("ui-tooltip-content").appendTo(tooltip);tooltip.appendTo(this.document[0].body);return this.tooltips[id]={element:element,tooltip:tooltip}},_find:function(target){var id=target.data("ui-tooltip-id");return id?this.tooltips[id]:null},_removeTooltip:function(tooltip){tooltip.remove();delete this.tooltips[tooltip.attr("id")]},_destroy:function(){var that=this;$.each(this.tooltips,function(id,tooltipData){var event=$.Event("blur"),element=tooltipData.element;event.target=event.currentTarget=element[0];that.close(event,true);$("#"+id).remove();if(element.data("ui-tooltip-title")){if(!element.attr("title")){element.attr("title",element.data("ui-tooltip-title"))}element.removeData("ui-tooltip-title")}});this.liveRegion.remove()}});var dataSpace="ui-effects-",jQuery=$;$.effects={effect:{}};(function(jQuery,undefined){var stepHooks="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",rplusequals=/^([\-+])=\s*(\d+\.?\d*)/,stringParsers=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(execResult){return[execResult[1],execResult[2],execResult[3],execResult[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(execResult){return[execResult[1]*2.55,execResult[2]*2.55,execResult[3]*2.55,execResult[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(execResult){return[parseInt(execResult[1],16),parseInt(execResult[2],16),parseInt(execResult[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(execResult){return[parseInt(execResult[1]+execResult[1],16),parseInt(execResult[2]+execResult[2],16),parseInt(execResult[3]+execResult[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(execResult){return[execResult[1],execResult[2]/100,execResult[3]/100,execResult[4]]}}],color=jQuery.Color=function(color,green,blue,alpha){return new jQuery.Color.fn.parse(color,green,blue,alpha)},spaces={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},propTypes={byte:{floor:true,max:255},percent:{max:1},degrees:{mod:360,floor:true}},support=color.support={},supportElem=jQuery("<p>")[0],colors,each=jQuery.each;supportElem.style.cssText="background-color:rgba(1,1,1,.5)";support.rgba=supportElem.style.backgroundColor.indexOf("rgba")>-1;each(spaces,function(spaceName,space){space.cache="_"+spaceName;space.props.alpha={idx:3,type:"percent",def:1}});function clamp(value,prop,allowEmpty){var type=propTypes[prop.type]||{};if(value==null){return allowEmpty||!prop.def?null:prop.def}value=type.floor?~~value:parseFloat(value);if(isNaN(value)){return prop.def}if(type.mod){return(value+type.mod)%type.mod}return 0>value?0:type.max<value?type.max:value}function stringParse(string){var inst=color(),rgba=inst._rgba=[];string=string.toLowerCase();each(stringParsers,function(i,parser){var parsed,match=parser.re.exec(string),values=match&&parser.parse(match),spaceName=parser.space||"rgba";if(values){parsed=inst[spaceName](values);inst[spaces[spaceName].cache]=parsed[spaces[spaceName].cache];rgba=inst._rgba=parsed._rgba;return false}});if(rgba.length){if(rgba.join()==="0,0,0,0"){jQuery.extend(rgba,colors.transparent)}return inst}return colors[string]}color.fn=jQuery.extend(color.prototype,{parse:function(red,green,blue,alpha){if(red===undefined){this._rgba=[null,null,null,null];return this}if(red.jquery||red.nodeType){red=jQuery(red).css(green);green=undefined}var inst=this,type=jQuery.type(red),rgba=this._rgba=[];if(green!==undefined){red=[red,green,blue,alpha];type="array"}if(type==="string"){return this.parse(stringParse(red)||colors._default)}if(type==="array"){each(spaces.rgba.props,function(key,prop){rgba[prop.idx]=clamp(red[prop.idx],prop)});return this}if(type==="object"){if(red instanceof color){each(spaces,function(spaceName,space){if(red[space.cache]){inst[space.cache]=red[space.cache].slice()}})}else{each(spaces,function(spaceName,space){var cache=space.cache;each(space.props,function(key,prop){if(!inst[cache]&&space.to){if(key==="alpha"||red[key]==null){return}inst[cache]=space.to(inst._rgba)}inst[cache][prop.idx]=clamp(red[key],prop,true)});if(inst[cache]&&jQuery.inArray(null,inst[cache].slice(0,3))<0){inst[cache][3]=1;if(space.from){inst._rgba=space.from(inst[cache])}}})}return this}},is:function(compare){var is=color(compare),same=true,inst=this;each(spaces,function(_,space){var localCache,isCache=is[space.cache];if(isCache){localCache=inst[space.cache]||space.to&&space.to(inst._rgba)||[];each(space.props,function(_,prop){if(isCache[prop.idx]!=null){same=isCache[prop.idx]===localCache[prop.idx];return same}})}return same});return same},_space:function(){var used=[],inst=this;each(spaces,function(spaceName,space){if(inst[space.cache]){used.push(spaceName)}});return used.pop()},transition:function(other,distance){var end=color(other),spaceName=end._space(),space=spaces[spaceName],startColor=this.alpha()===0?color("transparent"):this,start=startColor[space.cache]||space.to(startColor._rgba),result=start.slice();end=end[space.cache];each(space.props,function(key,prop){var index=prop.idx,startValue=start[index],endValue=end[index],type=propTypes[prop.type]||{};if(endValue===null){return}if(startValue===null){result[index]=endValue}else{if(type.mod){if(endValue-startValue>type.mod/2){startValue+=type.mod}else if(startValue-endValue>type.mod/2){startValue-=type.mod}}result[index]=clamp((endValue-startValue)*distance+startValue,prop)}});return this[spaceName](result)},blend:function(opaque){if(this._rgba[3]===1){return this}var rgb=this._rgba.slice(),a=rgb.pop(),blend=color(opaque)._rgba;return color(jQuery.map(rgb,function(v,i){return(1-a)*blend[i]+a*v}))},toRgbaString:function(){var prefix="rgba(",rgba=jQuery.map(this._rgba,function(v,i){return v==null?i>2?1:0:v});if(rgba[3]===1){rgba.pop();prefix="rgb("}return prefix+rgba.join()+")"},toHslaString:function(){var prefix="hsla(",hsla=jQuery.map(this.hsla(),function(v,i){if(v==null){v=i>2?1:0}if(i&&i<3){v=Math.round(v*100)+"%"}return v});if(hsla[3]===1){hsla.pop();prefix="hsl("}return prefix+hsla.join()+")"},toHexString:function(includeAlpha){var rgba=this._rgba.slice(),alpha=rgba.pop();if(includeAlpha){rgba.push(~~(alpha*255))}return"#"+jQuery.map(rgba,function(v){v=(v||0).toString(16);return v.length===1?"0"+v:v}).join("")},toString:function(){return this._rgba[3]===0?"transparent":this.toRgbaString()}});color.fn.parse.prototype=color.fn;function hue2rgb(p,q,h){h=(h+1)%1;if(h*6<1){return p+(q-p)*h*6}if(h*2<1){return q}if(h*3<2){return p+(q-p)*(2/3-h)*6}return p}spaces.hsla.to=function(rgba){if(rgba[0]==null||rgba[1]==null||rgba[2]==null){return[null,null,null,rgba[3]]}var r=rgba[0]/255,g=rgba[1]/255,b=rgba[2]/255,a=rgba[3],max=Math.max(r,g,b),min=Math.min(r,g,b),diff=max-min,add=max+min,l=add*.5,h,s;if(min===max){h=0}else if(r===max){h=60*(g-b)/diff+360}else if(g===max){h=60*(b-r)/diff+120}else{h=60*(r-g)/diff+240}if(diff===0){s=0}else if(l<=.5){s=diff/add}else{s=diff/(2-add)}return[Math.round(h)%360,s,l,a==null?1:a]};spaces.hsla.from=function(hsla){if(hsla[0]==null||hsla[1]==null||hsla[2]==null){return[null,null,null,hsla[3]]}var h=hsla[0]/360,s=hsla[1],l=hsla[2],a=hsla[3],q=l<=.5?l*(1+s):l+s-l*s,p=2*l-q;return[Math.round(hue2rgb(p,q,h+1/3)*255),Math.round(hue2rgb(p,q,h)*255),Math.round(hue2rgb(p,q,h-1/3)*255),a]};each(spaces,function(spaceName,space){var props=space.props,cache=space.cache,to=space.to,from=space.from;color.fn[spaceName]=function(value){if(to&&!this[cache]){this[cache]=to(this._rgba)}if(value===undefined){return this[cache].slice()}var ret,type=jQuery.type(value),arr=type==="array"||type==="object"?value:arguments,local=this[cache].slice();each(props,function(key,prop){var val=arr[type==="object"?key:prop.idx];if(val==null){val=local[prop.idx]}local[prop.idx]=clamp(val,prop)});if(from){ret=color(from(local));ret[cache]=local;return ret}else{return color(local)}};each(props,function(key,prop){if(color.fn[key]){return}color.fn[key]=function(value){var vtype=jQuery.type(value),fn=key==="alpha"?this._hsla?"hsla":"rgba":spaceName,local=this[fn](),cur=local[prop.idx],match;if(vtype==="undefined"){return cur}if(vtype==="function"){value=value.call(this,cur);vtype=jQuery.type(value)}if(value==null&&prop.empty){return this}if(vtype==="string"){match=rplusequals.exec(value);if(match){value=cur+parseFloat(match[2])*(match[1]==="+"?1:-1)}}local[prop.idx]=value;return this[fn](local)}})});color.hook=function(hook){var hooks=hook.split(" ");each(hooks,function(i,hook){jQuery.cssHooks[hook]={set:function(elem,value){var parsed,curElem,backgroundColor="";if(value!=="transparent"&&(jQuery.type(value)!=="string"||(parsed=stringParse(value)))){value=color(parsed||value);if(!support.rgba&&value._rgba[3]!==1){curElem=hook==="backgroundColor"?elem.parentNode:elem;while((backgroundColor===""||backgroundColor==="transparent")&&curElem&&curElem.style){try{backgroundColor=jQuery.css(curElem,"backgroundColor");curElem=curElem.parentNode}catch(e){}}value=value.blend(backgroundColor&&backgroundColor!=="transparent"?backgroundColor:"_default")}value=value.toRgbaString()}try{elem.style[hook]=value}catch(e){}}};jQuery.fx.step[hook]=function(fx){if(!fx.colorInit){fx.start=color(fx.elem,hook);fx.end=color(fx.end);fx.colorInit=true}jQuery.cssHooks[hook].set(fx.elem,fx.start.transition(fx.end,fx.pos))}})};color.hook(stepHooks);jQuery.cssHooks.borderColor={expand:function(value){var expanded={};each(["Top","Right","Bottom","Left"],function(i,part){expanded["border"+part+"Color"]=value});return expanded}};colors=jQuery.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}})(jQuery);(function(){var classAnimationActions=["add","remove","toggle"],shorthandStyles={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};$.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(_,prop){$.fx.step[prop]=function(fx){if(fx.end!=="none"&&!fx.setAttr||fx.pos===1&&!fx.setAttr){jQuery.style(fx.elem,prop,fx.end);fx.setAttr=true}}});function getElementStyles(elem){var key,len,style=elem.ownerDocument.defaultView?elem.ownerDocument.defaultView.getComputedStyle(elem,null):elem.currentStyle,styles={};if(style&&style.length&&style[0]&&style[style[0]]){len=style.length;while(len--){key=style[len];if(typeof style[key]==="string"){styles[$.camelCase(key)]=style[key]}}}else{for(key in style){if(typeof style[key]==="string"){styles[key]=style[key]}}}return styles}function styleDifference(oldStyle,newStyle){var diff={},name,value;for(name in newStyle){value=newStyle[name];if(oldStyle[name]!==value){if(!shorthandStyles[name]){if($.fx.step[name]||!isNaN(parseFloat(value))){diff[name]=value}}}}return diff}if(!$.fn.addBack){$.fn.addBack=function(selector){return this.add(selector==null?this.prevObject:this.prevObject.filter(selector))}}$.effects.animateClass=function(value,duration,easing,callback){var o=$.speed(duration,easing,callback);return this.queue(function(){var animated=$(this),baseClass=animated.attr("class")||"",applyClassChange,allAnimations=o.children?animated.find("*").addBack():animated;allAnimations=allAnimations.map(function(){var el=$(this);return{el:el,start:getElementStyles(this)}});applyClassChange=function(){$.each(classAnimationActions,function(i,action){if(value[action]){animated[action+"Class"](value[action])}})};applyClassChange();allAnimations=allAnimations.map(function(){this.end=getElementStyles(this.el[0]);this.diff=styleDifference(this.start,this.end);return this});animated.attr("class",baseClass);allAnimations=allAnimations.map(function(){var styleInfo=this,dfd=$.Deferred(),opts=$.extend({},o,{queue:false,complete:function(){dfd.resolve(styleInfo)}});this.el.animate(this.diff,opts);return dfd.promise()});$.when.apply($,allAnimations.get()).done(function(){applyClassChange();$.each(arguments,function(){var el=this.el;$.each(this.diff,function(key){el.css(key,"")})});o.complete.call(animated[0])})})};$.fn.extend({addClass:function(orig){return function(classNames,speed,easing,callback){return speed?$.effects.animateClass.call(this,{add:classNames},speed,easing,callback):orig.apply(this,arguments)}}($.fn.addClass),removeClass:function(orig){return function(classNames,speed,easing,callback){return arguments.length>1?$.effects.animateClass.call(this,{remove:classNames},speed,easing,callback):orig.apply(this,arguments)}}($.fn.removeClass),toggleClass:function(orig){return function(classNames,force,speed,easing,callback){if(typeof force==="boolean"||force===undefined){if(!speed){return orig.apply(this,arguments)}else{return $.effects.animateClass.call(this,force?{add:classNames}:{remove:classNames},speed,easing,callback)}}else{return $.effects.animateClass.call(this,{toggle:classNames},force,speed,easing)}}}($.fn.toggleClass),switchClass:function(remove,add,speed,easing,callback){return $.effects.animateClass.call(this,{add:add,remove:remove},speed,easing,callback)}})})();(function(){$.extend($.effects,{version:"1.11.4",save:function(element,set){for(var i=0;i<set.length;i++){if(set[i]!==null){element.data(dataSpace+set[i],element[0].style[set[i]])}}},restore:function(element,set){var val,i;for(i=0;i<set.length;i++){if(set[i]!==null){val=element.data(dataSpace+set[i]);if(val===undefined){val=""}element.css(set[i],val)}}},setMode:function(el,mode){if(mode==="toggle"){mode=el.is(":hidden")?"show":"hide"}return mode},getBaseline:function(origin,original){var y,x;switch(origin[0]){case"top":y=0;break;case"middle":y=.5;break;case"bottom":y=1;break;default:y=origin[0]/original.height}switch(origin[1]){case"left":x=0;break;case"center":x=.5;break;case"right":x=1;break;default:x=origin[1]/original.width}return{x:x,y:y}},createWrapper:function(element){if(element.parent().is(".ui-effects-wrapper")){return element.parent()}var props={width:element.outerWidth(true),height:element.outerHeight(true),float:element.css("float")},wrapper=$("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),size={width:element.width(),height:element.height()},active=document.activeElement;try{active.id}catch(e){active=document.body}element.wrap(wrapper);if(element[0]===active||$.contains(element[0],active)){$(active).focus()}wrapper=element.parent();if(element.css("position")==="static"){wrapper.css({position:"relative"});element.css({position:"relative"})}else{$.extend(props,{position:element.css("position"),zIndex:element.css("z-index")});$.each(["top","left","bottom","right"],function(i,pos){props[pos]=element.css(pos);if(isNaN(parseInt(props[pos],10))){props[pos]="auto"}});element.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}element.css(size);return wrapper.css(props).show()},removeWrapper:function(element){var active=document.activeElement;if(element.parent().is(".ui-effects-wrapper")){element.parent().replaceWith(element);if(element[0]===active||$.contains(element[0],active)){$(active).focus()}}return element},setTransition:function(element,list,factor,value){value=value||{};$.each(list,function(i,x){var unit=element.cssUnit(x);if(unit[0]>0){value[x]=unit[0]*factor+unit[1]}});return value}});function _normalizeArguments(effect,options,speed,callback){if($.isPlainObject(effect)){options=effect;effect=effect.effect}effect={effect:effect};if(options==null){options={}}if($.isFunction(options)){callback=options;speed=null;options={}}if(typeof options==="number"||$.fx.speeds[options]){callback=speed;speed=options;options={}}if($.isFunction(speed)){callback=speed;speed=null}if(options){$.extend(effect,options)}speed=speed||options.duration;effect.duration=$.fx.off?0:typeof speed==="number"?speed:speed in $.fx.speeds?$.fx.speeds[speed]:$.fx.speeds._default;effect.complete=callback||options.complete;return effect}function standardAnimationOption(option){if(!option||typeof option==="number"||$.fx.speeds[option]){return true}if(typeof option==="string"&&!$.effects.effect[option]){return true}if($.isFunction(option)){return true}if(typeof option==="object"&&!option.effect){return true}return false}$.fn.extend({effect:function(){var args=_normalizeArguments.apply(this,arguments),mode=args.mode,queue=args.queue,effectMethod=$.effects.effect[args.effect];if($.fx.off||!effectMethod){if(mode){return this[mode](args.duration,args.complete)}else{return this.each(function(){if(args.complete){args.complete.call(this)}})}}function run(next){var elem=$(this),complete=args.complete,mode=args.mode;function done(){if($.isFunction(complete)){complete.call(elem[0])}if($.isFunction(next)){next()}}if(elem.is(":hidden")?mode==="hide":mode==="show"){elem[mode]();done()}else{effectMethod.call(elem[0],args,done)}}return queue===false?this.each(run):this.queue(queue||"fx",run)},show:function(orig){return function(option){if(standardAnimationOption(option)){return orig.apply(this,arguments)}else{var args=_normalizeArguments.apply(this,arguments);args.mode="show";return this.effect.call(this,args)}}}($.fn.show),hide:function(orig){return function(option){if(standardAnimationOption(option)){return orig.apply(this,arguments)}else{var args=_normalizeArguments.apply(this,arguments);args.mode="hide";return this.effect.call(this,args)}}}($.fn.hide),toggle:function(orig){return function(option){if(standardAnimationOption(option)||typeof option==="boolean"){return orig.apply(this,arguments)}else{var args=_normalizeArguments.apply(this,arguments);args.mode="toggle";return this.effect.call(this,args)}}}($.fn.toggle),cssUnit:function(key){var style=this.css(key),val=[];$.each(["em","px","%","pt"],function(i,unit){if(style.indexOf(unit)>0){val=[parseFloat(style),unit]}});return val}})})();(function(){var baseEasings={};$.each(["Quad","Cubic","Quart","Quint","Expo"],function(i,name){baseEasings[name]=function(p){return Math.pow(p,i+2)}});$.extend(baseEasings,{Sine:function(p){return 1-Math.cos(p*Math.PI/2)},Circ:function(p){return 1-Math.sqrt(1-p*p)},Elastic:function(p){return p===0||p===1?p:-Math.pow(2,8*(p-1))*Math.sin(((p-1)*80-7.5)*Math.PI/15)},Back:function(p){return p*p*(3*p-2)},Bounce:function(p){var pow2,bounce=4;while(p<((pow2=Math.pow(2,--bounce))-1)/11){}return 1/Math.pow(4,3-bounce)-7.5625*Math.pow((pow2*3-2)/22-p,2)}});$.each(baseEasings,function(name,easeIn){$.easing["easeIn"+name]=easeIn;$.easing["easeOut"+name]=function(p){return 1-easeIn(1-p)};$.easing["easeInOut"+name]=function(p){return p<.5?easeIn(p*2)/2:1-easeIn(p*-2+2)/2}})})();var effect=$.effects;var effectBlind=$.effects.effect.blind=function(o,done){var el=$(this),rvertical=/up|down|vertical/,rpositivemotion=/up|left|vertical|horizontal/,props=["position","top","bottom","left","right","height","width"],mode=$.effects.setMode(el,o.mode||"hide"),direction=o.direction||"up",vertical=rvertical.test(direction),ref=vertical?"height":"width",ref2=vertical?"top":"left",motion=rpositivemotion.test(direction),animation={},show=mode==="show",wrapper,distance,margin;if(el.parent().is(".ui-effects-wrapper")){$.effects.save(el.parent(),props)}else{$.effects.save(el,props)}el.show();wrapper=$.effects.createWrapper(el).css({overflow:"hidden"});distance=wrapper[ref]();margin=parseFloat(wrapper.css(ref2))||0;animation[ref]=show?distance:0;if(!motion){el.css(vertical?"bottom":"right",0).css(vertical?"top":"left","auto").css({position:"absolute"});animation[ref2]=show?margin:distance+margin}if(show){wrapper.css(ref,0);if(!motion){wrapper.css(ref2,margin+distance)}}wrapper.animate(animation,{duration:o.duration,easing:o.easing,queue:false,complete:function(){if(mode==="hide"){el.hide()}$.effects.restore(el,props);$.effects.removeWrapper(el);done()}})};var effectBounce=$.effects.effect.bounce=function(o,done){var el=$(this),props=["position","top","bottom","left","right","height","width"],mode=$.effects.setMode(el,o.mode||"effect"),hide=mode==="hide",show=mode==="show",direction=o.direction||"up",distance=o.distance,times=o.times||5,anims=times*2+(show||hide?1:0),speed=o.duration/anims,easing=o.easing,ref=direction==="up"||direction==="down"?"top":"left",motion=direction==="up"||direction==="left",i,upAnim,downAnim,queue=el.queue(),queuelen=queue.length;if(show||hide){props.push("opacity")}$.effects.save(el,props);el.show();$.effects.createWrapper(el);if(!distance){distance=el[ref==="top"?"outerHeight":"outerWidth"]()/3}if(show){downAnim={opacity:1};downAnim[ref]=0;el.css("opacity",0).css(ref,motion?-distance*2:distance*2).animate(downAnim,speed,easing)}if(hide){distance=distance/Math.pow(2,times-1)}downAnim={};downAnim[ref]=0;for(i=0;i<times;i++){upAnim={};upAnim[ref]=(motion?"-=":"+=")+distance;el.animate(upAnim,speed,easing).animate(downAnim,speed,easing);distance=hide?distance*2:distance/2}if(hide){upAnim={opacity:0};upAnim[ref]=(motion?"-=":"+=")+distance;el.animate(upAnim,speed,easing)}el.queue(function(){if(hide){el.hide()}$.effects.restore(el,props);$.effects.removeWrapper(el);done()});if(queuelen>1){queue.splice.apply(queue,[1,0].concat(queue.splice(queuelen,anims+1)))}el.dequeue()};var effectClip=$.effects.effect.clip=function(o,done){var el=$(this),props=["position","top","bottom","left","right","height","width"],mode=$.effects.setMode(el,o.mode||"hide"),show=mode==="show",direction=o.direction||"vertical",vert=direction==="vertical",size=vert?"height":"width",position=vert?"top":"left",animation={},wrapper,animate,distance;$.effects.save(el,props);el.show();wrapper=$.effects.createWrapper(el).css({overflow:"hidden"});animate=el[0].tagName==="IMG"?wrapper:el;distance=animate[size]();if(show){animate.css(size,0);animate.css(position,distance/2)}animation[size]=show?distance:0;animation[position]=show?0:distance/2;animate.animate(animation,{queue:false,duration:o.duration,easing:o.easing,complete:function(){if(!show){el.hide()}$.effects.restore(el,props);$.effects.removeWrapper(el);done()}})};var effectDrop=$.effects.effect.drop=function(o,done){var el=$(this),props=["position","top","bottom","left","right","opacity","height","width"],mode=$.effects.setMode(el,o.mode||"hide"),show=mode==="show",direction=o.direction||"left",ref=direction==="up"||direction==="down"?"top":"left",motion=direction==="up"||direction==="left"?"pos":"neg",animation={opacity:show?1:0},distance;$.effects.save(el,props);el.show();$.effects.createWrapper(el);distance=o.distance||el[ref==="top"?"outerHeight":"outerWidth"](true)/2;if(show){el.css("opacity",0).css(ref,motion==="pos"?-distance:distance)}animation[ref]=(show?motion==="pos"?"+=":"-=":motion==="pos"?"-=":"+=")+distance;el.animate(animation,{queue:false,duration:o.duration,easing:o.easing,complete:function(){if(mode==="hide"){el.hide()}$.effects.restore(el,props);$.effects.removeWrapper(el);done()}})};var effectExplode=$.effects.effect.explode=function(o,done){var rows=o.pieces?Math.round(Math.sqrt(o.pieces)):3,cells=rows,el=$(this),mode=$.effects.setMode(el,o.mode||"hide"),show=mode==="show",offset=el.show().css("visibility","hidden").offset(),width=Math.ceil(el.outerWidth()/cells),height=Math.ceil(el.outerHeight()/rows),pieces=[],i,j,left,top,mx,my;function childComplete(){pieces.push(this);if(pieces.length===rows*cells){animComplete()}}for(i=0;i<rows;i++){top=offset.top+i*height;my=i-(rows-1)/2;for(j=0;j<cells;j++){left=offset.left+j*width;mx=j-(cells-1)/2;el.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-j*width,top:-i*height}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:width,height:height,left:left+(show?mx*width:0),top:top+(show?my*height:0),opacity:show?0:1}).animate({left:left+(show?0:mx*width),top:top+(show?0:my*height),opacity:show?1:0},o.duration||500,o.easing,childComplete)}}function animComplete(){el.css({visibility:"visible"});$(pieces).remove();if(!show){el.hide()}done()}};var effectFade=$.effects.effect.fade=function(o,done){var el=$(this),mode=$.effects.setMode(el,o.mode||"toggle");el.animate({opacity:mode},{queue:false,duration:o.duration,easing:o.easing,complete:done})};var effectFold=$.effects.effect.fold=function(o,done){var el=$(this),props=["position","top","bottom","left","right","height","width"],mode=$.effects.setMode(el,o.mode||"hide"),show=mode==="show",hide=mode==="hide",size=o.size||15,percent=/([0-9]+)%/.exec(size),horizFirst=!!o.horizFirst,widthFirst=show!==horizFirst,ref=widthFirst?["width","height"]:["height","width"],duration=o.duration/2,wrapper,distance,animation1={},animation2={};$.effects.save(el,props);el.show();wrapper=$.effects.createWrapper(el).css({overflow:"hidden"});distance=widthFirst?[wrapper.width(),wrapper.height()]:[wrapper.height(),wrapper.width()];if(percent){size=parseInt(percent[1],10)/100*distance[hide?0:1]}if(show){wrapper.css(horizFirst?{height:0,width:size}:{height:size,width:0})}animation1[ref[0]]=show?distance[0]:size;animation2[ref[1]]=show?distance[1]:0;wrapper.animate(animation1,duration,o.easing).animate(animation2,duration,o.easing,function(){if(hide){el.hide()}$.effects.restore(el,props);$.effects.removeWrapper(el);done()})};var effectHighlight=$.effects.effect.highlight=function(o,done){var elem=$(this),props=["backgroundImage","backgroundColor","opacity"],mode=$.effects.setMode(elem,o.mode||"show"),animation={backgroundColor:elem.css("backgroundColor")};if(mode==="hide"){animation.opacity=0}$.effects.save(elem,props);elem.show().css({backgroundImage:"none",backgroundColor:o.color||"#ffff99"}).animate(animation,{queue:false,duration:o.duration,easing:o.easing,complete:function(){if(mode==="hide"){elem.hide()}$.effects.restore(elem,props);done()}})};var effectSize=$.effects.effect.size=function(o,done){var original,baseline,factor,el=$(this),props0=["position","top","bottom","left","right","width","height","overflow","opacity"],props1=["position","top","bottom","left","right","overflow","opacity"],props2=["width","height","overflow"],cProps=["fontSize"],vProps=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],hProps=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],mode=$.effects.setMode(el,o.mode||"effect"),restore=o.restore||mode!=="effect",scale=o.scale||"both",origin=o.origin||["middle","center"],position=el.css("position"),props=restore?props0:props1,zero={height:0,width:0,outerHeight:0,outerWidth:0};if(mode==="show"){el.show()}original={height:el.height(),width:el.width(),outerHeight:el.outerHeight(),outerWidth:el.outerWidth()};if(o.mode==="toggle"&&mode==="show"){el.from=o.to||zero;el.to=o.from||original}else{el.from=o.from||(mode==="show"?zero:original);el.to=o.to||(mode==="hide"?zero:original)}factor={from:{y:el.from.height/original.height,x:el.from.width/original.width},to:{y:el.to.height/original.height,x:el.to.width/original.width}};if(scale==="box"||scale==="both"){if(factor.from.y!==factor.to.y){props=props.concat(vProps);el.from=$.effects.setTransition(el,vProps,factor.from.y,el.from);el.to=$.effects.setTransition(el,vProps,factor.to.y,el.to)}if(factor.from.x!==factor.to.x){props=props.concat(hProps);el.from=$.effects.setTransition(el,hProps,factor.from.x,el.from);el.to=$.effects.setTransition(el,hProps,factor.to.x,el.to)}}if(scale==="content"||scale==="both"){if(factor.from.y!==factor.to.y){props=props.concat(cProps).concat(props2);el.from=$.effects.setTransition(el,cProps,factor.from.y,el.from);el.to=$.effects.setTransition(el,cProps,factor.to.y,el.to)}}$.effects.save(el,props);el.show();$.effects.createWrapper(el);el.css("overflow","hidden").css(el.from);if(origin){baseline=$.effects.getBaseline(origin,original);el.from.top=(original.outerHeight-el.outerHeight())*baseline.y;el.from.left=(original.outerWidth-el.outerWidth())*baseline.x;el.to.top=(original.outerHeight-el.to.outerHeight)*baseline.y;el.to.left=(original.outerWidth-el.to.outerWidth)*baseline.x}el.css(el.from);if(scale==="content"||scale==="both"){vProps=vProps.concat(["marginTop","marginBottom"]).concat(cProps);hProps=hProps.concat(["marginLeft","marginRight"]);props2=props0.concat(vProps).concat(hProps);el.find("*[width]").each(function(){var child=$(this),c_original={height:child.height(),width:child.width(),outerHeight:child.outerHeight(),outerWidth:child.outerWidth()};if(restore){$.effects.save(child,props2)}child.from={height:c_original.height*factor.from.y,width:c_original.width*factor.from.x,outerHeight:c_original.outerHeight*factor.from.y,outerWidth:c_original.outerWidth*factor.from.x};child.to={height:c_original.height*factor.to.y,width:c_original.width*factor.to.x,outerHeight:c_original.height*factor.to.y,outerWidth:c_original.width*factor.to.x};if(factor.from.y!==factor.to.y){child.from=$.effects.setTransition(child,vProps,factor.from.y,child.from);child.to=$.effects.setTransition(child,vProps,factor.to.y,child.to)}if(factor.from.x!==factor.to.x){child.from=$.effects.setTransition(child,hProps,factor.from.x,child.from);child.to=$.effects.setTransition(child,hProps,factor.to.x,child.to)}child.css(child.from);child.animate(child.to,o.duration,o.easing,function(){if(restore){$.effects.restore(child,props2)}})})}el.animate(el.to,{queue:false,duration:o.duration,easing:o.easing,complete:function(){if(el.to.opacity===0){el.css("opacity",el.from.opacity)}if(mode==="hide"){el.hide()}$.effects.restore(el,props);if(!restore){if(position==="static"){el.css({position:"relative",top:el.to.top,left:el.to.left})}else{$.each(["top","left"],function(idx,pos){el.css(pos,function(_,str){var val=parseInt(str,10),toRef=idx?el.to.left:el.to.top;if(str==="auto"){return toRef+"px"}return val+toRef+"px"})})}}$.effects.removeWrapper(el);done()}})};var effectScale=$.effects.effect.scale=function(o,done){var el=$(this),options=$.extend(true,{},o),mode=$.effects.setMode(el,o.mode||"effect"),percent=parseInt(o.percent,10)||(parseInt(o.percent,10)===0?0:mode==="hide"?0:100),direction=o.direction||"both",origin=o.origin,original={height:el.height(),width:el.width(),outerHeight:el.outerHeight(),outerWidth:el.outerWidth()},factor={y:direction!=="horizontal"?percent/100:1,x:direction!=="vertical"?percent/100:1};
options.effect="size";options.queue=false;options.complete=done;if(mode!=="effect"){options.origin=origin||["middle","center"];options.restore=true}options.from=o.from||(mode==="show"?{height:0,width:0,outerHeight:0,outerWidth:0}:original);options.to={height:original.height*factor.y,width:original.width*factor.x,outerHeight:original.outerHeight*factor.y,outerWidth:original.outerWidth*factor.x};if(options.fade){if(mode==="show"){options.from.opacity=0;options.to.opacity=1}if(mode==="hide"){options.from.opacity=1;options.to.opacity=0}}el.effect(options)};var effectPuff=$.effects.effect.puff=function(o,done){var elem=$(this),mode=$.effects.setMode(elem,o.mode||"hide"),hide=mode==="hide",percent=parseInt(o.percent,10)||150,factor=percent/100,original={height:elem.height(),width:elem.width(),outerHeight:elem.outerHeight(),outerWidth:elem.outerWidth()};$.extend(o,{effect:"scale",queue:false,fade:true,mode:mode,complete:done,percent:hide?percent:100,from:hide?original:{height:original.height*factor,width:original.width*factor,outerHeight:original.outerHeight*factor,outerWidth:original.outerWidth*factor}});elem.effect(o)};var effectPulsate=$.effects.effect.pulsate=function(o,done){var elem=$(this),mode=$.effects.setMode(elem,o.mode||"show"),show=mode==="show",hide=mode==="hide",showhide=show||mode==="hide",anims=(o.times||5)*2+(showhide?1:0),duration=o.duration/anims,animateTo=0,queue=elem.queue(),queuelen=queue.length,i;if(show||!elem.is(":visible")){elem.css("opacity",0).show();animateTo=1}for(i=1;i<anims;i++){elem.animate({opacity:animateTo},duration,o.easing);animateTo=1-animateTo}elem.animate({opacity:animateTo},duration,o.easing);elem.queue(function(){if(hide){elem.hide()}done()});if(queuelen>1){queue.splice.apply(queue,[1,0].concat(queue.splice(queuelen,anims+1)))}elem.dequeue()};var effectShake=$.effects.effect.shake=function(o,done){var el=$(this),props=["position","top","bottom","left","right","height","width"],mode=$.effects.setMode(el,o.mode||"effect"),direction=o.direction||"left",distance=o.distance||20,times=o.times||3,anims=times*2+1,speed=Math.round(o.duration/anims),ref=direction==="up"||direction==="down"?"top":"left",positiveMotion=direction==="up"||direction==="left",animation={},animation1={},animation2={},i,queue=el.queue(),queuelen=queue.length;$.effects.save(el,props);el.show();$.effects.createWrapper(el);animation[ref]=(positiveMotion?"-=":"+=")+distance;animation1[ref]=(positiveMotion?"+=":"-=")+distance*2;animation2[ref]=(positiveMotion?"-=":"+=")+distance*2;el.animate(animation,speed,o.easing);for(i=1;i<times;i++){el.animate(animation1,speed,o.easing).animate(animation2,speed,o.easing)}el.animate(animation1,speed,o.easing).animate(animation,speed/2,o.easing).queue(function(){if(mode==="hide"){el.hide()}$.effects.restore(el,props);$.effects.removeWrapper(el);done()});if(queuelen>1){queue.splice.apply(queue,[1,0].concat(queue.splice(queuelen,anims+1)))}el.dequeue()};var effectSlide=$.effects.effect.slide=function(o,done){var el=$(this),props=["position","top","bottom","left","right","width","height"],mode=$.effects.setMode(el,o.mode||"show"),show=mode==="show",direction=o.direction||"left",ref=direction==="up"||direction==="down"?"top":"left",positiveMotion=direction==="up"||direction==="left",distance,animation={};$.effects.save(el,props);el.show();distance=o.distance||el[ref==="top"?"outerHeight":"outerWidth"](true);$.effects.createWrapper(el).css({overflow:"hidden"});if(show){el.css(ref,positiveMotion?isNaN(distance)?"-"+distance:-distance:distance)}animation[ref]=(show?positiveMotion?"+=":"-=":positiveMotion?"-=":"+=")+distance;el.animate(animation,{queue:false,duration:o.duration,easing:o.easing,complete:function(){if(mode==="hide"){el.hide()}$.effects.restore(el,props);$.effects.removeWrapper(el);done()}})};var effectTransfer=$.effects.effect.transfer=function(o,done){var elem=$(this),target=$(o.to),targetFixed=target.css("position")==="fixed",body=$("body"),fixTop=targetFixed?body.scrollTop():0,fixLeft=targetFixed?body.scrollLeft():0,endPosition=target.offset(),animation={top:endPosition.top-fixTop,left:endPosition.left-fixLeft,height:target.innerHeight(),width:target.innerWidth()},startPosition=elem.offset(),transfer=$("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(o.className).css({top:startPosition.top-fixTop,left:startPosition.left-fixLeft,height:elem.innerHeight(),width:elem.innerWidth(),position:targetFixed?"fixed":"absolute"}).animate(animation,o.duration,o.easing,function(){transfer.remove();done()})}});(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof exports==="object"){module.exports=factory(require("jquery"))}else{factory(jQuery)}})(function($){var eventNamespace="waitForImages";$.waitForImages={hasImageProperties:["backgroundImage","listStyleImage","borderImage","borderCornerImage","cursor"],hasImageAttributes:["srcset"]};$.expr[":"].uncached=function(obj){if(!$(obj).is('img[src][src!=""]')){return false}return!obj.complete};$.fn.waitForImages=function(){var allImgsLength=0;var allImgsLoaded=0;var deferred=$.Deferred();var finishedCallback;var eachCallback;var waitForAll;if($.isPlainObject(arguments[0])){waitForAll=arguments[0].waitForAll;eachCallback=arguments[0].each;finishedCallback=arguments[0].finished}else{if(arguments.length===1&&$.type(arguments[0])==="boolean"){waitForAll=arguments[0]}else{finishedCallback=arguments[0];eachCallback=arguments[1];waitForAll=arguments[2]}}finishedCallback=finishedCallback||$.noop;eachCallback=eachCallback||$.noop;waitForAll=!!waitForAll;if(!$.isFunction(finishedCallback)||!$.isFunction(eachCallback)){throw new TypeError("An invalid callback was supplied.")}this.each(function(){var obj=$(this);var allImgs=[];var hasImgProperties=$.waitForImages.hasImageProperties||[];var hasImageAttributes=$.waitForImages.hasImageAttributes||[];var matchUrl=/url\(\s*(['"]?)(.*?)\1\s*\)/g;if(waitForAll){obj.find("*").addBack().each(function(){var element=$(this);if(element.is("img:uncached")){allImgs.push({src:element.attr("src"),element:element[0]})}$.each(hasImgProperties,function(i,property){var propertyValue=element.css(property);var match;if(!propertyValue){return true}while(match=matchUrl.exec(propertyValue)){allImgs.push({src:match[2],element:element[0]})}});$.each(hasImageAttributes,function(i,attribute){var attributeValue=element.attr(attribute);var attributeValues;if(!attributeValue){return true}attributeValues=attributeValue.split(",");$.each(attributeValues,function(i,value){value=$.trim(value).split(" ")[0];allImgs.push({src:value,element:element[0]})})})})}else{obj.find("img:uncached").each(function(){allImgs.push({src:this.src,element:this})})}allImgsLength=allImgs.length;allImgsLoaded=0;if(allImgsLength===0){finishedCallback.call(obj[0]);deferred.resolveWith(obj[0])}P.instances.allImgs=allImgs.slice(0);$.each(allImgs,function(i,img){var image=new Image;var events="load."+eventNamespace+" error."+eventNamespace;$(image).one(events,function me(event){var eachArguments=[allImgsLoaded,allImgsLength,event.type=="load"];allImgsLoaded++;P.instances.allImgs.splice(i,1);eachCallback.apply(img.element,eachArguments);deferred.notifyWith(img.element,eachArguments);$(this).off(events,me);if(allImgsLoaded==allImgsLength){finishedCallback.call(obj[0]);deferred.resolveWith(obj[0]);return false}});image.src=img.src})});return deferred.promise()}});var Strata=function(){};Strata.BASE=0;Strata.MAP_BASE=10;Strata.MAP_OVERLAY=20;Strata.MAP_SVG=30;Strata.MAP_INFO_BUBBLE=40;Strata.MAP_CONTROLS=50;Strata.OVER_MAP0=55;Strata.OVER_MAP1=56;Strata.OVER_MAP2=57;Strata.SHADED=60;Strata.SHADED_DIALOG=70;Strata.ALERT_DIALOG_SHADER=80;Strata.ALERT_DIALOG=90;var isCSS,isW3C,isIE4,isNN4;function initDHTMLAPI(){if(document.images){isCSS=document.body&&document.body.style?true:false;isW3C=isCSS&&document.getElementById?true:false;isIE4=isCSS&&document.all?true:false;isNN4=document.layers?true:false;isIE6CSS=document.compatMode&&document.compatMode.indexOf("CSS1")>=0?true:false}}function seekLayer(doc,name){var theObj;for(var i=0;i<doc.layers.length;i++){if(doc.layers[i].name==name){theObj=doc.layers[i];break}if(doc.layers[i].document.layers.length>0){theObj=seekLayer(document.layers[i].document,name)}}return theObj}function getRawObject(obj){var theObj;if(typeof obj=="string"){if(isW3C){theObj=document.getElementById(obj)}else if(isIE4){theObj=document.all(obj)}else if(isNN4){theObj=seekLayer(document,obj)}}else{theObj=obj}return theObj}function getObject(obj){var theObj=getRawObject(obj);if(theObj&&isCSS){theObj=theObj.style}return theObj}function shiftTo(obj,x,y){var theObj=getObject(obj);if(theObj){if(isCSS){var units=typeof theObj.left=="string"?"px":0;theObj.left=x+units;theObj.top=y+units}else if(isNN4){theObj.moveTo(x,y)}}}function shiftBy(obj,deltaX,deltaY){var theObj=getObject(obj);if(theObj){if(isCSS){var units=typeof theObj.left=="string"?"px":0;theObj.left=getObjectLeft(obj)+deltaX+units;theObj.top=getObjectTop(obj)+deltaY+units}else if(isNN4){theObj.moveBy(deltaX,deltaY)}}}function setZIndex(obj,zOrder){var theObj=getObject(obj);if(theObj){theObj.zIndex=zOrder}}function setBGColor(obj,color){var theObj=getObject(obj);if(theObj){if(isNN4){theObj.bgColor=color}else if(isCSS){theObj.backgroundColor=color}}}function show(obj){var theObj=getObject(obj);if(theObj){theObj.visibility="visible"}}function hide(obj){var theObj=getObject(obj);if(theObj){theObj.visibility="hidden"}}function getObjectLeft(obj){var elem=getRawObject(obj);var result=0;if(document.defaultView){var style=document.defaultView;var cssDecl=style.getComputedStyle(elem,"");result=cssDecl.getPropertyValue("left")}else if(elem.currentStyle){result=elem.currentStyle.left}else if(elem.style){result=elem.style.left}else if(isNN4){result=elem.left}return parseInt(result)}function getObjectTop(obj){var elem=getRawObject(obj);var result=0;if(document.defaultView){var style=document.defaultView;var cssDecl=style.getComputedStyle(elem,"");result=cssDecl.getPropertyValue("top")}else if(elem.currentStyle){result=elem.currentStyle.top}else if(elem.style){result=elem.style.top}else if(isNN4){result=elem.top}return parseInt(result)}function getObjectWidth(obj){var elem=getRawObject(obj);var result=0;if(elem.offsetWidth){result=elem.offsetWidth}else if(elem.clip&&elem.clip.width){result=elem.clip.width}else if(elem.style&&elem.style.pixelWidth){result=elem.style.pixelWidth}return parseInt(result)}function getObjectHeight(obj){var elem=getRawObject(obj);var result=0;if(elem.offsetHeight){result=elem.offsetHeight}else if(elem.clip&&elem.clip.height){result=elem.clip.height}else if(elem.style&&elem.style.pixelHeight){result=elem.style.pixelHeight}return parseInt(result)}function getInsideWindowWidth(){if(window.innerWidth){return window.innerWidth}else if(isIE6CSS){return document.body.parentElement.clientWidth}else if(document.body&&document.body.clientWidth){return document.body.clientWidth}return 0}function getInsideWindowHeight(){if(window.innerHeight){return window.innerHeight}else if(isIE6CSS){return document.body.parentElement.clientHeight}else if(document.body&&document.body.clientHeight){return document.body.clientHeight}return 0}var aXmlHttp=new Array;var aXmlResponse=new Array;function xmlResult(){for(var i=0;i<aXmlHttp.length;i++){if(aXmlHttp[i]&&aXmlHttp[i][0]&&aXmlHttp[i][0].readyState==4&&aXmlHttp[i][0].responseText){var f=aXmlHttp[i][2];var o=aXmlHttp[i][1];var s=aXmlHttp[i][0].responseText;aXmlHttp[i][0]=null;aXmlHttp[i][1]=null;aXmlHttp[i]=null;f.apply(o,new Array(s))}}}function call(u,o,f){var method="GET";var dat;if(arguments.length==4){method="POST";tmp=u.split(/\?/);u=tmp[0];dat=tmp[1]}var idx=aXmlHttp.length;for(var i=0;i<idx;i++)if(aXmlHttp[i]==null){idx=i;break}aXmlHttp[idx]=new Array(2);aXmlHttp[idx][0]=getXMLHTTP();aXmlHttp[idx][1]=o;aXmlHttp[idx][2]=f;if(aXmlHttp[idx]){aXmlHttp[idx][0].open(method,u,true);if(method=="POST"){aXmlHttp[idx][0].setRequestHeader("Content-Type","application/x-www-form-urlencoded");aXmlHttp[idx][0].send(dat)}aXmlHttp[idx][0].onreadystatechange=xmlResult;if(method=="GET"){aXmlHttp[idx][0].send(null)}}}function getXMLHTTP(){var A=null;if(!A&&typeof XMLHttpRequest!="undefined"){A=new XMLHttpRequest}if(!A){try{A=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{A=new ActiveXObject("Microsoft.XMLHTTP")}catch(oc){A=null}}}return A}function drawNull(s){eval(s);return false}function bypassCall(baseUrl,file,o,f){var s=document.createElement("script");s.src=baseUrl+"bypass.php?file="+file+"&o="+o+"&f="+f;var h=document.getElementsByTagName("head").item(0);h.appendChild(s)}var goExpanderManager=new cExpanderManager;function cExpanderManager(){this.expanders=new Array;this.formElement=null;this.add=cExpanderManager_Add;this.initialize=cExpanderManager_Initialize;this.registerOpen=cExpanderManager_RegisterOpen;this.registerClose=cExpanderManager_RegisterClose;this.isVisible=function(){return true};this.isElementVisible=cExpanderManager_IsElementVisible;this.expandAll=cExpanderManager_ExpandAll;this.collapseAll=cExpanderManager_CollapseAll}function cExpanderManager_Add(oExpander){this.expanders[this.expanders.length]=oExpander;oExpander.manager=this}function cExpanderManager_Initialize(){if(this.formElement==null)return;for(var i=0;i<this.expanders.length;i++){if(this.expanders[i].bIsOpen)this.registerOpen(this.expanders[i]);this.expanders[i].initialize(this.isElementVisible(this.expanders[i].element.id))}}function cExpanderManager_RegisterOpen(oExpander){if(this.formElement==null)return;if(this.formElement.value.indexOf(oExpander.element.id)<0){if(this.formElement.value!="")this.formElement.value+=",";this.formElement.value+=oExpander.element.id}}function cExpanderManager_RegisterClose(oExpander){if(this.formElement==null)return;var rx=new RegExp(oExpander.element.id,"");var text=this.formElement.value;text=text.replace(rx,"");text=text.replace(/,,/g,",");if(text.substr(0,1)==",")text=text.slice(1);if(text.substr(-1)==",")text=text.slice(0,-1);this.formElement.value=text}function cExpanderManager_IsElementVisible(id){rx=new RegExp(id,"");return rx.test(this.formElement.value)}function cExpanderManager_ExpandAll(){for(var i=0;i<this.expanders.length;i++){this.expanders[i].expandAll()}}function cExpanderManager_CollapseAll(){for(var i=0;i<this.expanders.length;i++){this.expanders[i].collapseAll()}return true}function cExpander(elm){this.element=elm;this.element.expander=this;this.children=new Array;this.bIsOpen=false;this.manager=null;this.img=null;this.szExpandImgSrc="";this.szCollapseImgSrc="";this.addElement=cExpander_AddElement;this.open=cExpander_Open;this.close=cExpander_Close;this.expandAll=cExpander_ExpandAll;this.collapseAll=cExpander_CollapseAll;this.expand=cExpander_Expand;this.contract=cExpander_Contract;this.toggle=cExpander_Toggle;this.initialize=cExpander_Initialize;this.registerOpen=cExpander_RegisterOpen;this.registerClose=cExpander_RegisterClose;this.isVisible=cExpander_IsVisible}function cExpander_AddElement(elm){this.children[this.children.length]=elm;elm.manager=this;return true}function cExpander_Open(){for(var i=0;i<this.children.length;i++){this.children[i].element.style.display="block";if(this.children[i].bIsOpen){this.children[i].open()}}if(this.img!=null&&this.szCollapseImgSrc!=""){this.img.src=this.szCollapseImgSrc}return true}function cExpander_Close(){for(var i=0;i<this.children.length;i++){this.children[i].element.style.display="none";this.children[i].close()}if(this.img!=null&&this.szExpandImgSrc!=""){this.img.src=this.szExpandImgSrc}return true}function cExpander_ExpandAll(){for(var i=0;i<this.children.length;i++){this.children[i].expandAll()}this.expand();return true}function cExpander_CollapseAll(){for(var i=0;i<this.children.length;i++){this.children[i].collapseAll()}this.contract();return true}function cExpander_Expand(){this.bIsOpen=true;this.registerOpen(this);this.open();return true}function cExpander_Contract(){this.bIsOpen=false;this.registerClose(this);this.close();return true}function cExpander_Toggle(){if(this.bIsOpen)this.contract();else this.expand();return true}function cExpander_Initialize(bState){this.bIsOpen=bState;for(var i=0;i<this.children.length;i++){var child=this.children[i];if(this.isVisible())child.element.style.display="block";if(child.bIsOpen)this.registerOpen(child);this.children[i].initialize(goExpanderManager.isElementVisible(child.element.id))}if(this.img!=null){if(this.bIsOpen&&this.szCollapseImgSrc!=""){this.img.src=this.szCollapseImgSrc}else if(!this.bIsOpen&&this.szExpandImgSrc!=""){this.img.src=this.szExpandImgSrc}}return true}function cExpander_RegisterOpen(elm){if(this.manager!=null)this.manager.registerOpen(elm);return true}function cExpander_RegisterClose(elm){if(this.manager!=null)this.manager.registerClose(elm);return true}function cExpander_IsVisible(){var bVisible=this.bIsOpen;if(this.manager!=null)bVisible=bVisible&&this.manager.isVisible();return bVisible}if(!document.createElement("canvas").getContext){(function(){var m=Math;var mr=m.round;var ms=m.sin;var mc=m.cos;var abs=m.abs;var sqrt=m.sqrt;var Z=10;var Z2=Z/2;function getContext(){return this.context_||(this.context_=new CanvasRenderingContext2D_(this))}var slice=Array.prototype.slice;function bind(f,obj,var_args){var a=slice.call(arguments,2);return function(){return f.apply(obj,a.concat(slice.call(arguments)))}}var G_vmlCanvasManager_={init:function(opt_doc){if((/MSIE/.test(navigator.userAgent)||/Trident/.test(navigator.userAgent))&&!window.opera){var doc=opt_doc||document;doc.createElement("canvas");doc.attachEvent("onreadystatechange",bind(this.init_,this,doc))}},init_:function(doc){if(!doc.namespaces["g_vml_"]){doc.namespaces.add("g_vml_","urn:schemas-microsoft-com:vml","#default#VML")}if(!doc.namespaces["g_o_"]){doc.namespaces.add("g_o_","urn:schemas-microsoft-com:office:office","#default#VML")}if(!doc.styleSheets["ex_canvas_"]){var ss=doc.createStyleSheet();ss.owningElement.id="ex_canvas_";ss.cssText="canvas{display:inline-block;overflow:hidden;"+"text-align:left;width:300px;height:150px}"+"g_vml_\\:*{behavior:url(#default#VML)}"+"g_o_\\:*{behavior:url(#default#VML)}"}var els=doc.getElementsByTagName("canvas");for(var i=0;i<els.length;i++){this.initElement(els[i])}},initElement:function(el){if(!el.getContext){el.getContext=getContext;el.innerHTML="";el.attachEvent("onpropertychange",onPropertyChange);el.attachEvent("onresize",onResize);var attrs=el.attributes;if(attrs.width&&attrs.width.specified){el.style.width=attrs.width.nodeValue+"px"}else{el.width=el.clientWidth}if(attrs.height&&attrs.height.specified){el.style.height=attrs.height.nodeValue+"px"}else{el.height=el.clientHeight}}return el}};function onPropertyChange(e){var el=e.srcElement;switch(e.propertyName){case"width":el.style.width=el.attributes.width.nodeValue+"px";el.getContext().clearRect();break;case"height":el.style.height=el.attributes.height.nodeValue+"px";el.getContext().clearRect();break}}function onResize(e){var el=e.srcElement;if(el.firstChild){el.firstChild.style.width=el.clientWidth+"px";el.firstChild.style.height=el.clientHeight+"px"}}G_vmlCanvasManager_.init();var dec2hex=[];for(var i=0;i<16;i++){for(var j=0;j<16;j++){dec2hex[i*16+j]=i.toString(16)+j.toString(16)}}function createMatrixIdentity(){return[[1,0,0],[0,1,0],[0,0,1]]}function matrixMultiply(m1,m2){var result=createMatrixIdentity();for(var x=0;x<3;x++){for(var y=0;y<3;y++){var sum=0;for(var z=0;z<3;z++){sum+=m1[x][z]*m2[z][y]}result[x][y]=sum}}return result}function copyState(o1,o2){o2.fillStyle=o1.fillStyle;o2.lineCap=o1.lineCap;o2.lineJoin=o1.lineJoin;o2.lineWidth=o1.lineWidth;o2.miterLimit=o1.miterLimit;o2.shadowBlur=o1.shadowBlur;o2.shadowColor=o1.shadowColor;o2.shadowOffsetX=o1.shadowOffsetX;o2.shadowOffsetY=o1.shadowOffsetY;o2.strokeStyle=o1.strokeStyle;o2.globalAlpha=o1.globalAlpha;o2.arcScaleX_=o1.arcScaleX_;o2.arcScaleY_=o1.arcScaleY_;o2.lineScale_=o1.lineScale_}function processStyle(styleString){var str,alpha=1;styleString=String(styleString);if(styleString.substring(0,3)=="rgb"){var start=styleString.indexOf("(",3);var end=styleString.indexOf(")",start+1);var guts=styleString.substring(start+1,end).split(",");str="#";for(var i=0;i<3;i++){str+=dec2hex[Number(guts[i])]}if(guts.length==4&&styleString.substr(3,1)=="a"){alpha=guts[3]}}else{str=styleString}return{color:str,alpha:alpha}}function processLineCap(lineCap){switch(lineCap){case"butt":return"flat";case"round":return"round";case"square":default:return"square"}}function CanvasRenderingContext2D_(surfaceElement){this.m_=createMatrixIdentity();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle="#000";this.fillStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=Z*1;this.globalAlpha=1;this.canvas=surfaceElement;var el=surfaceElement.ownerDocument.createElement("div");el.style.width=surfaceElement.clientWidth+"px";el.style.height=surfaceElement.clientHeight+"px";el.style.overflow="hidden";el.style.position="absolute";surfaceElement.appendChild(el);this.element_=el;this.arcScaleX_=1;this.arcScaleY_=1;this.lineScale_=1}var contextPrototype=CanvasRenderingContext2D_.prototype;contextPrototype.clearRect=function(){this.element_.innerHTML=""};contextPrototype.beginPath=function(){this.currentPath_=[]};contextPrototype.moveTo=function(aX,aY){var p=this.getCoords_(aX,aY);this.currentPath_.push({type:"moveTo",x:p.x,y:p.y});this.currentX_=p.x;this.currentY_=p.y};contextPrototype.lineTo=function(aX,aY){var p=this.getCoords_(aX,aY);this.currentPath_.push({type:"lineTo",x:p.x,y:p.y});this.currentX_=p.x;this.currentY_=p.y};contextPrototype.bezierCurveTo=function(aCP1x,aCP1y,aCP2x,aCP2y,aX,aY){var p=this.getCoords_(aX,aY);var cp1=this.getCoords_(aCP1x,aCP1y);var cp2=this.getCoords_(aCP2x,aCP2y);bezierCurveTo(this,cp1,cp2,p)};function bezierCurveTo(self,cp1,cp2,p){self.currentPath_.push({type:"bezierCurveTo",cp1x:cp1.x,cp1y:cp1.y,cp2x:cp2.x,cp2y:cp2.y,x:p.x,y:p.y});self.currentX_=p.x;self.currentY_=p.y}contextPrototype.quadraticCurveTo=function(aCPx,aCPy,aX,aY){var cp=this.getCoords_(aCPx,aCPy);var p=this.getCoords_(aX,aY);var cp1={x:this.currentX_+2/3*(cp.x-this.currentX_),y:this.currentY_+2/3*(cp.y-this.currentY_)};var cp2={x:cp1.x+(p.x-this.currentX_)/3,y:cp1.y+(p.y-this.currentY_)/3};bezierCurveTo(this,cp1,cp2,p)};contextPrototype.arc=function(aX,aY,aRadius,aStartAngle,aEndAngle,aClockwise){aRadius*=Z;var arcType=aClockwise?"at":"wa";var xStart=aX+mc(aStartAngle)*aRadius-Z2;var yStart=aY+ms(aStartAngle)*aRadius-Z2;var xEnd=aX+mc(aEndAngle)*aRadius-Z2;var yEnd=aY+ms(aEndAngle)*aRadius-Z2;if(xStart==xEnd&&!aClockwise){xStart+=.125}var p=this.getCoords_(aX,aY);var pStart=this.getCoords_(xStart,yStart);var pEnd=this.getCoords_(xEnd,yEnd);this.currentPath_.push({type:arcType,x:p.x,y:p.y,radius:aRadius,xStart:pStart.x,yStart:pStart.y,xEnd:pEnd.x,yEnd:pEnd.y})};contextPrototype.rect=function(aX,aY,aWidth,aHeight){this.moveTo(aX,aY);this.lineTo(aX+aWidth,aY);this.lineTo(aX+aWidth,aY+aHeight);this.lineTo(aX,aY+aHeight);this.closePath()};contextPrototype.strokeRect=function(aX,aY,aWidth,aHeight){var oldPath=this.currentPath_;this.beginPath();this.moveTo(aX,aY);this.lineTo(aX+aWidth,aY);this.lineTo(aX+aWidth,aY+aHeight);this.lineTo(aX,aY+aHeight);this.closePath();this.stroke();this.currentPath_=oldPath};contextPrototype.fillRect=function(aX,aY,aWidth,aHeight){var oldPath=this.currentPath_;this.beginPath();this.moveTo(aX,aY);this.lineTo(aX+aWidth,aY);this.lineTo(aX+aWidth,aY+aHeight);this.lineTo(aX,aY+aHeight);this.closePath();this.fill();this.currentPath_=oldPath};contextPrototype.createLinearGradient=function(aX0,aY0,aX1,aY1){var gradient=new CanvasGradient_("gradient");gradient.x0_=aX0;gradient.y0_=aY0;gradient.x1_=aX1;gradient.y1_=aY1;return gradient};contextPrototype.createRadialGradient=function(aX0,aY0,aR0,aX1,aY1,aR1){var gradient=new CanvasGradient_("gradientradial");gradient.x0_=aX0;gradient.y0_=aY0;gradient.r0_=aR0;gradient.x1_=aX1;gradient.y1_=aY1;gradient.r1_=aR1;return gradient};contextPrototype.drawImage=function(image,var_args){var dx,dy,dw,dh,sx,sy,sw,sh;var oldRuntimeWidth=image.runtimeStyle.width;var oldRuntimeHeight=image.runtimeStyle.height;image.runtimeStyle.width="auto";image.runtimeStyle.height="auto";var w=image.width;var h=image.height;image.runtimeStyle.width=oldRuntimeWidth;image.runtimeStyle.height=oldRuntimeHeight;if(arguments.length==3){dx=arguments[1];dy=arguments[2];sx=sy=0;sw=dw=w;sh=dh=h}else if(arguments.length==5){dx=arguments[1];dy=arguments[2];dw=arguments[3];dh=arguments[4];sx=sy=0;sw=w;sh=h}else if(arguments.length==9){sx=arguments[1];sy=arguments[2];sw=arguments[3];sh=arguments[4];dx=arguments[5];dy=arguments[6];dw=arguments[7];dh=arguments[8]}else{throw Error("Invalid number of arguments")}var d=this.getCoords_(dx,dy);var w2=sw/2;var h2=sh/2;var vmlStr=[];var W=10;var H=10;vmlStr.push(" <g_vml_:group",' coordsize="',Z*W,",",Z*H,'"',' coordorigin="0,0"',' style="width:',W,"px;height:",H,"px;position:absolute;");if(this.m_[0][0]!=1||this.m_[0][1]){var filter=[];filter.push("M11=",this.m_[0][0],",","M12=",this.m_[1][0],",","M21=",this.m_[0][1],",","M22=",this.m_[1][1],",","Dx=",mr(d.x/Z),",","Dy=",mr(d.y/Z),"");var max=d;var c2=this.getCoords_(dx+dw,dy);var c3=this.getCoords_(dx,dy+dh);var c4=this.getCoords_(dx+dw,dy+dh);max.x=m.max(max.x,c2.x,c3.x,c4.x);max.y=m.max(max.y,c2.y,c3.y,c4.y);vmlStr.push("padding:0 ",mr(max.x/Z),"px ",mr(max.y/Z),"px 0;filter:progid:DXImageTransform.Microsoft.Matrix(",filter.join(""),", sizingmethod='clip');")}else{vmlStr.push("top:",mr(d.y/Z),"px;left:",mr(d.x/Z),"px;")}vmlStr.push(' ">','<g_vml_:image src="',image.src,'"',' style="width:',Z*dw,"px;"," height:",Z*dh,'px;"',' cropleft="',sx/w,'"',' croptop="',sy/h,'"',' cropright="',(w-sx-sw)/w,'"',' cropbottom="',(h-sy-sh)/h,'"'," />","</g_vml_:group>");this.element_.insertAdjacentHTML("BeforeEnd",vmlStr.join(""))};contextPrototype.stroke=function(aFill){var lineStr=[];var lineOpen=false;var a=processStyle(aFill?this.fillStyle:this.strokeStyle);var color=a.color;var opacity=a.alpha*this.globalAlpha;var W=10;var H=10;lineStr.push("<g_vml_:shape",' filled="',!!aFill,'"',' style="position:absolute;width:',W,"px;height:",H,'px;"',' coordorigin="0 0" coordsize="',Z*W," ",Z*H,'"',' stroked="',!aFill,'"',' path="');var newSeq=false;var min={x:null,y:null};var max={x:null,y:null};for(var i=0;i<this.currentPath_.length;i++){var p=this.currentPath_[i];var c;switch(p.type){case"moveTo":c=p;lineStr.push(" m ",mr(p.x),",",mr(p.y));break;case"lineTo":lineStr.push(" l ",mr(p.x),",",mr(p.y));break;case"close":lineStr.push(" x ");p=null;break;case"bezierCurveTo":lineStr.push(" c ",mr(p.cp1x),",",mr(p.cp1y),",",mr(p.cp2x),",",mr(p.cp2y),",",mr(p.x),",",mr(p.y));break;case"at":case"wa":lineStr.push(" ",p.type," ",mr(p.x-this.arcScaleX_*p.radius),",",mr(p.y-this.arcScaleY_*p.radius)," ",mr(p.x+this.arcScaleX_*p.radius),",",mr(p.y+this.arcScaleY_*p.radius)," ",mr(p.xStart),",",mr(p.yStart)," ",mr(p.xEnd),",",mr(p.yEnd));break}if(p){if(min.x==null||p.x<min.x){min.x=p.x}if(max.x==null||p.x>max.x){max.x=p.x}if(min.y==null||p.y<min.y){min.y=p.y}if(max.y==null||p.y>max.y){max.y=p.y}}}lineStr.push(' ">');if(!aFill){var lineWidth=this.lineScale_*this.lineWidth;if(lineWidth<1){opacity*=lineWidth}lineStr.push("<g_vml_:stroke",' opacity="',opacity,'"',' joinstyle="',this.lineJoin,'"',' miterlimit="',this.miterLimit,'"',' endcap="',processLineCap(this.lineCap),'"',' weight="',lineWidth,'px"',' color="',color,'" />')}else if(typeof this.fillStyle=="object"){var fillStyle=this.fillStyle;var angle=0;var focus={x:0,y:0};var shift=0;var expansion=1;if(fillStyle.type_=="gradient"){var x0=fillStyle.x0_/this.arcScaleX_;var y0=fillStyle.y0_/this.arcScaleY_;var x1=fillStyle.x1_/this.arcScaleX_;var y1=fillStyle.y1_/this.arcScaleY_;var p0=this.getCoords_(x0,y0);var p1=this.getCoords_(x1,y1);var dx=p1.x-p0.x;var dy=p1.y-p0.y;angle=Math.atan2(dx,dy)*180/Math.PI;if(angle<0){angle+=360}if(angle<1e-6){angle=0}}else{var p0=this.getCoords_(fillStyle.x0_,fillStyle.y0_);var width=max.x-min.x;var height=max.y-min.y;focus={x:(p0.x-min.x)/width,y:(p0.y-min.y)/height};width/=this.arcScaleX_*Z;height/=this.arcScaleY_*Z;var dimension=m.max(width,height);shift=2*fillStyle.r0_/dimension;expansion=2*fillStyle.r1_/dimension-shift}var stops=fillStyle.colors_;stops.sort(function(cs1,cs2){return cs1.offset-cs2.offset});var length=stops.length;var color1=stops[0].color;var color2=stops[length-1].color;var opacity1=stops[0].alpha*this.globalAlpha;var opacity2=stops[length-1].alpha*this.globalAlpha;var colors=[];for(var i=0;i<length;i++){var stop=stops[i];colors.push(stop.offset*expansion+shift+" "+stop.color)}lineStr.push('<g_vml_:fill type="',fillStyle.type_,'"',' method="none" focus="100%"',' color="',color1,'"',' color2="',color2,'"',' colors="',colors.join(","),'"',' opacity="',opacity2,'"',' g_o_:opacity2="',opacity1,'"',' angle="',angle,'"',' focusposition="',focus.x,",",focus.y,'" />')}else{lineStr.push('<g_vml_:fill color="',color,'" opacity="',opacity,'" />')}lineStr.push("</g_vml_:shape>");this.element_.insertAdjacentHTML("beforeEnd",lineStr.join(""))};contextPrototype.fill=function(){this.stroke(true)};contextPrototype.closePath=function(){this.currentPath_.push({type:"close"})};contextPrototype.getCoords_=function(aX,aY){var m=this.m_;return{x:Z*(aX*m[0][0]+aY*m[1][0]+m[2][0])-Z2,y:Z*(aX*m[0][1]+aY*m[1][1]+m[2][1])-Z2}};contextPrototype.save=function(){var o={};copyState(this,o);this.aStack_.push(o);this.mStack_.push(this.m_);this.m_=matrixMultiply(createMatrixIdentity(),this.m_)};contextPrototype.restore=function(){copyState(this.aStack_.pop(),this);this.m_=this.mStack_.pop()};function matrixIsFinite(m){for(var j=0;j<3;j++){for(var k=0;k<2;k++){if(!isFinite(m[j][k])||isNaN(m[j][k])){return false}}}return true}function setM(ctx,m,updateLineScale){if(!matrixIsFinite(m)){return}ctx.m_=m;if(updateLineScale){var det=m[0][0]*m[1][1]-m[0][1]*m[1][0];ctx.lineScale_=sqrt(abs(det))}}contextPrototype.translate=function(aX,aY){var m1=[[1,0,0],[0,1,0],[aX,aY,1]];setM(this,matrixMultiply(m1,this.m_),false)};contextPrototype.rotate=function(aRot){var c=mc(aRot);var s=ms(aRot);var m1=[[c,s,0],[-s,c,0],[0,0,1]];setM(this,matrixMultiply(m1,this.m_),false)};contextPrototype.scale=function(aX,aY){this.arcScaleX_*=aX;this.arcScaleY_*=aY;var m1=[[aX,0,0],[0,aY,0],[0,0,1]];setM(this,matrixMultiply(m1,this.m_),true)};contextPrototype.transform=function(m11,m12,m21,m22,dx,dy){var m1=[[m11,m12,0],[m21,m22,0],[dx,dy,1]];setM(this,matrixMultiply(m1,this.m_),true)};contextPrototype.setTransform=function(m11,m12,m21,m22,dx,dy){var m=[[m11,m12,0],[m21,m22,0],[dx,dy,1]];setM(this,m,true)};contextPrototype.clip=function(){};contextPrototype.arcTo=function(){};contextPrototype.createPattern=function(){return new CanvasPattern_};function CanvasGradient_(aType){this.type_=aType;this.x0_=0;this.y0_=0;this.r0_=0;this.x1_=0;this.y1_=0;this.r1_=0;this.colors_=[]}CanvasGradient_.prototype.addColorStop=function(aOffset,aColor){aColor=processStyle(aColor);this.colors_.push({offset:aOffset,color:aColor.color,alpha:aColor.alpha})};function CanvasPattern_(){}G_vmlCanvasManager=G_vmlCanvasManager_;CanvasRenderingContext2D=CanvasRenderingContext2D_;CanvasGradient=CanvasGradient_;CanvasPattern=CanvasPattern_})()}var LAYER_ALGO="RANDOM";var gnLastEventId=0;var KAMAP_ERROR=gnLastEventId++;var KAMAP_WARNING=gnLastEventId++;var KAMAP_NOTICE=gnLastEventId++;var KAMAP_INITIALIZED=gnLastEventId++;var KAMAP_MAP_INITIALIZED=gnLastEventId++;var KAMAP_EXTENTS_CHANGED=gnLastEventId++;var KAMAP_SCALE_CHANGED=gnLastEventId++;var KAMAP_SCALE_CHANGE_START=gnLastEventId++;var KAMAP_LAYERS_CHANGED=gnLastEventId++;var KAMAP_DRAG=gnLastEventId++;var KAMAP_DRAG_START=gnLastEventId++;var KAMAP_DRAG_END=gnLastEventId++;var KAMAP_MOVE=gnLastEventId++;var KAMAP_MOVE_START=gnLastEventId++;var KAMAP_CONTEXT_MENU=gnLastEventId++;function kaMap(szID){this.isCSS=false;this.isW3C=false;this.isIE4=false;this.isNN4=false;
this.isIE6CSS=false;if(document.images){this.isCSS=document.body&&document.body.style?true:false;this.isW3C=this.isCSS&&document.getElementById?true:false;this.isIE4=this.isCSS&&document.all?true:false;this.isNN4=document.layers?true:false;this.isIE6CSS=document.compatMode&&document.compatMode.indexOf("CSS1")>=0?true:false}this.domObj=this.getRawObject(szID);this.domObj.style.overflow="hidden";this.hideLayersOnMove=false;this.loadUnchecked=false;this.initializationState=0;this.bMouseDown=false;this.lastx=0;this.lasty=0;this.theInsideLayer=null;this.viewportWidth=safeParseInt(this.domObj.style.width);this.viewportHeight=safeParseInt(this.domObj.style.height);this.xOffset=0;this.yOffset=0;this.xOrigin=0;this.yOrigin=0;this.currentMap="";this.nWide=0;this.nHigh=0;this.nCurrentTop=0;this.nCurrentLeft=0;this.aPixel=new Image(1,1);this.imgErrors=new Array;this.aMaps=new Array;this.tileWidth=null;this.tileHeight=null;this.nBuffer=1;this.baseURL="";this.cellSize=null;this.gImageID=0;this.eventManager=new _eventManager;this.as=slideid=null;this.accelerationFactor=1;this.pixelsPerStep=30;this.timePerStep=25;this.slideSteps=3;this.animatedZoomingIntervalID=null;this.animatedZoom=false;this.isDirectTileAccess=null;this.server="";this.init="init.pl";this.tileURL=null;this.aObjects=[];this.aCanvases=[];this.layersHidden=false;this.aTools=[];for(var i=0;i<gnLastEventId;i++){this.registerEventID(i)}this.createLayers();this.shouldBypassSameSourcePolicy=false;if(P.WKPrint.isPrintPage()===true){P.instances.wkprint.addAction("mapLoad")}}kaMap.prototype.initializationCode="/*init*/var map = new _map( 'prod', 'main', 'Pushpin Maps', 0, 3, new Array());"+"map.setDefaultExtents(-19954263,2105888,-7453326,9757661);"+"map.setBackgroundColor('rgb(235,233,224)');"+"map.resolution = 96;"+"map.revision = '1.3';"+"this.addMap( map );"+"this.tileWidth=200;"+"this.tileHeight=200;"+"this.tileURL = 'tile.pl';"+"this.selectMap('prod');";kaMap.prototype.setTileServers=function(servs){this.tileServers.setServers(servs)};kaMap.prototype.seekLayer=function(doc,name){var theObj;for(var i=0;i<doc.layers.length;i++){if(doc.layers[i].name==name){theObj=doc.layers[i];break}if(doc.layers[i].document.layers.length>0){theObj=this.seekLayer(document.layers[i].document,name)}}return theObj};kaMap.prototype.getRawObject=function(obj){var theObj;if(typeof obj=="string"){if(this.isW3C){theObj=document.getElementById(obj)}else if(this.isIE4){theObj=document.all(obj)}else if(this.isNN4){theObj=seekLayer(document,obj)}}else{theObj=obj}return theObj};kaMap.prototype.getObject=function(obj){var theObj=this.getRawObject(obj);if(theObj&&this.isCSS){theObj=theObj.style}return theObj};kaMap.prototype.getObjectWidth=function(obj){var elem=this.getRawObject(obj);var result=0;if(elem.offsetWidth){result=elem.offsetWidth}else if(elem.clip&&elem.clip.width){result=elem.clip.width}else if(elem.style&&elem.style.pixelWidth){result=elem.style.pixelWidth}return parseInt(result)};kaMap.prototype.getObjectHeight=function(obj){var elem=this.getRawObject(obj);var result=0;if(elem.offsetHeight){result=elem.offsetHeight}else if(elem.clip&&elem.clip.height){result=elem.clip.height}else if(elem.style&&elem.style.pixelHeight){result=elem.style.pixelHeight}return parseInt(result)};kaMap.prototype.zoomTo=function(cgX,cgY){var oMap=this.getCurrentMap();var inchesPerUnit=new Array(1,12,63360,39.3701,39370.1,4374754);var newScale;var bScaleChanged=false;if(arguments.length==3){newScale=arguments[2];bScaleChanged=newScale!=this.getCurrentScale();if(bScaleChanged)this.triggerEvent(KAMAP_SCALE_CHANGE_START,newScale);if(this.animatedZoom){if(this.aMaps[this.currentMap].aScales[this.aMaps[this.currentMap].currentScale+1]&&newScale==this.aMaps[this.currentMap].aScales[this.aMaps[this.currentMap].currentScale+1]||this.aMaps[this.currentMap].aScales[this.aMaps[this.currentMap].currentScale-1]&&newScale==this.aMaps[this.currentMap].aScales[this.aMaps[this.currentMap].currentScale-1]){this.zoomTo(cgX,cgY);this.zoomToScale(newScale);return}}}else{newScale=this.getCurrentScale()}this.cellSize=newScale/(oMap.resolution*inchesPerUnit[oMap.units]);var nFactor=oMap.zoomToScale(newScale);this.setMapLayers();var cpX=cgX/this.cellSize;var cpY=cgY/this.cellSize;var vpLeft=Math.round(cpX-this.viewportWidth/2);var vpTop=Math.round(cpY+this.viewportHeight/2);var cTileX=Math.floor(cpX/this.tileWidth)*this.tileWidth;var cTileY=Math.floor(cpY/this.tileHeight)*this.tileHeight;var nTilesLeft=Math.ceil(this.viewportWidth/(2*this.tileWidth))*this.tileWidth;var nTilesUp=Math.ceil(this.viewportHeight/(2*this.tileHeight))*this.tileHeight;this.nCurrentLeft=cTileX-nTilesLeft;this.nCurrentTop=-1*(cTileY+nTilesUp);this.xOrigin=this.nCurrentLeft;this.yOrigin=this.nCurrentTop;this.theInsideLayer.style.left=-1*(vpLeft-this.xOrigin)+"px";this.theInsideLayer.style.top=vpTop+this.yOrigin+"px";var layers=oMap.getLayers();for(var k=0;k<layers.length;k++)init_layer(this,layers[k]);this.checkWrap();this.updateObjects();if(bScaleChanged)this.triggerEvent(KAMAP_SCALE_CHANGED,this.getCurrentScale());this.triggerEvent(KAMAP_MOVE);this.triggerEvent(KAMAP_EXTENTS_CHANGED,this.getGeoExtents())};kaMap.prototype.zoomToExtents=function(minx,miny,maxx,maxy){var inchesPerUnit=new Array(1,12,63360,39.3701,39370.1,4374754);var oMap=this.getCurrentMap();var cgX=(maxx+minx)/2;var cgY=(maxy+miny)/2;var tmpCellSizeX=(maxx-minx)/this.viewportWidth;var tmpCellSizeY=(maxy-miny)/this.viewportHeight;var tmpCellSize=Math.max(tmpCellSizeX,tmpCellSizeY);var tmpScale=tmpCellSize*oMap.resolution*inchesPerUnit[oMap.units];var newScale=oMap.aScales[0];for(var i=1;i<oMap.aScales.length;i++){if(tmpScale>=oMap.aScales[i]){break}newScale=oMap.aScales[i]}if(arguments[4])return newScale;this.triggerEvent(KAMAP_SCALE_CHANGE_START,newScale);this.cellSize=newScale/(oMap.resolution*inchesPerUnit[oMap.units]);var nFactor=oMap.zoomToScale(newScale);this.setMapLayers();var cpX=cgX/this.cellSize;var cpY=cgY/this.cellSize;var vpLeft=Math.round(cpX-this.viewportWidth/2);var vpTop=Math.round(cpY+this.viewportHeight/2);var cTileX=Math.floor(cpX/this.tileWidth)*this.tileWidth;var cTileY=Math.floor(cpY/this.tileHeight)*this.tileHeight;var nTilesLeft=Math.ceil(this.viewportWidth/(2*this.tileWidth))*this.tileWidth;var nTilesUp=Math.ceil(this.viewportHeight/(2*this.tileHeight))*this.tileHeight;this.nCurrentLeft=cTileX-nTilesLeft;this.nCurrentTop=-1*(cTileY+nTilesUp);this.xOrigin=this.nCurrentLeft;this.yOrigin=this.nCurrentTop;this.theInsideLayer.style.left=-1*(vpLeft-this.xOrigin)+"px";this.theInsideLayer.style.top=vpTop+this.yOrigin+"px";var layers=oMap.getLayers();for(var k=0;k<layers.length;k++){init_layer(this,layers[k])}this.checkWrap();this.updateObjects();this.triggerEvent(KAMAP_SCALE_CHANGED,this.getCurrentScale());this.triggerEvent(KAMAP_EXTENTS_CHANGED,this.getGeoExtents())};kaMap.prototype.createDrawingCanvas=function(idx){var d=document.createElement("div");d.style.position="absolute";d.style.left="0px";d.style.top="0px";d.style.width="3000px";d.style.height="3000px";d.style.zIndex=idx;this.theInsideLayer.appendChild(d);this.aCanvases.push(d);d.kaMap=this;return d};kaMap.prototype.removeDrawingCanvas=function(canvas){for(var i=0;i<this.aCanvases.length;i++){if(this.aCanvases[i]==canvas){this.aCanvases.splice(i,1)}}this.theInsideLayer.removeChild(canvas);canvas.kaMap=null;canvas=null;return true};kaMap.prototype.addObjectGeo=function(canvas,lon,lat,obj){obj.lon=lon;obj.lat=lat;var aPix=this.geoToPix(lon,lat);return this.addObjectPix(canvas,aPix[0],aPix[1],obj)};kaMap.prototype.addObjectPix=function(canvas,x,y,obj){var xOffset=obj.xOffset?obj.xOffset:0;var yOffset=obj.yOffset?obj.yOffset:0;var top=y-this.yOrigin+yOffset;var left=x-this.xOrigin+xOffset;obj.style.position="absolute";if(top!="-Infinity")obj.style.top=top+"px";if(left!="-Infinity")obj.style.left=left+"px";obj.canvas=canvas;canvas.appendChild(obj);this.aObjects.push(obj);return true};kaMap.prototype.shiftObject=function(x,y,obj){var top=safeParseInt(obj.style.top);var left=safeParseInt(obj.style.left);obj.style.top=top+y+"px";obj.style.left=left+x+"px";return true};kaMap.prototype.removeObject=function(obj){for(var i=0;i<this.aObjects.length;i++){if(this.aObjects[i]==obj||obj==null){if(!obj)obj=this.aObjects[i];if(obj.canvas){obj.canvas.removeChild(obj);obj.canvas=null;obj=null}this.aObjects.splice(i,1);return true}}return false};kaMap.prototype.centerObject=function(obj){var vpX=-safeParseInt(this.theInsideLayer.style.left)+this.viewportWidth/2;var vpY=-safeParseInt(this.theInsideLayer.style.top)+this.viewportHeight/2;var xOffset=obj.xOffset?obj.xOffset:0;var yOffset=obj.yOffset?obj.yOffset:0;var dx=safeParseInt(obj.style.left)-xOffset-vpX;var dy=safeParseInt(obj.style.top)-yOffset-vpY;this.slideBy(-dx,-dy);return true};kaMap.prototype.geoToPix=function(gX,gY){var pX=gX/this.cellSize;var pY=-1*gY/this.cellSize;return[Math.floor(pX),Math.floor(pY)]};kaMap.prototype.pixToGeo=function(pX,pY){var bAdjust=arguments.length==3&&arguments[2]?true:false;if(bAdjust){pX=pX+this.xOrigin;pY=pY+this.yOrigin}var gX=-1*pX*this.cellSize;var gY=pY*this.cellSize;return[gX,gY]};kaMap.prototype.initialize=function(){if(this.initializationState==2){this.triggerEvent(KAMAP_ERROR,"ERROR: ka-Map! is already initialized!");return false}else if(this.intializationState==1){this.triggerEvent(KAMAP_WARNING,"WARNING: ka-Map! is currently initializing ... wait for the KAMAP_INITIALIZED event to be triggered.");return false}this.initializationState=1;if(arguments.length==0&&this.initializationCode!=null){this.initializeCallback(this.initializationCode);return true}var szURL=this.server+this.init;var sep=this.init.indexOf("?")==-1?"?":"&";if(arguments.length>0&&arguments[0]!=""){szURL=szURL+sep+"map="+arguments[0];sep="&"}if(arguments.length>1&&arguments[1]!=""){szURL=szURL+sep+"extents="+arguments[1];sep="&"}if(arguments.length>2&&arguments[2]!=""){szURL=szURL+sep+"centerPoint="+arguments[2];sep="&"}call(szURL,this,this.initializeCallback);return true};kaMap.prototype.initializeCallback=function(szInit){if(szInit.substr(0,1)!="/"){this.triggerEvent(KAMAP_ERROR,"ERROR: ka-Map! initialization "+"failed on the server.  Message returned was:\n"+szInit);return false}eval(szInit);this.triggerEvent(KAMAP_INITIALIZED);this.initializationState=2};kaMap.prototype.setBackgroundColor=function(color){this.domObj.style.backgroundColor=color;return true};kaMap.prototype.createLayers=function(){this.theInsideLayer=document.createElement("div");this.theInsideLayer.id="theInsideLayer";this.theInsideLayer.style.position="absolute";this.theInsideLayer.style.left="0px";this.theInsideLayer.style.top="0px";this.theInsideLayer.style.zIndex="1";this.theInsideLayer.kaMap=this;if(this.currentTool)this.theInsideLayer.style.cursor=this.currentTool.cursor;this.domObj.appendChild(this.theInsideLayer);this.domObj.kaMap=this;this.theInsideLayer.onmousedown=kaMap_onmousedown;this.theInsideLayer.onmouseup=kaMap_onmouseup;this.theInsideLayer.onmousemove=kaMap_onmousemove;this.theInsideLayer.ontouchstart=kaMap_onmousedown;this.theInsideLayer.ontouchend=kaMap_onmouseup;this.theInsideLayer.ontouchmove=kaMap_onmousemove;this.theInsideLayer.onmouseover=kaMap_onmouseover;this.domObj.onmouseout=kaMap_onmouseout;this.theInsideLayer.onkeypress=kaMap_onkeypress;this.theInsideLayer.ondblclick=kaMap_ondblclick;this.theInsideLayer.onclick=kaMap_onclick;this.theInsideLayer.oncontextmenu=kaMap_oncontextmenu;this.theInsideLayer.onmousewheel=kaMap_onmousewheel;if(window.addEventListener&&navigator.product&&navigator.product=="Gecko"){this.domObj.addEventListener("DOMMouseScroll",kaMap_onmousewheel,false)}this.theInsideLayer.ondragstart=new Function([],"var e=e?e:event;e.cancelBubble=true;e.returnValue=false;return false;")};kaMap.prototype.initializeLayers=function(nFactor){var deltaMouseX=this.nCurrentLeft+safeParseInt(this.theInsideLayer.style.left)-this.xOrigin;var deltaMouseY=this.nCurrentTop+safeParseInt(this.theInsideLayer.style.top)-this.yOrigin;var vpTop=this.nCurrentTop-deltaMouseY;var vpLeft=this.nCurrentLeft-deltaMouseX;var vpCenterX=vpLeft+this.viewportWidth/2;var vpCenterY=vpTop+this.viewportHeight/2;var currentTileX=Math.floor(vpCenterX/this.tileWidth)*this.tileWidth;var currentTileY=Math.floor(vpCenterY/this.tileHeight)*this.tileHeight;var tileDeltaX=currentTileX-this.nCurrentLeft;var tileDeltaY=currentTileY-this.nCurrentTop;var newVpCenterX=vpCenterX*nFactor;var newVpCenterY=vpCenterY*nFactor;var newTileX=Math.floor(newVpCenterX/this.tileWidth)*this.tileWidth;var newTileY=Math.floor(newVpCenterY/this.tileHeight)*this.tileHeight;var newCurrentLeft=newTileX-tileDeltaX;var newCurrentTop=newTileY-tileDeltaY;this.nCurrentLeft=newCurrentLeft;this.nCurrentTop=newCurrentTop;var newTilLeft=-newVpCenterX+this.viewportWidth/2;var newTilTop=-newVpCenterY+this.viewportHeight/2;var xOldOrigin=this.xOrigin;var yOldOrigin=this.yOrigin;this.xOrigin=this.nCurrentLeft;this.yOrigin=this.nCurrentTop;this.theInsideLayer.style.left=newTilLeft+this.xOrigin+"px";this.theInsideLayer.style.top=newTilTop+this.yOrigin+"px";var layers=this.aMaps[this.currentMap].getLayers();for(var k=0;k<layers.length;k++){init_layer(this,layers[k])}this.checkWrap();this.updateObjects()};function rangeK(len){var i;var r=[];for(i=0;i<len;i++)r.push(i);return r}function init_layer(map,layer){switch(LAYER_ALGO){case"CENTER":center_load_layer(map,layer);break;case"RANDOM":random_load_layer(map,layer);break;default:old_load_layer(map,layer);break}}function old_load_layer(map,layer){var d=layer.domObj;var i;var j;for(var j=0;j<map.nHigh;j++){for(var i=0;i<map.nWide;i++){var img=d.childNodes[j*map.nWide+i];if(map.animatedZoom){img.style.width=map.tileWidth+"px";img.style.height=map.tileHeight+"px"}img.style.top=map.nCurrentTop+j*map.tileHeight-map.yOrigin+"px";img.style.left=map.nCurrentLeft+i*map.tileWidth-map.xOrigin+"px";layer.setTile(img)}}}function random_load_layer(map,layer){var d=layer.domObj;var __j=PWebUtil.shuffleArray(rangeK(map.nHigh));var j=__j.pop();while(j!=null){var __i=PWebUtil.shuffleArray(rangeK(map.nWide));var i=__i.pop();while(i!=null){var img=d.childNodes[j*map.nWide+i];if(map.animatedZoom){img.style.width=map.tileWidth+"px";img.style.height=map.tileHeight+"px"}img.style.top=map.nCurrentTop+j*map.tileHeight-map.yOrigin+"px";img.style.left=map.nCurrentLeft+i*map.tileWidth-map.xOrigin+"px";layer.setTile(img);i=__i.pop()}j=__j.pop()}}function center_load_layer(map,layer){var cY=Math.floor(map.nHigh/2);var cX=Math.floor(map.nWide/2);var nbProcessed=center_load_helper(map,layer,cX-1,cY,0,1)}var directions={1:{x:1,y:0},2:{x:0,y:-1},3:{x:-1,y:0},0:{x:0,y:1}};function center_load_helper(map,layer,x,y,direction,offset){if(x<0)return 0;if(x>map.nHigh)return 0;if(y<0)return 0;if(y>map.nHigh)return 0;var d=layer.domObj;var nbProcessed=0;for(var i=0;i<2;i++){direction=(direction+1)%4;for(var j=0;j<offset;j++){var img=d.childNodes[y*map.nWide+x];if(img){if(map.animatedZoom){img.style.width=map.tileWidth+"px";img.style.height=map.tileHeight+"px"}img.style.top=map.nCurrentTop+y*map.tileHeight-map.yOrigin+"px";img.style.left=map.nCurrentLeft+x*map.tileWidth-map.xOrigin+"px"}layer.setTile(img);x+=directions[direction].x;y+=directions[direction].y;nbProcessed++}}nbProcessed+=center_load_helper(map,layer,x,y,direction,offset+1);return nbProcessed}kaMap.prototype.paintLayer=function(l){var d=l.domObj;for(var j=0;j<this.nHigh;j++){for(var i=0;i<this.nWide;i++){var img=d.childNodes[j*this.nWide+i];img.style.top=this.nCurrentTop+j*this.tileHeight-this.yOrigin+"px";img.style.left=this.nCurrentLeft+i*this.tileWidth-this.xOrigin+"px";l.setTile(img)}}this.checkWrap()};kaMap.prototype.updateObjects=function(){for(var i=0;i<this.aObjects.length;i++){var obj=this.aObjects[i];var xOffset=obj.xOffset?obj.xOffset:0;var yOffset=obj.yOffset?obj.yOffset:0;var aPix=this.geoToPix(obj.lon,obj.lat);var top=aPix[1]-this.yOrigin+yOffset;var left=aPix[0]-this.xOrigin+xOffset;obj.style.top=top+"px";obj.style.left=left+"px"}};kaMap.prototype.resize=function(){if(this.initializationState!=2){return false}var newViewportWidth=this.getObjectWidth(this.domObj);var newViewportHeight=this.getObjectHeight(this.domObj);if(this.viewportWidth==null){this.theInsideLayer.style.top=-1*this.nCurrentTop+this.yOrigin+"px";this.theInsideLayer.style.left=-1*this.nCurrentLeft+this.xOrigin+"px";this.viewportWidth=newViewportWidth;this.viewportHeight=newViewportHeight}var newWide=Math.ceil(newViewportWidth/this.tileWidth+2*this.nBuffer);var newHigh=Math.ceil(newViewportHeight/this.tileHeight+2*this.nBuffer);this.viewportWidth=newViewportWidth;this.viewportHeight=newViewportHeight;if(this.nHigh==0&&this.nWide==0)this.nWide=newWide;while(this.nHigh<newHigh)this.appendRow();while(this.nHigh>newHigh&&newHigh>3)this.removeRow();while(this.nWide<newWide)this.appendColumn();while(this.nWide>newWide&&newWide>3)this.removeColumn();var map=this.getCurrentMap();var layers=map.getLayers();for(var i=0;i<layers.length;i++)layers[i].setTileLayer();this.triggerEvent(KAMAP_EXTENTS_CHANGED,this.getGeoExtents())};kaMap.prototype.createImage=function(top,left,obj){var img=document.createElement("img");img.width=this.tileWidth;img.height=this.tileHeight;img.setAttribute("style","position:absolute; top:"+top+"px; left:"+left+"px;");img.style.position="absolute";img.style.top=top-this.yOrigin+"px";img.style.left=left-this.xOrigin+"px";img.style.width=this.tileWidth+"px";img.style.height=this.tileHeight+"px";img.style.MozUserSelect="none";img.style.visibility="hidden";img.galleryimg="no";img.onerror=kaMap_imgOnError;img.onload=kaMap_imgOnLoad;img.errorCount=0;img.id="i"+this.gImageID;img.layer=obj;img.kaMap=this;this.gImageID=this.gImageID+1;return img};kaMap.prototype.resetTile=function(id,bForce){var img=this.DHTMLapi.getRawObject(id);if(img.layer)img.layer.setTile(this,bForce)};kaMap.prototype.reloadImage=function(id){};kaMap.prototype.resetImage=function(id){};kaMap_imgOnError=function(e){if(this.layer)this.layer.setTile(this,true)};kaMap_imgOnLoad=function(e){this.style.visibility="visible"};kaMap.prototype.appendRow=function(layer){if(this.nWide==0)return;if(arguments.length==1)var layers=Array(layer);else var layers=this.aMaps[this.currentMap].getLayers();for(var i=0;i<layers.length;i++){var obj=layers[i].domObj;for(var j=0;j<this.nWide;j++){var top=this.nCurrentTop+this.nHigh*this.tileHeight;var left=this.nCurrentLeft+j*this.tileWidth;var img=this.createImage(top,left,layers[i]);if(this.isIE4)img.style.filter="Alpha(opacity="+layers[i].opacity+")";obj.appendChild(img)}}this.nHigh=this.nHigh+1};kaMap.prototype.appendColumn=function(layer){if(this.nHigh==0)return;if(arguments.length==1)var layers=Array(layer);else var layers=this.aMaps[this.currentMap].getLayers();for(var i=0;i<layers.length;i++){var obj=layers[i].domObj;for(var j=this.nHigh-1;j>=0;j--){var top=this.nCurrentTop+j*this.tileHeight;var left=this.nCurrentLeft+this.nWide*this.tileWidth;var img=this.createImage(top,left,layers[i]);if(this.isIE4)img.style.filter="Alpha(opacity="+layers[i].opacity+")";if(j<this.nHigh-1)obj.insertBefore(img,obj.childNodes[(j+1)*this.nWide]);else obj.appendChild(img)}}this.nWide=this.nWide+1};kaMap.prototype.removeColumn=function(layer){if(this.nWide<3)return;if(arguments.length==1)var layers=Array(layer);else var layers=this.aMaps[this.currentMap].getLayers();for(var i=0;i<layers.length;i++){var d=layers[i].domObj;for(var j=this.nHigh-1;j>=0;j--){var img=d.childNodes[(j+1)*this.nWide-1];d.removeChild(img);img.onload=null;img.onerror=null}}this.nWide=this.nWide-1};kaMap.prototype.removeRow=function(layer){if(this.nHigh<3)return;if(arguments.length==1)var layers=Array(layer);else var layers=this.aMaps[this.currentMap].getLayers();for(var i=0;i<layers.length;i++){var d=layers[i].domObj;for(var j=this.nWide-1;j>=0;j--){var img=d.childNodes[(this.nHigh-1)*this.nWide+j];d.removeChild(img);img.onload=null;img.onerror=null}}this.nHigh=this.nHigh-1};kaMap.prototype.hideLayers=function(){if(!this.hideLayersOnMove)return;if(this.layersHidden)return;var layers=this.aMaps[this.currentMap].getLayers();for(var i=0;i<layers.length;i++){layers[i]._visible=layers[i].visible;if(layers[i].name!="__base__"){layers[i].setVisibility(false)}}for(var i=0;i<this.aCanvases.length;i++){this.aCanvases[i].style.visibility="hidden";this.aCanvases[i].style.display="none"}this.layersHidden=true};kaMap.prototype.showLayers=function(){if(!this.hideLayersOnMove)return;if(!this.layersHidden)return;var layers=this.aMaps[this.currentMap].getLayers();for(var i=0;i<layers.length;i++){layers[i].setVisibility(layers[i]._visible)}for(var i=0;i<this.aCanvases.length;i++){this.aCanvases[i].style.visibility="visible";this.aCanvases[i].style.display="block"}this.layersHidden=false};kaMap.prototype.moveBy=function(x,y){this.triggerEvent(KAMAP_MOVE);var til=this.theInsideLayer;til.style.top=safeParseInt(til.style.top)+y+"px";til.style.left=safeParseInt(til.style.left)+x+"px";this.checkWrap()};kaMap.prototype.slideBy=function(x,y,f){this.triggerEvent(KAMAP_MOVE_START);if(this.slideid!=null)goQueueManager.dequeue(this.slideid);this.as=[];if(f==null){f=YAHOO_PP.util.Easing.easeBoth}var steps=10;var dx=dy=0;var px=py=0;var cx=cy=0;var i=0;var deltas=this.as;while(i<steps){px=cx;py=cy;cx=f.apply(null,[i,0,x,steps]);cy=f.apply(null,[i,0,y,steps]);dx=Math.round(cx-px);dy=Math.round(cy-py);deltas[i]=new Array(dx,dy);i++}this.hideLayers();this.slideid=goQueueManager.enqueue(this.timePerStep,this,this.slide,[0])};kaMap.prototype.slide=function(pos){if(pos>=this.as.length){this.as=slideid=null;this.showLayers();this.triggerEvent(KAMAP_EXTENTS_CHANGED,this.getGeoExtents());return}this.moveBy(this.as[pos][0],this.as[pos][1]);pos++;this.slideid=goQueueManager.enqueue(this.timePerStep,this,this.slide,[pos])};kaMap_onkeypress=function(e){if(this.kaMap.currentTool)this.kaMap.currentTool.onkeypress(e)};kaMap_onmousemove=function(e){e=e?e:event?event:null;if(e.button==2){this.kaMap.triggerEvent(KAMAP_CONTEXT_MENU)}if(this.kaMap.currentTool)this.kaMap.currentTool.onmousemove(e)};kaMap_onmousedown=function(e){if(this.kaMap.currentTool)this.kaMap.currentTool.onmousedown(e)};kaMap_onmouseup=function(e){if(this.kaMap.currentTool)this.kaMap.currentTool.onmouseup(e)};kaMap_onmouseover=function(e){if(this.kaMap.currentTool)this.kaMap.currentTool.onmouseover(e)};kaMap_onmouseout=function(e){if(this.kaMap.currentTool)this.kaMap.currentTool.onmouseout(e)};kaMap_oncontextmenu=function(e){e=e?e:event?event:null;if(e.preventDefault)e.preventDefault();return false};kaMap_onclick=function(e){if(this.kaMap.currentTool)this.kaMap.currentTool.onclick(e)};kaMap_ondblclick=function(e){if(this.kaMap.currentTool)this.kaMap.currentTool.ondblclick(e)};kaMap_onmousewheel=function(e){if(this.kaMap.currentTool)this.kaMap.currentTool.onmousewheel(e)};kaMap.prototype.cancelEvent=function(e){e=e?e:event?event:null;e.returnValue=false;if(e.preventDefault)e.preventDefault();return false};kaMap.prototype.registerTool=function(toolObj){this.aTools.push(toolObj)};kaMap.prototype.activateTool=function(toolObj){if(this.currentTool){this.currentTool.deactivate()}this.currentTool=toolObj;if(this.theInsideLayer)this.theInsideLayer.style.cursor=this.currentTool.cursor};kaMap.prototype.deactivateTool=function(toolObj){if(this.currentTool==toolObj)this.currentTool=null;if(this.theInsideLayer)this.theInsideLayer.style.cursor="auto"};kaMap.prototype.checkWrap=function(){this.xOffset=safeParseInt(this.theInsideLayer.style.left)+this.nCurrentLeft-this.xOrigin;this.yOffset=safeParseInt(this.theInsideLayer.style.top)+this.nCurrentTop-this.yOrigin;while(this.xOffset>0){this.wrapR2L()}while(this.xOffset<-(this.nBuffer*this.tileWidth)){this.wrapL2R()}while(this.yOffset>-(this.nBuffer*this.tileHeight)){this.wrapB2T()}while(this.yOffset<-(2*this.nBuffer*this.tileHeight)){this.wrapT2B()}var layer=this.aMaps[this.currentMap].aLayers[0].domObj;var img=layer.childNodes[0].style;this.nCurrentTop=safeParseInt(img.top)+this.yOrigin;this.nCurrentLeft=safeParseInt(img.left)+this.xOrigin};kaMap.prototype.wrapR2L=function(){this.xOffset=this.xOffset-this.nBuffer*this.tileWidth;var layers=this.aMaps[this.currentMap].getLayers();for(var k=0;k<layers.length;k++){var d=layers[k].domObj;var refLeft=safeParseInt(d.childNodes[0].style.left);for(var j=0;j<this.nHigh;j++){var imgLast=d.childNodes[(j+1)*this.nWide-1];var imgNext=d.childNodes[j*this.nWide];imgLast.style.left=refLeft-this.tileWidth+"px";d.removeChild(imgLast);d.insertBefore(imgLast,imgNext);if(layers[k].visible)layers[k].setTile(imgLast)}}};kaMap.prototype.wrapL2R=function(){this.xOffset=this.xOffset+this.nBuffer*this.tileWidth;var layers=this.aMaps[this.currentMap].getLayers();for(var k=0;k<layers.length;k++){var d=layers[k].domObj;var refLeft=safeParseInt(d.childNodes[this.nWide-1].style.left);for(var j=0;j<this.nHigh;j++){var imgFirst=d.childNodes[j*this.nWide];var imgNext;if(j<this.nHigh-1)imgNext=d.childNodes[(j+1)*this.nWide];else imgNext=null;imgFirst.style.left=refLeft+this.tileWidth+"px";d.removeChild(imgFirst);if(imgNext)d.insertBefore(imgFirst,imgNext);else d.appendChild(imgFirst);if(layers[k].visible)layers[k].setTile(imgFirst)}}};kaMap.prototype.wrapT2B=function(){this.yOffset=this.yOffset+this.nBuffer*this.tileHeight;var layers=this.aMaps[this.currentMap].getLayers();for(var k=0;k<layers.length;k++){var d=layers[k].domObj;var refTop=safeParseInt(d.childNodes[this.nHigh*this.nWide-1].style.top);for(var i=0;i<this.nWide;i++){var imgBottom=d.childNodes[0];imgBottom.style.top=refTop+this.tileHeight+"px";d.removeChild(imgBottom);d.appendChild(imgBottom);if(layers[k].visible)layers[k].setTile(imgBottom)}}};kaMap.prototype.wrapB2T=function(){this.yOffset=this.yOffset-this.nBuffer*this.tileHeight;var layers=this.aMaps[this.currentMap].getLayers();for(var k=0;k<layers.length;k++){var d=layers[k].domObj;var refTop=safeParseInt(d.childNodes[0].style.top);for(var i=0;i<this.nWide;i++){var imgTop=d.childNodes[this.nHigh*this.nWide-1];imgTop.style.top=refTop-this.tileHeight+"px";d.removeChild(imgTop);d.insertBefore(imgTop,d.childNodes[0]);if(layers[k].visible)layers[k].setTile(imgTop)}}};kaMap.prototype.addMap=function(oMap){oMap.kaMap=this;this.aMaps[oMap.name]=oMap};kaMap.prototype.getMaps=function(){return this.aMaps};kaMap.prototype.getCurrentMap=function(){return this.aMaps[this.currentMap]};kaMap.prototype.selectMap=function(name){if(!this.aMaps[name]){return false}else{this.currentMap=name;var oMap=this.getCurrentMap();this.setBackgroundColor(oMap.backgroundColor);this.setMapLayers();if(oMap.aZoomTo.length!=0){this.zoomTo(oMap.aZoomTo[0],oMap.aZoomTo[1],oMap.aZoomTo[2]);oMap.aZoomTo.length=0}else{}this.triggerEvent(KAMAP_MAP_INITIALIZED,this.currentMap);if(P.WKPrint.isPrintPage()===true){P.instances.wkprint.removeAction("mapLoad")}return true}};kaMap.prototype.setMapLayers=function(){var oMap=this.getCurrentMap();for(var i=this.theInsideLayer.childNodes.length-1;i>=0;i--){if(this.theInsideLayer.childNodes[i].className=="mapLayer"){this.theInsideLayer.childNodes[i].appended=false;this.theInsideLayer.removeChild(this.theInsideLayer.childNodes[i])}}layers=oMap.getLayers();for(var i=0;i<layers.length;i++){if(!layers[i].domObj){var d=this.createMapLayer(layers[i].name);this.theInsideLayer.appendChild(d);d.appended=true;layers[i].domObj=d;layers[i].setOpacity(layers[i].opacity);layers[i].setZIndex(layers[i].zIndex);layers[i].setVisibility(layers[i].visible);this.nWide=0;this.nHigh=0;this.drawGroup(layers[i])}else if(!layers[i].domObj.appended){this.theInsideLayer.appendChild(layers[i].domObj);layers[i].domObj.appended=true}}return true};kaMap.prototype.drawGroup=function(group){var newViewportWidth=this.getObjectWidth(this.domObj);var newViewportHeight=this.getObjectHeight(this.domObj);if(this.viewportWidth==null){this.theInsideLayer.style.top=-1*this.nCurrentTop+this.yOrigin+"px";this.theInsideLayer.style.left=-1*this.nCurrentLeft+this.xOrigin+"px";this.viewportWidth=newViewportWidth;this.viewportHeight=newViewportHeight}var newWide=Math.ceil(newViewportWidth/this.tileWidth+2*this.nBuffer);var newHigh=Math.ceil(newViewportHeight/this.tileHeight+2*this.nBuffer);this.viewportWidth=newViewportWidth;this.viewportHeight=newViewportHeight;if(this.nHigh==0&&this.nWide==0)this.nWide=newWide;while(this.nHigh<newHigh)this.appendRow(group);while(this.nHigh>newHigh)this.removeRow(group);while(this.nWide<newWide)this.appendColumn(group);while(this.nWide>newWide)this.removeColumn(group);return true};kaMap.prototype.createMapLayer=function(id){var d=document.createElement("div");d.id=id;d.className="mapLayer";d.style.position="absolute";d.style.visibility="visible";d.style.left="0px";d.style.top="0px";d.style.width="3000px";d.style.height="3000px";d.appended=false;return d};kaMap.prototype.addMapLayer=function(l){var map=this.getCurrentMap();map.addLayer(l);this.setMapLayers();this.paintLayer(l);this.triggerEvent(KAMAP_LAYERS_CHANGED,this.currentMap)};kaMap.prototype.removeMapLayer=function(id){var map=this.getCurrentMap();var layer=map.getLayer(id);if(!layer)return false;if(map.removeLayer(map.getLayer(id))){this.setMapLayers();this.triggerEvent(KAMAP_LAYERS_CHANGED,this.currentMap)}};kaMap.prototype.getCenter=function(){var deltaMouseX=this.nCurrentLeft-this.xOrigin+safeParseInt(this.theInsideLayer.style.left);var deltaMouseY=this.nCurrentTop-this.yOrigin+safeParseInt(this.theInsideLayer.style.top);var vpTop=this.nCurrentTop-deltaMouseY;var vpLeft=this.nCurrentLeft-deltaMouseX;var vpCenterX=vpLeft+this.viewportWidth/2;var vpCenterY=vpTop+this.viewportHeight/2;return new Array(vpCenterX,vpCenterY)};kaMap.prototype.getGeoExtents=function(){var minx=-1*(safeParseInt(this.theInsideLayer.style.left)-this.xOrigin)*this.cellSize;var maxx=minx+this.viewportWidth*this.cellSize;var maxy=(safeParseInt(this.theInsideLayer.style.top)-this.yOrigin)*this.cellSize;var miny=maxy-this.viewportHeight*this.cellSize;return[minx,miny,maxx,maxy]};kaMap.prototype.zoomSlide=function(zoomfactor){var slideWait=80;var slidePower=.2;if(this.animatedZoomingIntervalID){window.clearInterval(this.animatedZoomingIntervalID);this.animatedZoomingIntervalID=null;this.initializeLayers(zoomfactor)}var newscale=this.getCurrentScale()*zoomfactor;var context={map:this,slideZoom:newscale,totalSteps:this.slideSteps,step:1,power:slidePower};var move=function(){var delta=this.slideZoom-this.map.getCurrentScale();var dZoom=Math.pow(1/this.totalSteps*this.step,this.power)*delta;var factor=zoomfactor*dZoom/delta;if(zoomfactor<1&&this.step<this.map.slideSteps)factor=1-factor;this.map.zoomByFactor(factor,false,this.step);this.step++;if(this.step>this.totalSteps){window.clearInterval(this.map.animatedZoomingIntervalID);this.map.animatedZoomingIntervalID=null}};this.animatedZoomingIntervalID=window.setInterval(move.KamapBindAsEventListener(context),slideWait)};kaMap.prototype.zoomIn=function(){this.zoomByFactor(this.aMaps[this.currentMap].zoomIn())};kaMap.prototype.zoomOut=function(){this.zoomByFactor(this.aMaps[this.currentMap].zoomOut())};kaMap.prototype.zoomToScale=function(scale){this.zoomByFactor(this.aMaps[this.currentMap].zoomToScale(scale))};kaMap.prototype.zoomByFactorAnimate=function(nZoomFactor){var zoomTileWidth=this.tileWidth*nZoomFactor;var zoomTileHeight=this.tileHeight*nZoomFactor;var deltaMouseX=this.nCurrentLeft+safeParseInt(this.theInsideLayer.style.left)-this.xOrigin;var deltaMouseY=this.nCurrentTop+safeParseInt(this.theInsideLayer.style.top)-this.yOrigin;var vpTop=this.nCurrentTop-deltaMouseY;var vpLeft=this.nCurrentLeft-deltaMouseX;var vpCenterX=vpLeft+this.viewportWidth/2;var vpCenterY=vpTop+this.viewportHeight/2;var currentTileX=Math.floor(vpCenterX/this.tileWidth)*this.tileWidth;var currentTileY=Math.floor(vpCenterY/this.tileHeight)*this.tileHeight;var tileDeltaCenterX=(currentTileX-vpCenterX)*nZoomFactor-(currentTileX-vpCenterX);var tileDeltaCenterY=(currentTileY-vpCenterY)*nZoomFactor-(currentTileY-vpCenterY);var tileDeltaTileX=(currentTileX-this.nCurrentLeft)*nZoomFactor-(currentTileX-this.nCurrentLeft);
var tileDeltaTileY=(currentTileY-this.nCurrentTop)*nZoomFactor-(currentTileY-this.nCurrentTop);var tileDeltaX=parseInt(tileDeltaTileX-tileDeltaCenterX);var tileDeltaY=parseInt(tileDeltaTileY-tileDeltaCenterY);var layers=this.getCurrentMap().getLayers();for(var k=0;k<layers.length;k++){var d=layers[k].domObj;var i;var j;for(var j=0;j<this.nHigh;j++){for(var i=0;i<this.nWide;i++){var img=d.childNodes[j*this.nWide+i];img.style.width=zoomTileWidth+2+"px";img.style.height=zoomTileHeight+2+"px";img.style.top=this.nCurrentTop+j*zoomTileHeight-this.yOrigin-tileDeltaY+"px";img.style.left=this.nCurrentLeft+i*zoomTileWidth-this.xOrigin-tileDeltaX+"px"}}}};kaMap.prototype.zoomByFactor=function(nZoomFactor,animated,step){if(nZoomFactor==1){this.triggerEvent(KAMAP_NOTICE,"NOTICE: changing to current scale aborted");return}if(animated==null)animated=this.animatedZoom;this.triggerEvent(KAMAP_SCALE_CHANGE_START,nZoomFactor*this.getCurrentScale());if(animated&&nZoomFactor<=2&&nZoomFactor>=.5){this.zoomSlide(nZoomFactor)}else{if(step!=null&&step<=this.slideSteps){this.zoomByFactorAnimate(nZoomFactor)}if(step==this.slideSteps||step==null&&!animated||nZoomFactor>2||nZoomFactor<.5){this.cellSize=this.cellSize/nZoomFactor;this.setMapLayers();this.initializeLayers(nZoomFactor);this.triggerEvent(KAMAP_SCALE_CHANGED,this.getCurrentScale());this.triggerEvent(KAMAP_MOVE);this.triggerEvent(KAMAP_EXTENTS_CHANGED,this.getGeoExtents());if(this.getCurrentMap().aLayers[0].legend!=null&&this.widgetIndicator)this.widgetIndicator.buildWidget()}}};kaMap.prototype.getCurrentScale=function(){return this.aMaps[this.currentMap].aScales[this.aMaps[this.currentMap].currentScale]};kaMap.prototype.setLayerQueryable=function(name,bQueryable){this.aMaps[this.currentMap].setLayerQueryable(name,bQueryable)};kaMap.prototype.setLayerVisibility=function(name,bVisible){if(!this.loadUnchecked&&bVisible){layer=this.aMaps[this.currentMap].getLayer(name);layer.visible=true;this.setMapLayers();this.aMaps[this.currentMap].setLayerVisibility(name,bVisible);this.paintLayer(layer)}else this.aMaps[this.currentMap].setLayerVisibility(name,bVisible)};kaMap.prototype.setLayerOpacity=function(name,opacity){this.aMaps[this.currentMap].setLayerOpacity(name,opacity)};kaMap.prototype.registerEventID=function(eventID){return this.eventManager.registerEventID(eventID)};kaMap.prototype.registerForEvent=function(eventID,obj,func){return this.eventManager.registerForEvent(eventID,obj,func)};kaMap.prototype.deregisterForEvent=function(eventID,obj,func){return this.eventManager.deregisterForEvent(eventID,obj,func)};kaMap.prototype.triggerEvent=function(eventID){return this.eventManager.triggerEvent.apply(this.eventManager,arguments)};function safeParseInt(val){return Math.round(parseFloat(val))}function _map(szName,groupName,szTitle,nCurrentScale,units,aszScales){this.name=szName;this.groupName=groupName;this.title=szTitle;this.aScales=aszScales;this.currentScale=parseFloat(nCurrentScale);this.units=units;this.resolution=72;this.aLayers=[];this.defaultExtents=[];this.currentExtents=[];this.maxExtents=[];this.backgroundColor="#ffffff";this.version="0";this.aZoomTo=[];this.kaMap=null}_map.prototype.addLayer=function(layer){layer._map=this;layer.zIndex=this.aLayers.length;this.aLayers.push(layer)};_map.prototype.removeLayer=function(l){var alayer=Array();for(i=0,a=0;i<this.aLayers.length;i++)if(this.aLayers[i]!=l){alayer[a]=this.aLayers[i];a++}this.aLayers=alayer;return true};_map.prototype.getQueryableLayers=function(){var r=[];var l=this.getLayers();for(var i=0;i<l.length;i++){if(l[i].isQueryable())r.push(l[i])}return r};_map.prototype.getLayers=function(){var r=[];for(var i=0;i<this.aLayers.length;i++){if(this.aLayers[i].isVisible()&&(this.aLayers[i].visible||this.kaMap.loadUnchecked))r.push(this.aLayers[i])}return r};_map.prototype.getAllQueryableLayers=function(){var r=[];for(var i=0;i<this.aLayers.length;i++){if(this.aLayers[i].isQueryable())r.push(this.aLayers[i])}return r};_map.prototype.getAllLayers=function(){return this.aLayers};_map.prototype.getLayer=function(name){for(var i=0;i<this.aLayers.length;i++){if(this.aLayers[i].name==name){return this.aLayers[i]}}};_map.prototype.getScales=function(){return this.aScales};_map.prototype.zoomIn=function(){var nZoomFactor=1;if(this.currentScale<this.aScales.length-1){nZoomFactor=this.aScales[this.currentScale]/this.aScales[this.currentScale+1];this.currentScale=this.currentScale+1}return nZoomFactor};_map.prototype.zoomOut=function(){var nZoomFactor=1;if(this.currentScale>0){nZoomFactor=this.aScales[this.currentScale]/this.aScales[this.currentScale-1];this.currentScale=this.currentScale-1}return nZoomFactor};_map.prototype.zoomToScale=function(scale){var nZoomFactor=1;for(var i=0;i<this.aScales.length;i++){if(this.aScales[i]==scale){nZoomFactor=this.aScales[this.currentScale]/scale;this.currentScale=parseInt(i)}}return nZoomFactor};_map.prototype.setLayerQueryable=function(name,bQueryable){var layer=this.getLayer(name);layer.setQueryable(bQueryable)};_map.prototype.setLayerVisibility=function(name,bVisible){var layer=this.getLayer(name);layer.setVisibility(bVisible)};_map.prototype.setLayerOpacity=function(name,opacity){var layer=this.getLayer(name);layer.setOpacity(opacity)};_map.prototype.setDefaultExtents=function(minx,miny,maxx,maxy){this.defaultExtents=[minx,miny,maxx,maxy];if(this.currentExtents.length==0)this.setCurrentExtents(minx,miny,maxx,maxy)};_map.prototype.setCurrentExtents=function(minx,miny,maxx,maxy){this.currentExtents=[minx,miny,maxx,maxy]};_map.prototype.setMaxExtents=function(minx,miny,maxx,maxy){this.maxExtents=[minx,miny,maxx,maxy]};_map.prototype.setBackgroundColor=function(szBgColor){this.backgroundColor=szBgColor};function _layer(szName,bVisible,opacity,imageformat,bQueryable,scales,mergedLayers,tileservers){this.debug=new P.Debug;this.name=szName;this.visible=bVisible;this.opacity=opacity;this.domObj=null;this._map=null;this.imageformat=imageformat;this.queryable=bQueryable;this.queryState=bQueryable;this.mergedLayers=[];if(mergedLayers)this.mergedLayers=mergedLayers;this.tileServers=new kaServers;this.tileServers.setServers(tileservers);this.legend=null;if(scales)this.scales=scales;else this.scales=Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);this.toLoad=0}_layer.prototype.addMergedLayer=function(pLayer){this.mergedLayers.push(pLayer)};_layer.prototype.clearMergedLayers=function(){this.mergedLayers=[]};_layer.prototype.isQueryable=function(){return this.queryState};_layer.prototype.setQueryable=function(bQueryable){if(this.queryable)this.queryState=bQueryable};_layer.prototype.isVisible=function(){return this.scales[this._map.currentScale]==1?true:false};_layer.prototype.setOpacity=function(amount){this.opacity=amount;if(this.domObj){this.domObj.style.opacity=amount/100;this.domObj.style.mozOpacity=amount/100;for(var i=0;i<this.domObj.childNodes.length;i++){this.domObj.childNodes[i].style.filter="Alpha(opacity="+amount+")"}}};_layer.prototype.setTile=function(img){if(this._map.kaMap.delayLoad)return;var szForce="";var szLayers="";if(arguments[1])szForce="&force=true";var szGroup="&g="+img.layer.domObj.id;var szScale="&s="+this._map.aScales[this._map.currentScale];var szImageformat="";var image_format="";if(img.layer.imageformat&&img.layer.imageformat!=""){image_format=img.layer.imageformat}var l=safeParseInt(img.style.left)+this._map.kaMap.xOrigin;var t=safeParseInt(img.style.top)+this._map.kaMap.yOrigin;var src=this.buildTileURL(t,l,this._map.name,this._map.aScales[this._map.currentScale],arguments[1]?true:undefined,this._map.groupName,img.layer.domObj.id,image_format);if(img.src!=src){img.style.visibility="hidden";img.src=src;if(image_format.toLowerCase()=="png24"&&this._map&&this._map.getAllLayers().length>1)fixPNG(img)}};_layer.prototype.setVisibility=function(bVisible){this.visible=bVisible;if(this.domObj){this.domObj.style.visibility=bVisible?"visible":"hidden";this.domObj.style.display=bVisible?"block":"none"}for(var i=0;i<this.domObj.childNodes.length;i++){this.setTile(this.domObj.childNodes[i])}};_layer.prototype.setZIndex=function(zIndex){this.zIndex=zIndex;if(this.domObj){this.domObj.style.zIndex=zIndex}};_layer.prototype.setTileLayer=function(){if(this._map.kaMap.delayLoad)return;var szLayers="";this.loaded=0;var szImageformat="";var image_format="";if(this.imageformat&&this.imageformat!=""){image_format=this.imageformat}for(i=0;i<this.domObj.childNodes.length;i++){img=this.domObj.childNodes[i];var l=safeParseInt(img.style.left)+this._map.kaMap.xOrigin;var t=safeParseInt(img.style.top)+this._map.kaMap.yOrigin;var src=this.buildTileURL(t,l,this._map.name,this._map.aScales[this._map.currentScale],arguments[1]?true:undefined,this._map.groupName,img.layer.domObj.id,image_format);if(img.src!=src){img.style.visibility="hidden";img.src=src;if(image_format.toLowerCase()=="png24"&&this._map&&this._map.getAllLayers().length>1)fixPNG(img)}}};_layer.prototype.buildLayerList=function(scale){var layers="";if(this.mergedLayers.length>0){for(var i=0;i<this.mergedLayers.length;i++){if(this.mergedLayers[i].minScale<=scale&&this.mergedLayers[i].maxScale>=scale){var name=this.mergedLayers[i].name;var ind=null;if(P.instances.map){ind=P.instances.map.getIndicator()}if((ind||typeof legendMerger!="undefined")&&name=="pp2_poly"){var indids=[9899703,9902201,9901451];var removePPoly=false;if(PEnvironment.pageName=="maps"&&ind){for(var x=0;x<indids.length;x++){if(ind.id==indids[x]){removePPoly=true;break}}}else if(PEnvironment.pageName=="analytics"&&typeof legendMerger!="undefined"&&legendMerger&&legendMerger.getIndicatorCount()>0){var indleg=legendMerger.indicatorLegends;for(var y=0;y<legendMerger.getIndicatorCount();y++){for(var x=0;x<indids.length;x++){if(indleg[y]&&indleg[y].getIndicator()&&indleg[y].getIndicator().id==indids[x]){removePPoly=true;break}}if(removePPoly){break}}}if(removePPoly){continue}}if(this.legend||typeof legendMerger!="undefined"){if(name=="pointline")layers+="t_pointline";else if(name=="pp2_line")layers+="pp2_tline";else if(name=="pp2_labels")layers+="pp2_tlabels";else if(name=="pp2tg_pointline")layers+="pp2tg_tpointline";else if(name=="pp2tg_line")layers+="pp2tg_tline";else if(name=="pp2tg_streetlabels")layers+="pp2tg_tstreetlabels";else layers+=name}else layers+=name;if(i==0&&this.legend!=null&&this.legend.getBreaks()!=""){var colors=[];var breaks="";if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks&&session.get("mvalayers")!=null){var mvaLayers=session.get("mvalayers");var tempColors=this.legend.getColors();var tempBreaks=this.legend.getEncodedBreaks().split(":");if(editState&PIndicatorBreaks.EDITSTATE.noData)var numBreaks=this.legend.getNumberOfBreaks()+1;else var numBreaks=this.legend.getNumberOfBreaks();var k=0;for(var j=0;j<numBreaks;j++){if(mvaLayers[j]){colors[k]=tempColors[j];if(k!=0)breaks+=":";breaks+=tempBreaks[j];k++}}}else{colors=this.legend.getColors();breaks=this.legend.getEncodedBreaks()}var legendString="p_"+this.legend.indicator.periodids[this.legend.indicator.curPerIndex]+".id_"+this.legend.indicator.id+".colors_"+colors.join(":")+".breaksdata_"+breaks+".boundary_definition_"+this.legend.getBoundaryDefinitionId(this.legend.getBoundaryType().id);if(productProperty.exists("live_map_boundary_island")||productProperty.exists("live_map_custom_region_island")){if(productProperty.exists("live_map_boundary_island")){legendString+=".islpd_"+productProperty.getValue("live_map_boundary_island")[0];if(liveMapBoundaryIsland!=null&&liveMapBoundaryIsland.getDefinitionId()!=null){legendString+=".islpddi_"+liveMapBoundaryIsland.getDefinitionId()}if(productProperty.getValue("live_map_boundary_island_containment")){legendString+=".islpdcon_1";legendString+=".islpdpct_99"}}if(productProperty.exists("live_map_custom_region_island")){legendString+=".islcus_"+productProperty.getValue("live_map_custom_region_island").join(";")}}else if(islandPrintEnabled==true){var islpd="";var islcus="";var islandPlace=session.get("p");if(islandPlace!=null){islpd=".islpd_"+islandPlace}var islandCustomRegions=session.get("cp");if(islandCustomRegions!=null&&$.isArray(islandCustomRegions)){islcus=".islcus_"+islandCustomRegions.join(";")}legendString+=islpd+(islpd!=""||islcus!=""?".islpdpct_25":"")+islcus}var nd=0;if(this.legend.indicator.nodata)nd++;if(this.legend.indicator.breakid==P_BREAKTYPE_EXACT_VALUE_ID||this.legend.indicator.breakid==P_BREAKTYPE_EXACT_VALUE_CUSTOM_ID)nd+=this.legend.getNumberOfBreaks();if(nd>0)legendString+=":nd_"+nd;layers+=","+legendString}if(this.mergedLayers[i].opacity<1&&!this.mergedLayers[i].client)layers+=":o_"+this.mergedLayers[i].opacity;if(i==0&&typeof legendMerger!="undefined"&&legendMerger.getName().length>0)layers+=","+legendMerger.getName();layers+=","}}layers=layers.substring(0,layers.length-1)}layers=layers.replace(/&/g,"%26");layers=layers.replace(/#/g,"%23");layers=layers.replace(/\+/g,"%2B");return layers};_layer.prototype.buildTileURL=function(t,l,mapName,scale,force,group,layer,imageFormat){var kamap=this._map.kaMap;var server=this.tileServers.isEmpty()==true?kamap.server:this.tileServers.next((t+l)/kamap.tileWidth);if(kamap.isDirectTileAccess==true){var layers=this.buildLayerList(scale);var nocache="";if(layers.indexOf("type%3Ddl")!=-1){nocache="&nocache=1&cacheid="+(new Date).getTime()}var src="";if(scale&&layers!=""){var metaTop=Math.floor(t/1e3)*1e3;var metaLeft=Math.floor(l/1e3)*1e3;src=server+"/"+mapName+"/"+scale+"/"+layer+"/"+layers+"/meta_t"+metaTop+"/t"+metaTop+"l"+metaLeft+"/t"+t+"l"+l+".png"}var tileDirect=(this.debug.getCookie("developerControlPanelTilerDebug")||this.debug.getCookie("developerControlPanelTilerNoCache"))==null?false:true;if(nocache!=""||layers.length>255||layers.match(".*pins_.*:data_.*")||tileDirect==true){var url=server.split("/");src=url[0]+"//"+url[2]+"/"+kamap.directTilePath+"?s="+scale+"&t="+t+"&l="+l+"&layers="+layers+nocache}return src}};function _eventManager(){this.events=[];this.lastEventID=0}_eventManager.prototype.registerEventID=function(eventID){var ev=new String(eventID);if(!this.events[eventID]){this.events[eventID]=[]}};_eventManager.prototype.registerForEvent=function(eventID,obj,func){var ev=new String(eventID);this.events[eventID].push([obj,func])};_eventManager.prototype.deregisterForEvent=function(eventID,obj,func){var ev=new String(eventID);var bResult=false;if(!this.events[eventID])return false;for(var i=0;i<this.events[eventID].length;i++){if(this.events[eventID][i][0]==obj&&this.events[eventID][i][1]==func){this.events[eventID].splice(i,1);bResult=true}}return bResult};_eventManager.prototype.triggerEvent=function(eventID){var ev=new String(eventID);if(!this.events[eventID])return false;var args=new Array;for(i=1;i<arguments.length;i++){args[args.length]=arguments[i]}for(var i=0;i<this.events[eventID].length;i++){this.events[eventID][i][1].apply(this.events[eventID][i][0],args)}return true};var goQueueManager=new _queueManager;function _queueManager(){this.queue=new Array}_queueManager.prototype.enqueue=function(timeout,obj,func,args){var pos=this.queue.length;for(var i=0;i<this.queue.length;i++){if(this.queue[i]==null){pos=i;break}}var id=window.setTimeout("_queueManager_execute("+pos+")",timeout);this.queue[pos]=new Array(id,obj,func,args);return pos};_queueManager.prototype.dequeue=function(pos){if(this.queue[pos]!=null){window.clearTimeout(this.queue[pos][0]);this.queue[pos]=null}};function _queueManager_execute(pos){if(goQueueManager.queue[pos]!=null){var obj=goQueueManager.queue[pos][1];var func=goQueueManager.queue[pos][2];if(goQueueManager.queue[pos][3]!=null)func.apply(obj,goQueueManager.queue[pos][3]);else func.apply(obj);goQueueManager.queue[pos]=null}}var kaCurrentTool=null;function kaTool(oKaMap){this.kaMap=oKaMap;this.kaMap.registerTool(this);this.name="kaTool"}kaTool.prototype.activate=function(){this.kaMap.activateTool(this);document.kaCurrentTool=this};kaTool.prototype.deactivate=function(){this.kaMap.deactivateTool(this);document.kaCurrentTool=null};kaTool.prototype.onmousemove=function(e){return false};kaTool.prototype.onmousedown=function(e){return false};kaTool.prototype.onmouseup=function(e){return false};kaTool.prototype.onclick=function(e){return false};kaTool.prototype.ondblclick=function(e){return false};kaTool.prototype.onmousewheel=function(e){e=e?e:event?event:null;var wheelDelta=e.wheelDelta?e.wheelDelta:e.detail*-1;if(wheelDelta>0)this.kaMap.zoomIn();else this.kaMap.zoomOut();return false};kaTool.prototype.adjustPixPosition=function(x,y){var obj=this.kaMap.domObj;var offsetLeft=0;var offsetTop=0;var widthOffsetHeight=0;var widthOffsetWidth=0;offsetLeft=$(obj).offset().left;offsetTop=$(obj).offset().top;var pX=parseInt(this.kaMap.theInsideLayer.style.left)+offsetLeft-this.kaMap.xOrigin-x;var pY=parseInt(this.kaMap.theInsideLayer.style.top)+offsetTop-this.kaMap.yOrigin-y;return[pX,pY]};kaTool.prototype.getMousePosition=function(e){e=e?e:event?event:null;var posX=0,posY=0;if(e.pageX&&e.pageY){posX=e.pageX;posY=e.pageY}else{var iebody=document.compatMode&&document.compatMode!="BackCompat"?document.documentElement:document.body;var scrollX=iebody.scrollLeft?iebody.scrollLeft:window.pageXOffset?window.pageXOffset:0;var scrollY=iebody.scrollTop?iebody.scrollTop:window.pageYOffset?window.pageYOffset:0;posX=e.clientX+scrollX;posY=e.clientY+scrollY}return[posX,posY]};function kaTool_redirect_onkeypress(e){if(document.kaCurrentTool)document.kaCurrentTool.onkeypress(e)}kaTool.prototype.onkeypress=function(e){e=e?e:event?event:null;if(e){var charCode=e.charCode?e.charCode:e.keyCode;var b=true;var nStep=16;switch(charCode){case 38:this.kaMap.moveBy(0,nStep);this.kaMap.triggerEvent(KAMAP_EXTENTS_CHANGED,this.kaMap.getGeoExtents());break;case 40:this.kaMap.moveBy(0,-nStep);this.kaMap.triggerEvent(KAMAP_EXTENTS_CHANGED,this.kaMap.getGeoExtents());break;case 37:this.kaMap.moveBy(nStep,0);this.kaMap.triggerEvent(KAMAP_EXTENTS_CHANGED,this.kaMap.getGeoExtents());break;case 39:this.kaMap.moveBy(-nStep,0);this.kaMap.triggerEvent(KAMAP_EXTENTS_CHANGED,this.kaMap.getGeoExtents());break;case 33:this.kaMap.slideBy(0,this.kaMap.viewportHeight/2);break;case 34:this.kaMap.slideBy(0,-this.kaMap.viewportHeight/2);break;case 36:this.kaMap.slideBy(this.kaMap.viewportWidth/2,0);break;case 35:this.kaMap.slideBy(-this.kaMap.viewportWidth/2,0);break;case 43:this.kaMap.zoomIn();break;case 45:this.kaMap.zoomOut();break;default:b=false}if(b){return this.cancelEvent(e)}return true}};kaTool.prototype.onmouseover=function(e){return false};kaTool.prototype.onmouseout=function(e){if(this.kaMap.isIE4)document.onkeydown=null;document.onkeypress=null;return false};kaTool.prototype.cancelEvent=function(e){e=e?e:event?event:null;e.cancelBubble=true;if(e.stopPropogation)e.stopPropogation();if(e.preventDefault)e.preventDefault();return false};function kaNavigator(oKaMap){kaTool.apply(this,[oKaMap]);this.name="kaNavigator";this.cursor="move";this.activeImage=this.kaMap.server+"va-images/button_pan_3.png";this.disabledImage=this.kaMap.server+"va-images/button_pan_2.png";this.lastx=null;this.lasty=null;this.bMouseDown=false;this.bMouseDrag=false;this.allowClick=true;for(var p in kaTool.prototype){if(!kaNavigator.prototype[p])kaNavigator.prototype[p]=kaTool.prototype[p]}}kaNavigator.prototype.onmouseout=function(e){e=e?e:event?event:null;if(!e.target)e.target=e.srcElement;if(e.target.id==this.kaMap.domObj.id){this.bMouseDown=false;return kaTool.prototype.onmouseout.apply(this,[e])}};kaNavigator.prototype.onmousemove=function(e){e=e?e:event?event:null;var moveevent;if(e.touches&&e.touches.length==1){moveevent=e.touches[0];e.preventDefault()}else{if(!this.bMouseDown){return false}else{moveevent=e}}if(!this.bMouseDrag){this.kaMap.triggerEvent(KAMAP_DRAG_START);this.kaMap.triggerEvent(KAMAP_MOVE_START);this.bMouseDrag=true}this.kaMap.triggerEvent(KAMAP_MOVE);this.kaMap.triggerEvent(KAMAP_DRAG);if(!this.kaMap.layersHidden){this.kaMap.hideLayers()}var newTop=safeParseInt(this.kaMap.theInsideLayer.style.top);var newLeft=safeParseInt(this.kaMap.theInsideLayer.style.left);newTop=newTop-this.lasty+(moveevent.clientY||moveevent.pageY);newLeft=newLeft-this.lastx+(moveevent.clientX||moveevent.pageX);this.kaMap.theInsideLayer.style.top=newTop+"px";this.kaMap.theInsideLayer.style.left=newLeft+"px";this.kaMap.checkWrap.apply(this.kaMap,[]);this.lastx=moveevent.clientX||moveevent.pageX;this.lasty=moveevent.clientY||moveevent.pageY;return false};kaNavigator.prototype.onmousedown=function(e){e=e?e:event?event:null;var moveevent;if(e.touches&&e.touches.length==1){moveevent=e.touches[0]}else{if(e.button==2){return this.cancelEvent(e)}else{moveevent=e}}if(this.kaMap.isIE4)document.onkeydown=kaTool_redirect_onkeypress;document.onkeypress=kaTool_redirect_onkeypress;this.bMouseDown=true;this.allowClick=true;this.lastx=moveevent.clientX||moveevent.pageX;this.lasty=moveevent.clientY||moveevent.pageY;e.cancelBubble=true;e.preventDefault();if(moveevent.stopPropogation)moveevent.stopPropogation();if(moveevent.preventDefault)moveevent.preventDefault();return false};kaNavigator.prototype.onmouseup=function(e){e=e?e:event?event:null;this.bMouseDown=false;if(this.bMouseDrag){this.kaMap.triggerEvent(KAMAP_EXTENTS_CHANGED,this.kaMap.getGeoExtents());this.kaMap.triggerEvent(KAMAP_DRAG_END);this.bMouseDrag=false;this.allowClick=false}this.kaMap.showLayers();return false};kaNavigator.prototype.onclick=function(e){e=e?e:event?event:null;return false};kaNavigator.prototype.ondblclick=function(e){var pos=this.getMousePosition(e);var aPixPos=this.adjustPixPosition(pos[0],pos[1]);var vpX=this.kaMap.viewportWidth/2;var vpY=this.kaMap.viewportHeight/2;var dx=parseInt(this.kaMap.theInsideLayer.style.left)-this.kaMap.xOrigin-vpX-aPixPos[0];var dy=parseInt(this.kaMap.theInsideLayer.style.top)-this.kaMap.yOrigin-vpY-aPixPos[1];this.kaMap.slideBy(-dx,-dy)};var spacer="transparentpixel.gif";var CLONE="C10nE";var COPY="C0pY";var DETACH_CHILDREN="d37aCH";var HORIZONTAL="H0r1Z";var MAXHEIGHT="m7x8I";var MAXOFFBOTTOM="m7xd0wN";var MAXOFFLEFT="m7x23Ft";var MAXOFFRIGHT="m7x0Ff8";var MAXOFFTOP="m7xu9";var MAXWIDTH="m7xW1";var MINWIDTH="m1nw1";var MINHEIGHT="m1n8I";var NO_ALT="no81T";var NO_DRAG="N0d4Ag";var RESET_Z="r35E7z";var RESIZABLE="r5IZbl";var SCALABLE="SCLbl";var SCROLL="sC8lL";var TRANSPARENT="dIApHAn";var VERTICAL="V3Rt1C";var dd_cursors=new Array("c:default","c:crosshair","c:e-resize","c:hand","c:help","c:move","c:n-resize","c:ne-resize","c:nw-resize","c:s-resize","c:se-resize","c:sw-resize","c:text","c:w-resize","c:wait");var dd_i=dd_cursors.length;while(dd_i--)eval("var CURSOR_"+dd_cursors[dd_i].substring(2).toUpperCase().replace("-","_")+' = "'+dd_cursors[dd_i]+'";');function WZDD(){this.elements=new Array(0);this.obj=null;this.n=navigator.userAgent.toLowerCase();this.db=document.compatMode&&document.compatMode.toLowerCase()!="backcompat"?document.documentElement:document.body||null;this.op=!!(window.opera&&document.getElementById);this.op6=!!(this.op&&!(this.db&&this.db.innerHTML));if(this.op&&!this.op6)document.onmousedown=new Function("e",'if (((e = e || window.event).target || e.srcElement).tagName == "IMAGE") return false;');this.ie=!!(this.n.indexOf("msie")>=0&&document.all&&this.db&&!this.op);this.iemac=!!(this.ie&&this.n.indexOf("mac")>=0);this.ie4=!!(this.ie&&!document.getElementById);this.n4=!!(document.layers&&typeof document.classes!="undefined");this.n6=!!(typeof window.getComputedStyle!="undefined"&&typeof document.createRange!="undefined");this.w3c=!!(!this.op&&!this.ie&&!this.n6&&document.getElementById);this.ce=!!(document.captureEvents&&document.releaseEvents);this.px=this.n4||this.op6?"":"px";this.tiv=this.w3c?40:10}var dd=new WZDD;dd.Int=function(d_x,d_y){return isNaN(d_y=parseInt(d_x))?0:d_y};dd.getWndW=function(){return dd.Int(dd.db&&!dd.op&&!dd.w3c&&dd.db.clientWidth?dd.db.clientWidth:window.innerWidth||0)};dd.getWndH=function(){return dd.Int(dd.db&&!dd.op&&!dd.w3c&&dd.db.clientHeight?dd.db.clientHeight:window.innerHeight||0)};dd.getScrollX=function(){return dd.Int(window.pageXOffset||(dd.db?dd.db.scrollLeft:0))};dd.getScrollY=function(){return dd.Int(window.pageYOffset||(dd.db?dd.db.scrollTop:0))};dd.getPageXY=function(d_o){if(dd.n4&&d_o){dd.x=d_o.pageX||0;dd.y=d_o.pageY||0}else{dd.x=dd.y=0;while(d_o){dd.x+=dd.Int(d_o.offsetLeft);dd.y+=dd.Int(d_o.offsetTop);d_o=d_o.offsetParent||null}}};dd.getCssXY=function(d_o){if(d_o.div){if(dd.n4){d_o.cssx=d_o.div.x;d_o.cssy=d_o.div.y}else if(dd.ie4){d_o.cssx=d_o.css.pixelLeft;d_o.cssy=d_o.css.pixelTop}else{d_o.css.left=d_o.css.top=0+dd.px;dd.getPageXY(d_o.div);d_o.cssx=d_o.x-dd.x;d_o.cssy=d_o.y-dd.y;d_o.css.left=d_o.cssx+dd.px;d_o.css.top=d_o.cssy+dd.px}}else{d_o.cssx=0;d_o.cssy=0}};dd.getImgW=function(d_o){return d_o?dd.Int(d_o.width):0};dd.getImgH=function(d_o){return d_o?dd.Int(d_o.height):0};dd.getDivW=function(d_o){return dd.Int(dd.n4?d_o.div?d_o.div.clip.width:0:d_o.div?d_o.div.offsetWidth||d_o.css.pixelWidth||d_o.css.width||0:0)};dd.getDivH=function(d_o){return dd.Int(dd.n4?d_o.div?d_o.div.clip.height:0:d_o.div?d_o.div.offsetHeight||d_o.css.pixelHeight||d_o.css.height||0:0)};dd.getWH=function(d_o){d_o.w=dd.getDivW(d_o);d_o.h=dd.getDivH(d_o);if(d_o.css){d_o.css.width=d_o.w+dd.px;d_o.css.height=d_o.h+dd.px;d_o.dw=dd.getDivW(d_o)-d_o.w;d_o.dh=dd.getDivH(d_o)-d_o.h;d_o.css.width=d_o.w-d_o.dw+dd.px;d_o.css.height=d_o.h-d_o.dh+dd.px}else d_o.dw=d_o.dh=0};dd.getCssProp=function(d_o,d_pn6,d_pstyle,d_pn4){if(d_o&&dd.n6)return""+window.getComputedStyle(d_o,null).getPropertyValue(d_pn6);if(d_o&&d_o.currentStyle)return""+eval("d_o.currentStyle."+d_pstyle);if(d_o&&d_o.style)return""+eval("d_o.style."+d_pstyle);if(d_o&&dd.n4)return""+eval("d_o."+d_pn4);return""};dd.getDiv=function(d_x,d_d){d_d=d_d||document;if(dd.n4){if(d_d.layers[d_x])return d_d.layers[d_x];for(var d_i=d_d.layers.length;d_i--;){var d_y=dd.getDiv(d_x,d_d.layers[d_i].document);if(d_y)return d_y}}if(dd.ie)return d_d.all[d_x]||null;if(d_d.getElementById)return d_d.getElementById(d_x)||null;return null};dd.getImg=function(d_o,d_nm,d_xy,d_w){d_w=d_w||window;var d_img;if(document.images&&(d_img=d_w.document.images[d_nm])&&d_img.name==d_nm){if(d_xy){if(dd.n4){dd.getPageXY(d_w);d_o.defx=d_img.x+dd.x;d_o.defy=d_img.y+dd.y}else{dd.getPageXY(d_img);d_o.defx=dd.x;d_o.defy=dd.y}}return d_img}if(dd.n4)for(var d_i=d_w.document.layers.length;d_i--;){var d_y=dd.getImg(d_o,d_nm,d_xy,d_w.document.layers[d_i]);if(d_y)return d_y}return null};dd.getParent=function(d_o,d_p){if(dd.n4){for(d_p,d_i=dd.elements.length;d_i--;){if(!(d_p=dd.elements[d_i]).is_image&&d_p.div&&(d_p.div.document.layers[d_o.name]||d_o.oimg&&d_p.div.document.images[d_o.oimg.name]))d_p.addChild(d_o,d_p.detach,1)}}else{d_p=d_o.is_image?dd.getImg(d_o,d_o.oimg.name):d_o.div||null;while(d_p&&!!(d_p=d_p.offsetParent||d_p.parentNode||null)){if(d_p.ddObj){d_p.ddObj.addChild(d_o,d_p.ddObj.detach,1);break}}}};dd.getCmd=function(d_o,d_cmd,d_cmdStr){var d_i=d_o.id.indexOf(d_cmd),d_j,d_y=(d_i>=0)*1;if(d_y){d_j=d_i+d_cmd.length;if(d_cmdStr)d_o.cmd+=d_o.id.substring(d_i,d_j);d_o.id=d_o.id.substring(0,d_i)+d_o.id.substring(d_j)}return d_y};dd.getCmdVal=function(d_o,d_cmd,d_cmdStr,int0){var d_i=d_o.id.indexOf(d_cmd),d_j,d_y=d_o.id.indexOf(d_cmd)>=0?dd.Int(d_o.id.substring(d_o.id.indexOf(d_cmd)+d_cmd.length)):int0?-1:0;if(!int0&&d_y||int0&&d_y>=0){d_j=d_i+d_cmd.length+(""+d_y).length;if(d_cmdStr)d_o.cmd+=d_o.id.substring(d_i,d_j);d_o.id=d_o.id.substring(0,d_i)+d_o.id.substring(d_j)}return d_y};dd.addElt=function(d_o,d_p){dd.elements[d_o.name]=dd.elements[d_o.index=dd.elements.length]=d_o;if(d_p)d_p.copies[d_o.name]=d_p.copies[d_p.copies.length]=d_o};dd.mkWzDom=function(){var d_o,d_i=dd.elements.length;while(d_i--)dd.getParent(dd.elements[d_i]);d_i=dd.elements.length;while(d_i--){d_o=dd.elements[d_i];if(d_o.children&&!d_o.parent){var d_j=d_o.children.length;while(d_j--)d_o.children[d_j].setZ(d_o.z+d_o.children[d_j].z,1)}}};dd.addProps=function(d_o){var d_i,d_c;if(d_o.is_image){d_o.div=dd.getDiv(d_o.id);if(d_o.div&&typeof d_o.div.style!="undefined")d_o.css=d_o.div.style;d_o.nimg=dd.n4&&d_o.div?d_o.div.document.images[0]:document.images[d_o.id+"NImG"]||null;if(d_o.nimg&&!d_o.noalt&&!dd.noalt){d_o.nimg.alt=d_o.oimg.alt||"";if(d_o.oimg.title)d_o.nimg.title=d_o.oimg.title}d_o.bgColor=""}else{d_o.bgColor=dd.getCssProp(d_o.div,"background-color","backgroundColor","bgColor").toLowerCase();if(dd.n6&&d_o.div){if((d_c=d_o.bgColor).indexOf("rgb")>=0){d_c=d_c.substring(4,d_c.length-1).split(",");d_o.bgColor="#";for(d_i=0;d_i<d_c.length;d_i++)d_o.bgColor+=parseInt(d_c[d_i]).toString(16)}else d_o.bgColor=d_c}}if(dd.scalable)d_o.scalable=d_o.resizable^1;else if(dd.resizable)d_o.resizable=d_o.scalable^1;d_o.setZ(d_o.defz);d_o.cursor=d_o.cursor||dd.cursor||"auto";d_o._setCrs(d_o.nodrag?"auto":d_o.cursor);d_o.diaphan=d_o.diaphan||dd.diaphan||0;d_o.opacity=1;d_o.visible=true};dd.initz=function(){if(!(dd&&(dd.n4||dd.n6||dd.ie||dd.op||dd.w3c)))return;if(dd.op6)WINSZ(2);else if(dd.n6||dd.ie||dd.op&&!dd.op6||dd.w3c)dd.recalc(1);var d_drag=document.onmousemove==DRAG,d_resize=document.onmousemove==RESIZE;if(dd.loadFunc)dd.loadFunc();if(d_drag&&document.onmousemove!=DRAG)dd.setEvtHdl(1,DRAG);else if(d_resize&&document.onmousemove!=RESIZE)dd.setEvtHdl(1,RESIZE);if((d_drag||d_resize)&&document.onmouseup!=DROP)dd.setEvtHdl(2,DROP);dd.setEvtHdl(0,PICK)};dd.finlz=function(){if(dd.ie&&dd.elements){var d_i=dd.elements.length;while(d_i--)dd.elements[d_i].del()}};dd.setEvtHdl=function(d_typ,d_func){if(!d_typ){if(document.onmousedown!=d_func)dd.downFunc=document.onmousedown||null;document.onmousedown=d_func}else if(d_typ&1){if(document.onmousemove!=d_func)dd.moveFunc=document.onmousemove||null;document.onmousemove=d_func}else{if(document.onmouseup!=d_func)dd.upFunc=document.onmouseup||null;document.onmouseup=d_func}if(dd.ce){var d_e=!d_typ?Event.MOUSEDOWN:d_typ&1?Event.MOUSEMOVE:Event.MOUSEUP;d_func?document.captureEvents(d_e):document.releaseEvents(d_e)}};dd.evt=function(d_e){this.but=(this.e=d_e||window.event).which||this.e.button||0;this.button=this.e.type=="mousedown"?this.but:dd.e&&dd.e.button?dd.e.button:0;this.src=this.e.target||this.e.srcElement||null;this.src.tag=(""+(this.src.tagName||this.src)).toLowerCase();this.x=dd.Int(this.e.pageX||this.e.clientX||0);this.y=dd.Int(this.e.pageY||this.e.clientY||0);if(dd.ie){this.x+=dd.getScrollX()-(dd.ie&&!dd.iemac)*1;this.y+=dd.getScrollY()-(dd.ie&&!dd.iemac)*1}this.modifKey=this.e.modifiers?this.e.modifiers&Event.SHIFT_MASK:this.e.shiftKey||false};dd.recalc=function(d_x){var d_o,d_i=dd.elements.length;while(d_i--){if(!(d_o=dd.elements[d_i]).is_image&&d_o.div){dd.getWH(d_o);if(d_o.div.pos_rel){dd.getPageXY(d_o.div);var d_dx=dd.x-d_o.x,d_dy=dd.y-d_o.y;d_o.defx+=d_dx;d_o.x+=d_dx;d_o.defy+=d_dy;d_o.y+=d_dy;var d_p,d_j=d_o.children.length;while(d_j--){if(!(d_p=d_o.children[d_j]).detached&&(d_o!=d_p.defparent||!(d_p.is_image&&dd.getImg(d_p,d_p.oimg.name,1)))){d_p.defx+=d_dx;d_p.defy+=d_dy;d_p.moveBy(d_dx,d_dy)}}}}else if(d_o.is_image&&!dd.op6&&!dd.n4){if(dd.n6&&d_x&&!d_o.defw)d_o.resizeTo(d_o.defw=dd.getImgW(d_o.oimg),d_o.defh=dd.getImgH(d_o.oimg));var d_defx=d_o.defx,d_defy=d_o.defy;if(!(d_o.parent&&d_o.parent!=d_o.defparent)&&(d_x||!d_o.detached||d_o.horizontal||d_o.vertical)&&dd.getImg(d_o,d_o.oimg.name,1))d_o.moveBy(d_o.defx-d_defx,d_o.defy-d_defy)}}};function WINSZ(d_x){if(d_x){if(dd.n4||dd.op6&&d_x&2){dd.iW=innerWidth;dd.iH=innerHeight;if(dd.op6)setTimeout("WINSZ()",511)}window.onresize=new Function("WINSZ();")}else if((dd.n4||dd.op6)&&(innerWidth!=dd.iW||innerHeight!=dd.iH))location.reload();else if(dd.op6)setTimeout("WINSZ()",511);else if(!dd.n4)setTimeout("dd.recalc()",10)}WINSZ(1);function DDObj(d_o,d_i){this.id=d_o;this.cmd="";this.cpy_n=dd.getCmdVal(this,COPY);this.maxoffb=dd.getCmdVal(this,MAXOFFBOTTOM,0,1);this.maxoffl=dd.getCmdVal(this,MAXOFFLEFT,0,1);this.maxoffr=dd.getCmdVal(this,MAXOFFRIGHT,0,1);this.maxofft=dd.getCmdVal(this,MAXOFFTOP,0,1);var d_j=dd_cursors.length;while(d_j--)if(dd.getCmd(this,dd_cursors[d_j],1))this.cursor=dd_cursors[d_j].substring(2);this.clone=dd.getCmd(this,CLONE,1);this.detach=dd.getCmd(this,DETACH_CHILDREN);
this.scalable=dd.getCmd(this,SCALABLE,1);this.horizontal=dd.getCmd(this,HORIZONTAL);this.noalt=dd.getCmd(this,NO_ALT,1);this.nodrag=dd.getCmd(this,NO_DRAG);this.scroll=dd.getCmd(this,SCROLL,1);this.resizable=dd.getCmd(this,RESIZABLE,1);this.re_z=dd.getCmd(this,RESET_Z,1);this.diaphan=dd.getCmd(this,TRANSPARENT,1);this.vertical=dd.getCmd(this,VERTICAL);this.maxw=dd.getCmdVal(this,MAXWIDTH,1,1);this.minw=Math.abs(dd.getCmdVal(this,MINWIDTH,1,1));this.maxh=dd.getCmdVal(this,MAXHEIGHT,1,1);this.minh=Math.abs(dd.getCmdVal(this,MINHEIGHT,1,1));this.name=this.id+(d_i||"");this.oimg=dd.getImg(this,this.id,1);this.is_image=!!this.oimg;this.copies=new Array;this.children=new Array;this.parent=this.original=null;if(this.oimg){this.id=this.name+"div";this.w=dd.getImgW(this.oimg);this.h=dd.getImgH(this.oimg);this.dw=this.dh=0;this.defz=dd.Int(dd.getCssProp(this.oimg,"z-index","zIndex","zIndex"))||1;this.defsrc=this.src=this.oimg.src;this.htm='<img name="'+this.id+'NImG"'+' src="'+this.oimg.src+'" '+'width="'+this.w+'" height="'+this.h+'">';this.t_htm='<div id="'+this.id+'" style="position:absolute;'+"left:"+(this.cssx=this.x=this.defx)+"px;"+"top:"+(this.cssy=this.y=this.defy)+"px;"+"width:"+this.w+"px;"+"height:"+this.h+'px;">'+this.htm+"</div>"}else{if(!!(this.div=dd.getDiv(this.id))&&typeof this.div.style!="undefined")this.css=this.div.style;dd.getWH(this);if(this.div){this.div.ddObj=this;this.div.pos_rel=""+(this.div.parentNode?this.div.parentNode.tagName:this.div.parentElement?this.div.parentElement.tagName:"").toLowerCase().indexOf("body")<0}dd.getPageXY(this.div);this.defx=this.x=dd.x;this.defy=this.y=dd.y;dd.getCssXY(this);this.defz=dd.Int(dd.getCssProp(this.div,"z-index","zIndex","zIndex"))}this.defw=this.w||0;this.defh=this.h||0}DDObj.prototype.moveBy=function(d_x,d_y,d_kds,d_o){if(!this.div)return;this.x+=d_x=dd.Int(d_x);this.y+=d_y=dd.Int(d_y);if(!d_kds||this.is_image||this.parent!=this.defparent){(d_o=this.css||this.div).left=(this.cssx+=d_x)+dd.px;d_o.top=(this.cssy+=d_y)+dd.px}var d_i=this.children.length;while(d_i--){if(!(d_o=this.children[d_i]).detached)d_o.moveBy(d_x,d_y,1);d_o.defx+=d_x;d_o.defy+=d_y}};DDObj.prototype.moveTo=function(d_x,d_y){this.moveBy(dd.Int(d_x)-this.x,dd.Int(d_y)-this.y)};DDObj.prototype.hide=function(d_m,d_o,d_p){if(this.div&&this.visible){d_p=this.css||this.div;if(d_m&&!dd.n4){this.display=dd.getCssProp(this.div,"display","display","display");if(this.oimg){this.oimg.display=dd.getCssProp(this.oimg,"display","display","display");this.oimg.style.display="none"}d_p.display="none";dd.recalc()}else d_p.visibility="hidden"}this.visible=false;var d_i=this.children.length;while(d_i--)if(!(d_o=this.children[d_i]).detached)d_o.hide(d_m)};DDObj.prototype.show=function(d_o,d_p){if(this.div){d_p=this.css||this.div;if(d_p.display&&d_p.display=="none"){d_p.display=this.display||"block";if(this.oimg)this.oimg.style.display=this.oimg.display||"inline";dd.recalc()}else d_p.visibility="visible"}this.visible=true;var d_i=this.children.length;while(d_i--)if(!(d_o=this.children[d_i]).detached)d_o.show()};DDObj.prototype.resizeTo=function(d_w,d_h,d_o){if(!this.div)return;d_w=(this.w=dd.Int(d_w))-this.dw;d_h=(this.h=dd.Int(d_h))-this.dh;if(dd.n4){this.div.resizeTo(d_w,d_h);if(this.is_image){this.write('<img src="'+this.src+'" width="'+d_w+'" height="'+d_h+'">');(this.nimg=this.div.document.images[0]).src=this.src}}else if(typeof this.css.pixelWidth!="undefined"){this.css.pixelWidth=d_w;this.css.pixelHeight=d_h;if(this.is_image){(d_o=this.nimg.style).pixelWidth=d_w;d_o.pixelHeight=d_h}}else{this.css.width=d_w+dd.px;this.css.height=d_h+dd.px;if(this.is_image){(d_o=this.nimg).width=d_w;d_o.height=d_h;if(!d_o.complete)d_o.src=this.src}}};DDObj.prototype.resizeBy=function(d_dw,d_dh){this.resizeTo(this.w+dd.Int(d_dw),this.h+dd.Int(d_dh))};DDObj.prototype.swapImage=function(d_x,d_cp){if(!this.nimg)return;this.nimg.src=d_x;this.src=this.nimg.src;if(d_cp){var d_i=this.copies.length;while(d_i--)this.copies[d_i].src=this.copies[d_i].nimg.src=this.nimg.src}};DDObj.prototype.setBgColor=function(d_x){if(dd.n4&&this.div)this.div.bgColor=d_x;else if(this.css)this.css.background=d_x;this.bgColor=d_x};DDObj.prototype.write=function(d_x,d_o){this.text=d_x;if(!this.div)return;if(dd.n4){(d_o=this.div.document).open();d_o.write(d_x);d_o.close();dd.getWH(this)}else if(!dd.op6){this.css.height="auto";this.div.innerHTML=d_x;if(!dd.ie4)dd.recalc();if(dd.ie4||dd.n6)setTimeout("dd.recalc();",0)}};DDObj.prototype.copy=function(d_n,d_p){if(!this.oimg)return;d_n=d_n||1;while(d_n--){var d_l=this.copies.length,d_o=new DDObj(this.name+this.cmd,d_l+1);if(dd.n4){d_o.id=(d_p=new Layer(d_o.w)).name;d_p.clip.height=d_o.h;d_p.visibility="show";(d_p=d_p.document).open();d_p.write(d_o.htm);d_p.close()}else if(dd.db.insertAdjacentHTML)dd.db.insertAdjacentHTML("AfterBegin",d_o.t_htm);else if(document.createElement&&dd.db&&dd.db.appendChild){dd.db.appendChild(d_p=document.createElement("div"));d_p.innerHTML=d_o.htm;d_p.id=d_o.id;d_p.style.position="absolute";d_p.style.width=d_o.w+"px";d_p.style.height=d_o.h+"px"}else if(dd.db&&dd.db.innerHTML)dd.db.innerHTML+=d_o.t_htm;d_o.defz=this.defz+1+d_l;dd.addProps(d_o);d_o.original=this;dd.addElt(d_o,this);if(this.parent){this.parent.addChild(d_o,this.detached);d_o.defparent=this.defparent}d_o.moveTo(d_o.defx=this.defx,d_o.defy=this.defy);if(dd.n4)d_o.defsrc=d_o.src=this.defsrc;d_o.swapImage(this.src)}};DDObj.prototype.addChild=function(d_kd,detach,defp){if(typeof d_kd!="object")d_kd=dd.elements[d_kd];if(d_kd.parent&&d_kd.parent==this||d_kd==this||!d_kd.is_image&&d_kd.defparent&&!defp)return;this.children[this.children.length]=this.children[d_kd.name]=d_kd;d_kd.detached=detach||0;if(defp)d_kd.defparent=this;else if(this==d_kd.defparent&&d_kd.is_image)dd.getImg(this,d_kd.oimg.name,1);if(!d_kd.defparent||this!=d_kd.defparent){d_kd.defx=d_kd.x;d_kd.defy=d_kd.y}if(!detach){d_kd.defz=d_kd.defz+this.defz-(d_kd.parent?d_kd.parent.defz:0)+!d_kd.is_image*1;d_kd.setZ(d_kd.z+this.z-(d_kd.parent?d_kd.parent.z:0)+!d_kd.is_image*1,1)}if(d_kd.parent)d_kd.parent._removeChild(d_kd,1);d_kd.parent=this};DDObj.prototype._removeChild=function(d_kd,d_newp){if(typeof d_kd!="object")d_kd=this.children[d_kd];var d_oc=this.children,d_nc=new Array;for(var d_i=0;d_i<d_oc.length;d_i++)if(d_oc[d_i]!=d_kd)d_nc[d_nc.length]=d_oc[d_i];this.children=d_nc;d_kd.parent=null;if(!d_newp){d_kd.detached=d_kd.defp=0;if(d_kd.is_image)dd.getImg(d_kd,d_kd.oimg.name,1)}};DDObj.prototype.attachChild=function(d_kd){(d_kd=typeof d_kd!="object"?this.children[d_kd]:d_kd).detached=0;d_kd.setZ(d_kd.defz+this.z-this.defz,1)};DDObj.prototype.detachChild=function(d_kd){(d_kd=typeof d_kd!="object"?this.children[d_kd]:d_kd).detached=1};DDObj.prototype.setZ=function(d_x,d_kds,d_o){if(d_kds){var d_dz=d_x-this.z,d_i=this.children.length;while(d_i--)if(!(d_o=this.children[d_i]).detached)d_o.setZ(d_o.z+d_dz,1)}dd.z=Math.max(dd.z,this.z=this.div?(this.css||this.div).zIndex=d_x:0)};DDObj.prototype.maximizeZ=function(){this.setZ(dd.z+1,1)};DDObj.prototype._resetZ=function(d_o){if(this.re_z||dd.re_z){this.setZ(this.defz);var d_i=this.children.length;while(d_i--)if(!(d_o=this.children[d_i]).detached)d_o.setZ(d_o.defz)}};DDObj.prototype.setOpacity=function(d_x){this.opacity=d_x;this._setOpaRel(1,1)};DDObj.prototype._setOpaRel=function(d_x,d_kd,d_y,d_o){if(this.diaphan||d_kd){d_y=this.opacity*d_x;if(dd.n6)this.css.MozOpacity=d_y;else if(dd.ie&&!dd.iemac&&typeof this.div.filters!="undefined")this.div.filters[0].opacity=parseInt(100*d_y);else if(this.css)this.css.opacity=d_y;var d_i=this.children.length;while(d_i--)if(!(d_o=this.children[d_i]).detached)d_o._setOpaRel(d_x,1)}};DDObj.prototype.setCursor=function(d_x){this._setCrs(this.cursor=d_x.indexOf("c:")+1?d_x.substring(2):d_x)};DDObj.prototype._setCrs=function(d_x){if(this.css)this.css.cursor=(!dd.ie||dd.iemac)&&d_x=="hand"?"pointer":d_x};DDObj.prototype.setDraggable=function(d_x){this.nodrag=!d_x*1;this._setCrs(d_x?this.cursor:"auto")};DDObj.prototype.setResizable=function(d_x){this.resizable=d_x*1;if(d_x)this.scalable=0};DDObj.prototype.setScalable=function(d_x){this.scalable=d_x*1;if(d_x)this.resizable=0};DDObj.prototype.del=function(d_os,d_o){var d_i;if(this.parent&&this.parent._removeChild)this.parent._removeChild(this);if(this.original){this.hide();if(this.original.copies){d_os=new Array;for(d_i=0;d_i<this.original.copies.length;d_i++)if((d_o=this.original.copies[d_i])!=this)d_os[d_o.name]=d_os[d_os.length]=d_o;this.original.copies=d_os}}else if(this.is_image){this.hide();if(this.oimg){if(dd.n4)this.oimg.src=this.defsrc;else this.oimg.style.visibility="visible"}}else if(this.moveTo){if(this.css)this.css.cursor="default";this.moveTo(this.defx,this.defy);this.resizeTo(this.defw,this.defh)}d_os=new Array;for(d_i=0;d_i<dd.elements.length;d_i++){if((d_o=dd.elements[d_i])!=this)d_os[d_o.name]=d_os[d_o.index=d_os.length]=d_o;else d_o._free()}dd.elements=d_os;if(!dd.op6&&!dd.n4)dd.recalc()};DDObj.prototype._free=function(){for(var d_i in this)this[d_i]=null;dd.elements[this.name]=null};dd.n4RectVis=function(vis){for(var d_i=4;d_i--;){dd.rectI[d_i].visibility=dd.rectA[d_i].visibility=vis?"show":"hide";if(vis)dd.rectI[d_i].zIndex=dd.rectA[d_i].zIndex=dd.z+2}};dd.n4RectPos=function(d_o,d_x,d_y,d_w,d_h){d_o.x=d_x;d_o.y=d_y;d_o.clip.width=d_w;d_o.clip.height=d_h};dd.n4Rect=function(d_w,d_h){var d_i;if(!dd.rectI){dd.rectI=new Array;dd.rectA=new Array}if(!dd.rectI[0]){for(d_i=4;d_i--;){(dd.rectI[d_i]=new Layer(1)).bgColor="#000000";(dd.rectA[d_i]=new Layer(1)).bgColor="#ffffff"}}if(!dd.rectI[0].visibility||dd.rectI[0].visibility=="hide")dd.n4RectVis(1);dd.obj.w=d_w;dd.obj.h=d_h;for(d_i=4;d_i--;){dd.n4RectPos(dd.rectI[d_i],dd.obj.x+(!(d_i-1)?dd.obj.w-1:0),dd.obj.y+(!(d_i-2)?dd.obj.h-1:0),d_i&1||dd.obj.w,!(d_i&1)||dd.obj.h);dd.n4RectPos(dd.rectA[d_i],!(d_i-1)?dd.rectI[1].x+1:dd.obj.x-1,!(d_i-2)?dd.rectI[2].y+1:dd.obj.y-1,d_i&1||dd.obj.w+2,!(d_i&1)||dd.obj.h+2)}};dd.reszTo=function(d_w,d_h){if(dd.n4&&dd.obj.is_image)dd.n4Rect(d_w,d_h);else dd.obj.resizeTo(d_w,d_h)};dd.embedVis=function(d_vis){var d_o=new Array("iframe","applet","embed","object");var d_i=d_o.length;while(d_i--){var d_p=dd.ie?document.all.tags(d_o[d_i]):document.getElementsByTagName?document.getElementsByTagName(d_o[d_i]):null;if(d_p){var d_j=d_p.length;while(d_j--){var d_q=d_p[d_j];while(d_q.offsetParent||d_q.parentNode){if((d_q=d_q.parentNode||d_q.offsetParent||null)==dd.obj.div){d_p[d_j].style.visibility=d_vis;break}}}}}};dd.maxOffX=function(d_x,d_y){return dd.obj.maxoffl+1&&(d_y=dd.obj.defx-dd.obj.maxoffl)-d_x>0||dd.obj.maxoffr+1&&(d_y=dd.obj.defx+dd.obj.maxoffr)-d_x<0?d_y:d_x};dd.maxOffY=function(d_x,d_y){return dd.obj.maxofft+1&&(d_y=dd.obj.defy-dd.obj.maxofft)-d_x>0||dd.obj.maxoffb+1&&(d_y=dd.obj.defy+dd.obj.maxoffb)-d_x<0?d_y:d_x};dd.inWndW=function(d_x,d_y){var d_wx=dd.getScrollX(),d_ww=dd.getWndW();return(d_y=d_wx+2)-d_x>0||(d_y=d_wx+d_ww+dd.obj.w-2)-d_x<0?d_y:d_x};dd.inWndH=function(d_x,d_y){var d_wy=dd.getScrollY(),d_wh=dd.getWndH();return(d_y=d_wy+2)-d_x>0||(d_y=d_wy+d_wh+dd.obj.h-2)-d_x<0?d_y:d_x};dd.limW=function(d_w){return dd.obj.minw-d_w>0?dd.obj.minw:dd.obj.maxw>0&&dd.obj.maxw-d_w<0?dd.obj.maxw:d_w};dd.limH=function(d_h){return dd.obj.minh-d_h>0?dd.obj.minh:dd.obj.maxh>0&&dd.obj.maxh-d_h<0?dd.obj.maxh:d_h};function DDScroll(){if(!dd.obj||!dd.obj.scroll&&!dd.scroll||dd.op||dd.ie4||dd.whratio){dd.scrx=dd.scry=0;return}var d_bnd=28,d_wx=dd.getScrollX(),d_wy=dd.getScrollY();if(dd.msmoved){var d_ww=dd.getWndW(),d_wh=dd.getWndH(),d_y;dd.scrx=(d_y=dd.e.x-d_ww-d_wx+d_bnd)>0?(d_y>>=2)*d_y:(d_y=d_wx+d_bnd-dd.e.x)>0?-(d_y>>=2)*d_y:0;dd.scry=(d_y=dd.e.y-d_wh-d_wy+d_bnd)>0?(d_y>>=2)*d_y:(d_y=d_wy+d_bnd-dd.e.y)>0?-(d_y>>=2)*d_y:0}if(dd.scrx||dd.scry){window.scrollTo(d_wx+(dd.scrx=dd.obj.is_resized?dd.limW(dd.obj.w+dd.scrx)-dd.obj.w:dd.obj.vertical?0:dd.maxOffX(dd.obj.x+dd.scrx)-dd.obj.x),d_wy+(dd.scry=dd.obj.is_resized?dd.limH(dd.obj.h+dd.scry)-dd.obj.h:dd.obj.horizontal?0:dd.maxOffY(dd.obj.y+dd.scry)-dd.obj.y));dd.obj.is_dragged?dd.obj.moveTo(dd.obj.x+dd.getScrollX()-d_wx,dd.obj.y+dd.getScrollY()-d_wy):dd.reszTo(dd.obj.w+dd.getScrollX()-d_wx,dd.obj.h+dd.getScrollY()-d_wy)}dd.msmoved=0;window.setTimeout("DDScroll()",51)}function PICK(d_ev){dd.e=new dd.evt(d_ev);if(dd.e.x>=dd.getWndW()+dd.getScrollX()||dd.e.y>=dd.getWndH()+dd.getScrollY())return true;var d_o,d_cmp=-1,d_i=dd.elements.length;while(d_i--){d_o=dd.elements[d_i];if(dd.n4&&dd.e.but>1&&dd.e.src==d_o.oimg&&!d_o.clone)return false;if(d_o.visible&&dd.e.but<=1&&dd.e.x>=d_o.x&&dd.e.x<=d_o.x+d_o.w&&dd.e.y>=d_o.y&&dd.e.y<=d_o.y+d_o.h){if(d_o.z>d_cmp&&dd.e.src.tag.indexOf("input")<0&&dd.e.src.tag.indexOf("textarea")<0&&dd.e.src.tag.indexOf("select")<0&&dd.e.src.tag.indexOf("option")<0){d_cmp=d_o.z;dd.obj=d_o}}}if(dd.obj){if(dd.obj.nodrag)dd.obj=null;else{dd.e.e.cancelBubble=true;var d_rsz=dd.e.modifKey&&(dd.obj.resizable||dd.obj.scalable);if(dd.op&&!dd.op6){(d_o=document.getElementById("OpBlUr")).style.pixelLeft=dd.e.x;d_o.style.pixelTop=dd.e.y;(d_o=d_o.children[0].children[0]).focus();d_o.blur()}else if(dd.ie&&!dd.ie4){if(document.selection&&document.selection.empty)document.selection.empty();dd.db.onselectstart=function(){event.returnValue=false}}if(d_rsz){dd.obj._setCrs("se-resize");dd.obj.is_resized=1;dd.whratio=dd.obj.scalable?dd.obj.defw/dd.obj.defh:0;if(dd.ie){if(dd.ie4){window.dd_x=dd.getScrollX();window.dd_y=dd.getScrollY()}setTimeout("if (dd.obj && document.selection && document.selection.empty)"+"{"+"document.selection.empty();"+"if (dd.ie4) window.scrollTo(window.dd_x, window.dd_y);"+"}",0)}dd.setEvtHdl(1,RESIZE);dd.reszTo(dd.obj.w,dd.obj.h)}else{dd.obj.is_dragged=1;dd.setEvtHdl(1,DRAG)}dd.setEvtHdl(2,DROP);dd.embedVis("hidden");dd.obj._setOpaRel(.7);dd.obj.maximizeZ();dd.ofx=dd.obj.x+dd.obj.w-dd.e.x;dd.ofy=dd.obj.y+dd.obj.h-dd.e.y;if(window.my_PickFunc)my_PickFunc();DDScroll();return!(dd.obj.is_resized||dd.n4&&dd.obj.is_image||dd.n6||dd.w3c)}}if(dd.downFunc)return dd.downFunc(d_ev);return true}function DRAG(d_ev){if(!dd.obj||!dd.obj.visible)return true;if(dd.ie4||dd.w3c||dd.n6||dd.obj.children.length>15){if(dd.wait)return false;dd.wait=1;setTimeout("dd.wait = 0;",dd.tiv)}dd.e=new dd.evt(d_ev);if(dd.ie&&!dd.e.but){DROP(d_ev);return true}dd.msmoved=1;dd.obj.moveTo(dd.obj.vertical?dd.obj.x:dd.maxOffX(dd.inWndW(dd.ofx+dd.e.x)-dd.obj.w),dd.obj.horizontal?dd.obj.y:dd.maxOffY(dd.inWndH(dd.ofy+dd.e.y)-dd.obj.h));if(window.my_DragFunc)my_DragFunc();return false}function RESIZE(d_ev){if(!dd.obj||!dd.obj.visible)return true;if(dd.wait)return false;dd.wait=1;setTimeout("dd.wait = 0;",dd.tiv);dd.e=new dd.evt(d_ev);if(dd.ie&&!dd.e.but){DROP(d_ev);return true}dd.msmoved=1;var d_w=dd.limW(dd.inWndW(dd.ofx+dd.e.x)-dd.obj.x),d_h;if(!dd.whratio)d_h=dd.limH(dd.inWndH(dd.ofy+dd.e.y)-dd.obj.y);else{d_h=dd.limH(dd.inWndH(Math.round(d_w/dd.whratio)+dd.obj.y)-dd.obj.y);d_w=Math.round(d_h*dd.whratio)}dd.reszTo(d_w,d_h);if(window.my_ResizeFunc)my_ResizeFunc();return false}function DROP(d_ev){if(dd.obj){if(dd.obj.is_dragged){if(!dd.obj.is_image)dd.getWH(dd.obj)}else if(dd.n4){if(dd.obj.is_image){dd.n4RectVis(0);dd.obj.resizeTo(dd.obj.w,dd.obj.h)}}if(!dd.n4&&!dd.op6||!dd.obj.is_image)dd.recalc();dd.setEvtHdl(1,dd.moveFunc);dd.setEvtHdl(2,dd.upFunc);if(dd.db)dd.db.onselectstart=null;dd.obj._setOpaRel(1);dd.obj._setCrs(dd.obj.cursor);dd.embedVis("visible");dd.obj._resetZ();if(window.my_DropFunc){dd.e=new dd.evt(d_ev);my_DropFunc()}dd.msmoved=dd.obj.is_dragged=dd.obj.is_resized=dd.whratio=0;dd.obj=null}dd.setEvtHdl(0,PICK)}function SET_DHTML(){var d_a=arguments,d_ai,d_htm="",d_o,d_i=d_a.length;while(d_i--){if(dd.op6){var d_t0=(new Date).getTime();while((new Date).getTime()-d_t0<153);}if(!(d_ai=d_a[d_i]).indexOf("c:"))dd.cursor=d_ai.substring(2);else if(d_ai==NO_ALT)dd.noalt=1;else if(d_ai==SCROLL)dd.scroll=1;else if(d_ai==RESET_Z)dd.re_z=1;else if(d_ai==RESIZABLE)dd.resizable=1;else if(d_ai==SCALABLE)dd.scalable=1;else if(d_ai==TRANSPARENT)dd.diaphan=1;else{d_o=new DDObj(d_ai);dd.addElt(d_o);d_htm+=d_o.t_htm||"";if(d_o.oimg&&d_o.cpy_n){var d_j=0;while(d_j<d_o.cpy_n){var d_p=new DDObj(d_o.name+d_o.cmd,++d_j);dd.addElt(d_p,d_o);d_p.defz=d_o.defz+d_j;d_p.original=d_o;d_htm+=d_p.t_htm}}}}if(dd.n4||dd.n6||dd.ie||dd.op||dd.w3c)document.write((dd.n4?'<div style="position:absolute;"></div>\n':dd.op&&!dd.op6?'<div id="OpBlUr" style="position:absolute;visibility:hidden;width:0px;height:0px;"><form><input type="text" style="width:0px;height:0px;"></form></div>':"")+d_htm);dd.z=51;d_i=dd.elements.length;while(d_i--){dd.addProps(d_o=dd.elements[d_i]);if(d_o.is_image&&!d_o.original&&!d_o.clone)dd.n4?d_o.oimg.src=spacer:d_o.oimg.style.visibility="hidden"}dd.mkWzDom();if(window.onload)dd.loadFunc=window.onload;document.onmousedown=document.onmousedown||null;document.onmousemove=document.onmousemove||null;document.onmouseup=document.onmouseup||null;window.onload=dd.initz;window.onunload=dd.finlz;dd.setEvtHdl(0,PICK)}function ADD_DHTML(d_o){d_o=new DDObj(d_o);dd.addElt(d_o);dd.addProps(d_o);dd.mkWzDom()}dd.d=document;var RESET_ZINDEX=RESET_Z;var KEYDOWN_RESIZE=RESIZABLE;var CURSOR_POINTER=CURSOR_HAND;var NO_SCROLL="";function my_PickFunc(){if(dd.obj.my_PickFunc){dd.obj.my_PickFunc()}}function my_DragFunc(){if(dd.obj.my_DragFunc){dd.obj.my_DragFunc()}}function my_ResizeFunc(){if(dd.obj.my_ResizeFunc){dd.obj.my_ResizeFunc()}}function my_DropFunc(){if(dd.obj.my_DropFunc){dd.obj.my_DropFunc()}}var jg_ihtm,jg_ie,jg_fast,jg_dom,jg_moz,jg_n4=document.layers&&typeof document.classes!="undefined";function chkDHTM(x,i){x=document.body||null;jg_ie=x&&typeof x.insertAdjacentHTML!="undefined";jg_dom=x&&!jg_ie&&typeof x.appendChild!="undefined"&&typeof document.createRange!="undefined"&&typeof(i=document.createRange()).setStartBefore!="undefined"&&typeof i.createContextualFragment!="undefined";jg_ihtm=!jg_ie&&!jg_dom&&x&&typeof x.innerHTML!="undefined";jg_fast=jg_ie&&document.all&&!window.opera;jg_moz=jg_dom&&typeof x.style.MozOpacity!="undefined"}function pntDoc(){this.wnd.document.write(jg_fast?this.htmRpc():this.htm);this.htm=""}function pntCnvDom(){var x=document.createRange();x.setStartBefore(this.cnv);x=x.createContextualFragment(jg_fast?this.htmRpc():this.htm);this.cnv.appendChild(x);this.htm=""}function pntCnvIe(){this.cnv.insertAdjacentHTML("BeforeEnd",jg_fast?this.htmRpc():this.htm);this.htm=""}function pntCnvIhtm(){this.cnv.innerHTML+=this.htm;this.htm=""}function pntCnv(){this.htm=""}function mkDiv(x,y,w,h){this.htm+='<div style="position:absolute;'+"left:"+x+"px;"+"top:"+y+"px;"+"width:"+w+"px;"+"height:"+h+"px;"+"clip:rect(0,"+w+"px,"+h+"px,0);"+"background-color:"+this.color+(!jg_moz?";overflow:hidden":"")+';"></div>'}function mkDivIe(x,y,w,h){this.htm+="%%"+this.color+";"+x+";"+y+";"+w+";"+h+";"}function mkDivPrt(x,y,w,h){this.htm+='<div style="position:absolute;'+"border-left:"+w+"px solid "+this.color+";"+"left:"+x+"px;"+"top:"+y+"px;"+"width:0px;"+"height:"+h+"px;"+"clip:rect(0,"+w+"px,"+h+"px,0);"+"background-color:"+this.color+(!jg_moz?";overflow:hidden":"")+';"></div>'}function mkLyr(x,y,w,h){this.htm+="<layer "+'left="'+x+'" '+'top="'+y+'" '+'width="'+w+'" '+'height="'+h+'" '+'bgcolor="'+this.color+'"></layer>\n'}var regex=/%%([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);/g;function htmRpc(){return this.htm.replace(regex,'<div style="overflow:hidden;position:absolute;background-color:'+'$1;left:$2;top:$3;width:$4;height:$5"></div>\n')}function htmPrtRpc(){return this.htm.replace(regex,'<div style="overflow:hidden;position:absolute;background-color:'+'$1;left:$2;top:$3;width:$4;height:$5;border-left:$4px solid $1"></div>\n')}function mkLin(x1,y1,x2,y2){if(x1>x2){var _x2=x2;var _y2=y2;x2=x1;y2=y1;x1=_x2;y1=_y2}var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=y1>y2?-1:1;if(dx>=dy){var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx,ox=x;while(dx-->0){++x;if(p>0){this.mkDiv(ox,y,x-ox,1);y+=yIncr;p+=pru;ox=x}else p+=pr}this.mkDiv(ox,y,x2-ox+1,1)}else{var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy,oy=y;if(y2<=y1){while(dy-->0){if(p>0){this.mkDiv(x++,y,1,oy-y+1);y+=yIncr;p+=pru;oy=y}else{y+=yIncr;p+=pr}}this.mkDiv(x2,y2,1,oy-y2+1)}else{while(dy-->0){y+=yIncr;if(p>0){this.mkDiv(x++,oy,1,y-oy);p+=pru;oy=y}else p+=pr}this.mkDiv(x2,oy,1,y2-oy+1)}}}function mkLin2D(x1,y1,x2,y2){if(x1>x2){var _x2=x2;var _y2=y2;x2=x1;y2=y1;x1=_x2;y1=_y2}var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=y1>y2?-1:1;var s=this.stroke;if(dx>=dy){if(s-3>0){var _s=(s*dx*Math.sqrt(1+dy*dy/(dx*dx))-dx-(s>>1)*dy)/dx;_s=(!(s-4)?Math.ceil(_s):Math.round(_s))+1}else var _s=s;var ad=Math.ceil(s/2);var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx,ox=x;while(dx-->0){++x;if(p>0){this.mkDiv(ox,y,x-ox+ad,_s);y+=yIncr;p+=pru;ox=x}else p+=pr}this.mkDiv(ox,y,x2-ox+ad+1,_s)}else{if(s-3>0){var _s=(s*dy*Math.sqrt(1+dx*dx/(dy*dy))-(s>>1)*dx-dy)/dy;_s=(!(s-4)?Math.ceil(_s):Math.round(_s))+1}else var _s=s;var ad=Math.round(s/2);var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy,oy=y;if(y2<=y1){++ad;while(dy-->0){if(p>0){this.mkDiv(x++,y,_s,oy-y+ad);y+=yIncr;p+=pru;oy=y}else{y+=yIncr;p+=pr}}this.mkDiv(x2,y2,_s,oy-y2+ad)}else{while(dy-->0){y+=yIncr;if(p>0){this.mkDiv(x++,oy,_s,y-oy+ad);p+=pru;oy=y}else p+=pr}this.mkDiv(x2,oy,_s,y2-oy+ad+1)}}}function mkLinDott(x1,y1,x2,y2){if(x1>x2){var _x2=x2;var _y2=y2;x2=x1;y2=y1;x1=_x2;y1=_y2}var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=y1>y2?-1:1,drw=true;if(dx>=dy){var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx;while(dx-->0){if(drw)this.mkDiv(x,y,1,1);drw=!drw;if(p>0){y+=yIncr;p+=pru}else p+=pr;++x}if(drw)this.mkDiv(x,y,1,1)}else{var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy;while(dy-->0){if(drw)this.mkDiv(x,y,1,1);drw=!drw;y+=yIncr;if(p>0){++x;p+=pru}else p+=pr}if(drw)this.mkDiv(x,y,1,1)}}function mkOv(left,top,width,height){var a=width>>1,b=height>>1,wod=width&1,hod=(height&1)+1,cx=left+a,cy=top+b,x=0,y=b,ox=0,oy=b,aa=a*a<<1,bb=b*b<<1,st=(aa>>1)*(1-(b<<1))+bb,tt=(bb>>1)-aa*((b<<1)-1),w,h;while(y>0){if(st<0){st+=bb*((x<<1)+3);tt+=(bb<<1)*++x}else if(tt<0){st+=bb*((x<<1)+3)-(aa<<1)*(y-1);tt+=(bb<<1)*++x-aa*((y--<<1)-3);w=x-ox;h=oy-y;if(w&2&&h&2){this.mkOvQds(cx,cy,-x+2,ox+wod,-oy,oy-1+hod,1,1);this.mkOvQds(cx,cy,-x+1,x-1+wod,-y-1,y+hod,1,1)}else this.mkOvQds(cx,cy,-x+1,ox+wod,-oy,oy-h+hod,w,h);ox=x;oy=y}else{tt-=aa*((y<<1)-3);st-=(aa<<1)*--y}}this.mkDiv(cx-a,cy-oy,a-ox+1,(oy<<1)+hod);this.mkDiv(cx+ox+wod,cy-oy,a-ox+1,(oy<<1)+hod)}function mkOv2D(left,top,width,height){var s=this.stroke;width+=s-1;height+=s-1;var a=width>>1,b=height>>1,wod=width&1,hod=(height&1)+1,cx=left+a,cy=top+b,x=0,y=b,aa=a*a<<1,bb=b*b<<1,st=(aa>>1)*(1-(b<<1))+bb,tt=(bb>>1)-aa*((b<<1)-1);if(s-4<0&&(!(s-2)||width-51>0&&height-51>0)){var ox=0,oy=b,w,h,pxl,pxr,pxt,pxb,pxw;while(y>0){if(st<0){st+=bb*((x<<1)+3);tt+=(bb<<1)*++x}else if(tt<0){st+=bb*((x<<1)+3)-(aa<<1)*(y-1);tt+=(bb<<1)*++x-aa*((y--<<1)-3);w=x-ox;h=oy-y;if(w-1){pxw=w+1+(s&1);h=s}else if(h-1){pxw=s;h+=1+(s&1)}else pxw=h=s;this.mkOvQds(cx,cy,-x+1,ox-pxw+w+wod,-oy,-h+oy+hod,pxw,h);ox=x;oy=y}else{tt-=aa*((y<<1)-3);st-=(aa<<1)*--y}}this.mkDiv(cx-a,cy-oy,s,(oy<<1)+hod);this.mkDiv(cx+a+wod-s+1,cy-oy,s,(oy<<1)+hod)}else{var _a=width-(s-1<<1)>>1,_b=height-(s-1<<1)>>1,_x=0,_y=_b,_aa=_a*_a<<1,_bb=_b*_b<<1,_st=(_aa>>1)*(1-(_b<<1))+_bb,_tt=(_bb>>1)-_aa*((_b<<1)-1),pxl=new Array,pxt=new Array,_pxb=new Array;pxl[0]=0;pxt[0]=b;_pxb[0]=_b-1;while(y>0){if(st<0){st+=bb*((x<<1)+3);tt+=(bb<<1)*++x;pxl[pxl.length]=x;pxt[pxt.length]=y}else if(tt<0){st+=bb*((x<<1)+3)-(aa<<1)*(y-1);tt+=(bb<<1)*++x-aa*((y--<<1)-3);pxl[pxl.length]=x;pxt[pxt.length]=y}else{tt-=aa*((y<<1)-3);st-=(aa<<1)*--y}if(_y>0){if(_st<0){_st+=_bb*((_x<<1)+3);_tt+=(_bb<<1)*++_x;_pxb[_pxb.length]=_y-1}else if(_tt<0){_st+=_bb*((_x<<1)+3)-(_aa<<1)*(_y-1);_tt+=(_bb<<1)*++_x-_aa*((_y--<<1)-3);_pxb[_pxb.length]=_y-1}else{_tt-=_aa*((_y<<1)-3);_st-=(_aa<<1)*--_y;_pxb[_pxb.length-1]--}}}var ox=0,oy=b,_oy=_pxb[0],l=pxl.length,w,h;for(var i=0;i<l;i++){if(typeof _pxb[i]!="undefined"){if(_pxb[i]<_oy||pxt[i]<oy){x=pxl[i];this.mkOvQds(cx,cy,-x+1,ox+wod,-oy,_oy+hod,x-ox,oy-_oy);ox=x;oy=pxt[i];_oy=_pxb[i]}}else{x=pxl[i];this.mkDiv(cx-x+1,cy-oy,1,(oy<<1)+hod);this.mkDiv(cx+ox+wod,cy-oy,1,(oy<<1)+hod);ox=x;oy=pxt[i]}}this.mkDiv(cx-a,cy-oy,1,(oy<<1)+hod);this.mkDiv(cx+ox+wod,cy-oy,1,(oy<<1)+hod)}}function mkOvDott(left,top,width,height){var a=width>>1,b=height>>1,wod=width&1,hod=height&1,cx=left+a,cy=top+b,x=0,y=b,aa2=a*a<<1,aa4=aa2<<1,bb=b*b<<1,st=(aa2>>1)*(1-(b<<1))+bb,tt=(bb>>1)-aa2*((b<<1)-1),drw=true;while(y>0){if(st<0){st+=bb*((x<<1)+3);tt+=(bb<<1)*++x}else if(tt<0){st+=bb*((x<<1)+3)-aa4*(y-1);tt+=(bb<<1)*++x-aa2*((y--<<1)-3)}else{tt-=aa2*((y<<1)-3);st-=aa4*--y}if(drw)this.mkOvQds(cx,cy,-x,x+wod,-y,y+hod,1,1);drw=!drw}}function mkRect(x,y,w,h){var s=this.stroke;this.mkDiv(x,y,w,s);this.mkDiv(x+w,y,s,h);this.mkDiv(x,y+h,w+s,s);this.mkDiv(x,y+s,s,h-s)}function mkRectDott(x,y,w,h){this.drawLine(x,y,x+w,y);this.drawLine(x+w,y,x+w,y+h);this.drawLine(x,y+h,x+w,y+h);this.drawLine(x,y,x,y+h)}function jsgFont(){this.PLAIN="font-weight:normal;";this.BOLD="font-weight:bold;";this.ITALIC="font-style:italic;";this.ITALIC_BOLD=this.ITALIC+this.BOLD;this.BOLD_ITALIC=this.ITALIC_BOLD}var Font=new jsgFont;function jsgStroke(){this.DOTTED=-1}var Stroke=new jsgStroke;function jsGraphics(id,wnd){this.setColor=new Function("arg","this.color = arg.toLowerCase();");this.setStroke=function(x){this.stroke=x;if(!(x+1)){this.drawLine=mkLinDott;this.mkOv=mkOvDott;this.drawRect=mkRectDott}else if(x-1>0){this.drawLine=mkLin2D;this.mkOv=mkOv2D;this.drawRect=mkRect}else{this.drawLine=mkLin;this.mkOv=mkOv;this.drawRect=mkRect}};this.setPrintable=function(arg){this.printable=arg;if(jg_fast){this.mkDiv=mkDivIe;this.htmRpc=arg?htmPrtRpc:htmRpc}else this.mkDiv=jg_n4?mkLyr:arg?mkDivPrt:mkDiv};this.setFont=function(fam,sz,sty){this.ftFam=fam;this.ftSz=sz;this.ftSty=sty||Font.PLAIN};this.drawPolyline=this.drawPolyLine=function(x,y,s){for(var i=0;i<x.length-1;i++)this.drawLine(x[i],y[i],x[i+1],y[i+1])};this.fillRect=function(x,y,w,h){this.mkDiv(x,y,w,h)};this.drawPolygon=function(x,y){this.drawPolyline(x,y);this.drawLine(x[x.length-1],y[x.length-1],x[0],y[0])};this.drawEllipse=this.drawOval=function(x,y,w,h){this.mkOv(x,y,w,h)};this.fillEllipse=this.fillOval=function(left,top,w,h){var a=(w-=1)>>1,b=(h-=1)>>1,wod=(w&1)+1,hod=(h&1)+1,cx=left+a,cy=top+b,x=0,y=b,ox=0,oy=b,aa2=a*a<<1,aa4=aa2<<1,bb=b*b<<1,st=(aa2>>1)*(1-(b<<1))+bb,tt=(bb>>1)-aa2*((b<<1)-1),pxl,dw,dh;if(w+1)while(y>0){if(st<0){st+=bb*((x<<1)+3);tt+=(bb<<1)*++x}else if(tt<0){st+=bb*((x<<1)+3)-aa4*(y-1);pxl=cx-x;dw=(x<<1)+wod;tt+=(bb<<1)*++x-aa2*((y--<<1)-3);dh=oy-y;this.mkDiv(pxl,cy-oy,dw,dh);this.mkDiv(pxl,cy+oy-dh+hod,dw,dh);ox=x;oy=y}else{tt-=aa2*((y<<1)-3);st-=aa4*--y}}this.mkDiv(cx-a,cy-oy,w+1,(oy<<1)+hod)};this.fillPolygon=function(array_x,array_y){var i;var y;var miny,maxy;var x1,y1;var x2,y2;var ind1,ind2;var ints;var n=array_x.length;if(!n)return;miny=array_y[0];maxy=array_y[0];for(i=1;i<n;i++){if(array_y[i]<miny)miny=array_y[i];if(array_y[i]>maxy)maxy=array_y[i]}for(y=miny;y<=maxy;y++){var polyInts=new Array;ints=0;for(i=0;i<n;i++){if(!i){ind1=n-1;ind2=0}else{ind1=i-1;ind2=i}y1=array_y[ind1];y2=array_y[ind2];if(y1<y2){x1=array_x[ind1];x2=array_x[ind2]}else if(y1>y2){y2=array_y[ind1];y1=array_y[ind2];x2=array_x[ind1];x1=array_x[ind2]}else continue;if(y>=y1&&y<y2)polyInts[ints++]=Math.round((y-y1)*(x2-x1)/(y2-y1)+x1);else if(y==maxy&&y>y1&&y<=y2)polyInts[ints++]=Math.round((y-y1)*(x2-x1)/(y2-y1)+x1)}polyInts.sort(integer_compare);for(i=0;i<ints;i+=2)this.mkDiv(polyInts[i],y,polyInts[i+1]-polyInts[i]+1,1)}};this.drawString=function(txt,x,y){this.htm+='<div style="position:absolute;white-space:nowrap;'+"left:"+x+"px;"+"top:"+y+"px;"+"font-family:"+this.ftFam+";"+"font-size:"+this.ftSz+";"+"color:"+this.color+";"+this.ftSty+'">'+txt+"</div>"};this.drawStringRect=function(txt,x,y,width,halign){this.htm+='<div style="position:absolute;overflow:hidden;'+"left:"+x+"px;"+"top:"+y+"px;"+"width:"+width+"px;"+"text-align:"+halign+";"+"font-family:"+this.ftFam+";"+"font-size:"+this.ftSz+";"+"color:"+this.color+";"+this.ftSty+'">'+txt+"</div>"};this.drawImage=function(imgSrc,x,y,w,h){this.htm+='<div style="position:absolute;'+"left:"+x+"px;"+"top:"+y+"px;"+"width:"+w+";"+"height:"+h+';">'+'<img src="'+imgSrc+'" width="'+w+'" height="'+h+'">'+"</div>"};this.clear=function(){this.htm="";if(this.cnv)this.cnv.innerHTML=this.defhtm};this.mkOvQds=function(cx,cy,xl,xr,yt,yb,w,h){this.mkDiv(xr+cx,yt+cy,w,h);this.mkDiv(xr+cx,yb+cy,w,h);this.mkDiv(xl+cx,yb+cy,w,h);this.mkDiv(xl+cx,yt+cy,w,h)};this.setStroke(1);this.setFont("verdana,geneva,helvetica,sans-serif",String.fromCharCode(49,50,112,120),Font.PLAIN);this.color="#000000";this.htm="";this.wnd=wnd||window;if(!(jg_ie||jg_dom||jg_ihtm))chkDHTM();if(typeof id!="string"||!id)this.paint=pntDoc;else{this.cnv=document.all?this.wnd.document.all[id]||null:document.getElementById?this.wnd.document.getElementById(id)||null:null;this.defhtm=this.cnv&&this.cnv.innerHTML?this.cnv.innerHTML:"";this.paint=jg_dom?pntCnvDom:jg_ie?pntCnvIe:jg_ihtm?pntCnvIhtm:pntCnv}this.setPrintable(false)}function integer_compare(x,y){return x<y?-1:(x>y)*1}function kaZoomer(){this.nZoomImageHeight=8;this.opacity=100;this.left=7;this.top=3;this.right=null;this.bottom=null;this.zoomControlObj=null;this.draw=kaZoomer_draw;this.update=kaZoomer_update;this.listeners=[]}kaZoomer.prototype.attach=function(oKaMap){this.kaMap=oKaMap;this.domObj=oKaMap.domObj;if(this.kaMap.initializationState<2){this.kaMap.registerForEvent(KAMAP_MAP_INITIALIZED,this,this.draw)}else{this.draw()}};kaZoomer.prototype.remove=function(){if(this.zoomControlObj&&this.zoomControlObj!=null){for(var i=0;i<this.listeners.length;i++)PEvent.removeListener(this.listeners[i]);this.listeners=[];while(this.zoomControlObj.hasChildNodes())this.zoomControlObj.removeChild(this.zoomControlObj.firstChild);if(this.kaMap&&this.kaMap!=null)this.kaMap.domObj.removeChild(this.zoomControlObj)}};function kaZoomer_setPosition(left,top,right,bottom){this.left=left;this.top=top;this.right=right;this.bottom=bottom;if(this.zoomControlObj!=null){if(this.left!=null){oZoomControl.style.left=this.left+"px"}else if(this.right!=null){oZoomControl.style.right=this.right+"px"}if(this.top!=null){oZoomControl.style.top=this.top+"px"}else if(this.bottom!=null){oZoomControl.style.bottom=this.bottom+"px"}}}function kaZoomer_update(){var nThumbHeight=dd.elements.zoomTrack.div.elementHeight;var nTrackTop=dd.elements.zoomTrack.y;var oKaMap=dd.elements.zoomTrack.div.kaZoomer.kaMap;var oMap=oKaMap.getCurrentMap();var nCurrentScale=parseInt(oMap.currentScale)+1;var nScales=oMap.getScales().length;var nPos=(nScales-nCurrentScale)*nThumbHeight;dd.elements.zoomThumb.moveTo(dd.elements.zoomThumb.x,nTrackTop+nPos)}function kaZoomer_draw(){var oMap=this.kaMap.getCurrentMap();var nScales=oMap.getScales().length;var nCurrentScale=oMap.currentScale;var nTrackHeight=this.nZoomImageHeight*nScales;var nTrackMaxPosition=this.nZoomImageHeight*(nScales-1);var nInitialPosition=dd.Int(this.nZoomImageHeight*(nScales-nCurrentScale-1));var szThumbImg=this.kaMap.server+"images/control_slider.png";var szThumbImgOver=this.kaMap.server+"images/control_slider_over.png";this.zoomControlObj=document.createElement("div");this.zoomControlObj.id="zoomControl";this.zoomControlObj.style.position="absolute";if(this.left!=null)this.zoomControlObj.style.left=this.left+"px";else if(this.right!=null)this.zoomControlObj.style.right=this.right+"px";if(this.top!=null)this.zoomControlObj.style.top=this.top+"px";else if(this.bottom!=null)this.zoomControlObj.style.bottom=this.bottom+"px";this.zoomControlObj.style.width=29+"px";this.zoomControlObj.style.height=nTrackHeight+2*this.nZoomImageHeight+30+"px";this.zoomControlObj.style.zIndex=Strata.MAP_CONTROLS;this.zoomControlObj.kaZoomer=this;this.zoomControlObj.style.MozUserSelect="none";this.kaMap.domObj.appendChild(this.zoomControlObj);var oZoomTrack=document.createElement("div");oZoomTrack.id="zoomTrack";oZoomTrack.kaZoomer=this;oZoomTrack.style.position="absolute";oZoomTrack.style.left="0px";oZoomTrack.style.top="28px";oZoomTrack.style.height=parseInt(nTrackHeight)+"px";oZoomTrack.style.width="40px";addPNGBackground(oZoomTrack,this.kaMap.server+"images/control_zoombar.png");
oZoomTrack.style.backgroundRepeat="no-repeat";oZoomTrack.elementHeight=this.nZoomImageHeight;this.listeners.push(PEvent.addListener(oZoomTrack,"mouseup",kaZoomer_zoomTo));this.zoomControlObj.appendChild(oZoomTrack);var oZoomThumb=document.createElement("div");oZoomThumb.id="zoomThumb";oZoomThumb.title="Drag to Zoom";oZoomThumb.style.position="absolute";oZoomThumb.style.width="29px";oZoomThumb.style.height="7px";this.listeners.push(PEvent.addListener(oZoomThumb,"mouseover",function(){addPNGBackground(this,szThumbImgOver)}));this.listeners.push(PEvent.addListener(oZoomThumb,"mouseout",function(){addPNGBackground(this,szThumbImg)}));addPNGBackground(oZoomThumb,szThumbImg);this.zoomControlObj.appendChild(oZoomThumb);var zoomSprite=this.kaMap.server+"images/zoom_buttons.png";var zoomKamap=this.kaMap;var oZoomIn=document.createElement("div");oZoomIn.title="Zoom In";oZoomIn.id="zoomIn";oZoomIn.style.position="absolute";oZoomIn.style.top="6px";oZoomIn.style.left="2px";oZoomIn.style.width="24px";oZoomIn.style.height="22px";oZoomIn.style.cursor="pointer";oZoomIn.style.background="url("+zoomSprite+") 0 0";oZoomIn.kaZoomer=this;this.listeners.push(PEvent.addListener(oZoomIn,"mouseover",function(){this.style.backgroundPosition="-25px 0px"}));this.listeners.push(PEvent.addListener(oZoomIn,"mouseout",function(){this.style.backgroundPosition="0 0"}));this.listeners.push(PEvent.addListener(oZoomIn,"mouseup",function(){kaZoomer_zoomIn(zoomKamap)}));this.zoomControlObj.appendChild(oZoomIn);var oZoomOut=document.createElement("div");oZoomOut.id="zoomOut";oZoomOut.title="Zoom Out";oZoomOut.style.position="absolute";oZoomOut.style.top=27+nTrackHeight+"px";oZoomOut.style.left="1px";oZoomOut.style.width="24px";oZoomOut.style.height="22px";oZoomOut.style.cursor="pointer";oZoomOut.style.background="url("+zoomSprite+") 0 -22px";oZoomOut.kaZoomer=this;this.listeners.push(PEvent.addListener(oZoomOut,"mouseover",function(){this.style.backgroundPosition="-24px -22px"}));this.listeners.push(PEvent.addListener(oZoomOut,"mouseout",function(){this.style.backgroundPosition="0 -22px"}));this.listeners.push(PEvent.addListener(oZoomOut,"mouseup",function(){kaZoomer_zoomOut(zoomKamap)}));this.zoomControlObj.appendChild(oZoomOut);ADD_DHTML("zoomThumb"+MAXOFFTOP+0+MAXOFFBOTTOM+nTrackMaxPosition+VERTICAL);ADD_DHTML("zoomTrack"+NO_DRAG);dd.elements.zoomThumb.moveTo(dd.elements.zoomTrack.x,dd.elements.zoomTrack.y+nInitialPosition);dd.elements.zoomThumb.css.cursor="pointer";dd.elements.zoomTrack.addChild("zoomThumb");dd.elements.zoomTrack.css.cursor="pointer";dd.elements.zoomThumb.defx=dd.elements.zoomTrack.x;dd.elements.zoomThumb.defy=dd.elements.zoomTrack.y;dd.elements.zoomThumb.my_DropFunc=kaZoomer_DropFunc;this.kaMap.registerForEvent(KAMAP_SCALE_CHANGED,this,this.update)}function kaZoomer_DropFunc(){var nTrackTop=dd.elements.zoomTrack.y;var nThumbTop=dd.elements.zoomThumb.y-nTrackTop;var nThumbHeight=dd.elements.zoomTrack.div.elementHeight;var nNearestIndex=Math.round(nThumbTop/nThumbHeight);dd.elements.zoomThumb.moveTo(dd.elements.zoomThumb.x,nTrackTop+nNearestIndex*nThumbHeight);dd.elements.zoomThumb.css.cursor="pointer";var oKaMap=dd.elements.zoomTrack.div.kaZoomer.kaMap;var oMap=oKaMap.getCurrentMap();var nCurrentScale=oMap.getScales()[oMap.aScales.length-nNearestIndex-1];oKaMap.zoomToScale(nCurrentScale)}function kaZoomer_zoomTo(e){e=e?e:event?event:null;var nClickTop=e.offsetY?e.offsetY:e.layerY;var oKaZoomer=dd.elements.zoomTrack.div.kaZoomer;var oKaMap=oKaZoomer.kaMap;var oMap=oKaMap.getCurrentMap();var nScales=oMap.getScales().length;var nTrackHeight=dd.Int(oKaZoomer.nZoomImageHeight)*nScales;var nNearestIndex=Math.floor(nClickTop/nTrackHeight*nScales);var nNewScale=oMap.getScales()[oMap.aScales.length-nNearestIndex-1];oKaMap.zoomToScale(nNewScale)}function kaZoomer_onmouseover(e){this.style.opacity=1;this.style.mozOpacity=1;this.style.filter="Alpha(opacity=100)"}function kaZoomer_onmouseout(e){this.style.opacity=this.kaZoomer.opacity/100;this.style.mozOpacity=this.kaZoomer.opacity/100;this.style.filter="Alpha(opacity="+this.kaZoomer.opacity+")"}function kaZoomer_zoomIn(kaMap){kaMap.zoomIn()}function kaZoomer_zoomOut(kaMap){kaMap.zoomOut()}function kaZoomer_alert(){alert("here")}kaServers=function(){this.current=-1;this.servers};kaServers.prototype.setServers=function(servs){this.servers=servs};kaServers.prototype.nextIndex=function(){this.current++;this.current=this.current%this.servers.length;return this.current};kaServers.prototype.next=function(key){if(key)return this.servers[this.hash(key)];else return this.servers[this.nextIndex()]};kaServers.prototype.hash=function(key){return Math.abs(key%this.servers.length)};kaServers.prototype.isEmpty=function(){return this.servers==undefined};MochiKit={__export__:false};if(typeof dojo!="undefined"){dojo.provide("MochiKit.Base")}if(typeof MochiKit=="undefined"){MochiKit={}}if(typeof MochiKit.Base=="undefined"){MochiKit.Base={}}MochiKit.Base.VERSION="1.3.1";MochiKit.Base.NAME="MochiKit.Base";MochiKit.Base.update=function(self,obj){if(self===null){self={}}for(var i=1;i<arguments.length;i++){var o=arguments[i];if(typeof o!="undefined"&&o!==null){for(var k in o){self[k]=o[k]}}}return self};MochiKit.Base.update(MochiKit.Base,{__repr__:function(){return"["+this.NAME+" "+this.VERSION+"]"},toString:function(){return this.__repr__()},counter:function(n){if(arguments.length===0){n=1}return function(){return n++}},clone:function(obj){var me=arguments.callee;if(arguments.length==1){me.prototype=obj;return new me}},flattenArguments:function(lst){var res=[];var m=MochiKit.Base;var args=m.extend(null,arguments);while(args.length){var o=args.shift();if(o&&typeof o=="object"&&typeof o.length=="number"){for(var i=o.length-1;i>=0;i--){args.unshift(o[i])}}else{res.push(o)}}return res},extend:function(self,obj,skip){if(!skip){skip=0}if(obj){var l=obj.length;if(typeof l!="number"){if(typeof MochiKit.Iter!="undefined"){obj=MochiKit.Iter.list(obj);l=obj.length}else{throw new TypeError("Argument not an array-like and MochiKit.Iter not present")}}if(!self){self=[]}for(var i=skip;i<l;i++){self.push(obj[i])}}return self},updatetree:function(self,obj){if(self===null){self={}}for(var i=1;i<arguments.length;i++){var o=arguments[i];if(typeof o!="undefined"&&o!==null){for(var k in o){var v=o[k];if(typeof self[k]=="object"&&typeof v=="object"){arguments.callee(self[k],v)}else{self[k]=v}}}}return self},setdefault:function(self,obj){if(self===null){self={}}for(var i=1;i<arguments.length;i++){var o=arguments[i];for(var k in o){if(!(k in self)){self[k]=o[k]}}}return self},keys:function(obj){var rval=[];for(var prop in obj){if(typeof obj[prop]!="function")rval.push(prop)}return rval},items:function(obj){var rval=[];var e;for(var prop in obj){var v;try{v=obj[prop]}catch(e){continue}if(typeof v!="function")rval.push([prop,v])}return rval},_newNamedError:function(module,name,func){func.prototype=new MochiKit.Base.NamedError(module.NAME+"."+name);module[name]=func},operator:{truth:function(a){return!!a},lognot:function(a){return!a},identity:function(a){return a},not:function(a){return~a},neg:function(a){return-a},add:function(a,b){return a+b},sub:function(a,b){return a-b},div:function(a,b){return a/b},mod:function(a,b){return a%b},mul:function(a,b){return a*b},and:function(a,b){return a&b},or:function(a,b){return a|b},xor:function(a,b){return a^b},lshift:function(a,b){return a<<b},rshift:function(a,b){return a>>b},zrshift:function(a,b){return a>>>b},eq:function(a,b){return a==b},ne:function(a,b){return a!=b},gt:function(a,b){return a>b},ge:function(a,b){return a>=b},lt:function(a,b){return a<b},le:function(a,b){return a<=b},ceq:function(a,b){return MochiKit.Base.compare(a,b)===0},cne:function(a,b){return MochiKit.Base.compare(a,b)!==0},cgt:function(a,b){return MochiKit.Base.compare(a,b)==1},cge:function(a,b){return MochiKit.Base.compare(a,b)!=-1},clt:function(a,b){return MochiKit.Base.compare(a,b)==-1},cle:function(a,b){return MochiKit.Base.compare(a,b)!=1},logand:function(a,b){return a&&b},logor:function(a,b){return a||b},contains:function(a,b){return b in a}},forwardCall:function(func){return function(){return this[func].apply(this,arguments)}},itemgetter:function(func){return function(arg){return arg[func]}},typeMatcher:function(){var types={};for(var i=0;i<arguments.length;i++){var typ=arguments[i];types[typ]=typ}return function(){for(var i=0;i<arguments.length;i++){if(!(typeof arguments[i]in types)){return false}}return true}},isNull:function(){for(var i=0;i<arguments.length;i++){if(arguments[i]!==null){return false}}return true},isUndefinedOrNull:function(){for(var i=0;i<arguments.length;i++){var o=arguments[i];if(!(typeof o=="undefined"||o===null)){return false}}return true},isEmpty:function(obj){return!MochiKit.Base.isNotEmpty.apply(this,arguments)},isNotEmpty:function(obj){for(var i=0;i<arguments.length;i++){var o=arguments[i];if(!(o&&o.length)){return false}}return true},isArrayLike:function(){for(var i=0;i<arguments.length;i++){var o=arguments[i];var typ=typeof o;if(typ!="object"&&!(typ=="function"&&typeof o.item=="function")||o===null||typeof o.length!="number"){return false}}return true},isDateLike:function(){for(var i=0;i<arguments.length;i++){var o=arguments[i];if(typeof o!="object"||o===null||typeof o.getTime!="function"){return false}}return true},xmap:function(fn){if(fn===null){return MochiKit.Base.extend(null,arguments,1)}var rval=[];for(var i=1;i<arguments.length;i++){rval.push(fn(arguments[i]))}return rval},map:function(fn,lst){var m=MochiKit.Base;var itr=MochiKit.Iter;var isArrayLike=m.isArrayLike;if(arguments.length<=2){if(!isArrayLike(lst)){if(itr){lst=itr.list(lst);if(fn===null){return lst}}else{throw new TypeError("Argument not an array-like and MochiKit.Iter not present")}}if(fn===null){return m.extend(null,lst)}var rval=[];for(var i=0;i<lst.length;i++){rval.push(fn(lst[i]))}return rval}else{if(fn===null){fn=Array}var length=null;for(i=1;i<arguments.length;i++){if(!isArrayLike(arguments[i])){if(itr){return itr.list(itr.imap.apply(null,arguments))}else{throw new TypeError("Argument not an array-like and MochiKit.Iter not present")}}var l=arguments[i].length;if(length===null||length>l){length=l}}rval=[];for(i=0;i<length;i++){var args=[];for(var j=1;j<arguments.length;j++){args.push(arguments[j][i])}rval.push(fn.apply(this,args))}return rval}},xfilter:function(fn){var rval=[];if(fn===null){fn=MochiKit.Base.operator.truth}for(var i=1;i<arguments.length;i++){var o=arguments[i];if(fn(o)){rval.push(o)}}return rval},filter:function(fn,lst,self){var rval=[];var m=MochiKit.Base;if(!m.isArrayLike(lst)){if(MochiKit.Iter){lst=MochiKit.Iter.list(lst)}else{throw new TypeError("Argument not an array-like and MochiKit.Iter not present")}}if(fn===null){fn=m.operator.truth}if(typeof Array.prototype.filter=="function"){return Array.prototype.filter.call(lst,fn,self)}else if(typeof self=="undefined"||self===null){for(var i=0;i<lst.length;i++){var o=lst[i];if(fn(o)){rval.push(o)}}}else{for(i=0;i<lst.length;i++){o=lst[i];if(fn.call(self,o)){rval.push(o)}}}return rval},_wrapDumbFunction:function(func){return function(){switch(arguments.length){case 0:return func();case 1:return func(arguments[0]);case 2:return func(arguments[0],arguments[1]);case 3:return func(arguments[0],arguments[1],arguments[2])}var args=[];for(var i=0;i<arguments.length;i++){args.push("arguments["+i+"]")}return eval("(func("+args.join(",")+"))")}},method:function(self,func){var m=MochiKit.Base;return m.bind.apply(this,m.extend([func,self],arguments,2))},bind:function(func,self){if(typeof func=="string"){func=self[func]}var im_func=func.im_func;var im_preargs=func.im_preargs;var im_self=func.im_self;var m=MochiKit.Base;if(typeof func=="function"&&typeof func.apply=="undefined"){func=m._wrapDumbFunction(func)}if(typeof im_func!="function"){im_func=func}if(typeof self!="undefined"){im_self=self}if(typeof im_preargs=="undefined"){im_preargs=[]}else{im_preargs=im_preargs.slice()}m.extend(im_preargs,arguments,2);var newfunc=function(){var args=arguments;var me=arguments.callee;if(me.im_preargs.length>0){args=m.concat(me.im_preargs,args)}var self=me.im_self;if(!self){self=this}return me.im_func.apply(self,args)};newfunc.im_self=im_self;newfunc.im_func=im_func;newfunc.im_preargs=im_preargs;return newfunc},bindMethods:function(self){var bind=MochiKit.Base.bind;for(var k in self){var func=self[k];if(typeof func=="function"){self[k]=bind(func,self)}}},registerComparator:function(name,check,comparator,override){MochiKit.Base.comparatorRegistry.register(name,check,comparator,override)},_primitives:{boolean:true,string:true,number:true},compare:function(a,b){if(a==b){return 0}var aIsNull=typeof a=="undefined"||a===null||isNaN(a);var bIsNull=typeof b=="undefined"||b===null||isNaN(b);if(aIsNull&&bIsNull){return 0}else if(aIsNull){return-1}else if(bIsNull){return-1}var m=MochiKit.Base;var prim=m._primitives;if(!(typeof a in prim&&typeof b in prim)){try{return m.comparatorRegistry.match(a,b)}catch(e){if(e!=m.NotFound){throw e}}}if(a<b){return-1}else if(a>b){return 1}var repr=m.repr;throw new TypeError(repr(a)+" and "+repr(b)+" can not be compared")},compareDateLike:function(a,b){return MochiKit.Base.compare(a.getTime(),b.getTime())},compareArrayLike:function(a,b){var compare=MochiKit.Base.compare;var count=a.length;var rval=0;if(count>b.length){rval=1;count=b.length}else if(count<b.length){rval=-1}for(var i=0;i<count;i++){var cmp=compare(a[i],b[i]);if(cmp){return cmp}}return rval},registerRepr:function(name,check,wrap,override){MochiKit.Base.reprRegistry.register(name,check,wrap,override)},repr:function(o){if(typeof o=="undefined"){return"undefined"}else if(o===null){return"null"}try{if(typeof o.__repr__=="function"){return o.__repr__()}else if(typeof o.repr=="function"&&o.repr!=arguments.callee){return o.repr()}return MochiKit.Base.reprRegistry.match(o)}catch(e){if(typeof o.NAME=="string"&&(o.toString==Function.prototype.toString||o.toString==Object.prototype.toString)){return o.NAME}}try{var ostring=o+""}catch(e){return"["+typeof o+"]"}if(typeof o=="function"){o=ostring.replace(/^\s+/,"");var idx=o.indexOf("{");if(idx!=-1){o=o.substr(0,idx)+"{...}"}}return ostring},reprArrayLike:function(o){var m=MochiKit.Base;return"["+m.map(m.repr,o).join(", ")+"]"},reprString:function(o){return('"'+o.replace(/(["\\])/g,"\\$1")+'"').replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r")},reprNumber:function(o){return o+""},registerJSON:function(name,check,wrap,override){MochiKit.Base.jsonRegistry.register(name,check,wrap,override)},evalJSON:function(){return eval("("+arguments[0]+")")},serializeJSON:function(o){var objtype=typeof o;if(objtype=="undefined"){return"undefined"}else if(objtype=="number"||objtype=="boolean"){return o+""}else if(o===null){return"null"}var m=MochiKit.Base;var reprString=m.reprString;if(objtype=="string"){return reprString(o)}var me=arguments.callee;var newObj;if(typeof o.__json__=="function"){newObj=o.__json__();if(o!==newObj){return me(newObj)}}if(typeof o.json=="function"){newObj=o.json();if(o!==newObj){return me(newObj)}}if(objtype!="function"&&typeof o.length=="number"){var res=[];for(var i=0;i<o.length;i++){var val=me(o[i]);if(typeof val!="string"){val="undefined"}res.push(val)}return"["+res.join(", ")+"]"}try{newObj=m.jsonRegistry.match(o);return me(newObj)}catch(e){if(e!=m.NotFound){throw e}}if(objtype=="function"){return null}res=[];for(var k in o){var useKey;if(typeof k=="number"){useKey='"'+k+'"'}else if(typeof k=="string"){useKey=reprString(k)}else{continue}val=me(o[k]);if(typeof val!="string"){continue}res.push(useKey+":"+val)}return"{"+res.join(", ")+"}"},objEqual:function(a,b){return MochiKit.Base.compare(a,b)===0},arrayEqual:function(self,arr){if(self.length!=arr.length){return false}return MochiKit.Base.compare(self,arr)===0},concat:function(){var rval=[];var extend=MochiKit.Base.extend;for(var i=0;i<arguments.length;i++){extend(rval,arguments[i])}return rval},keyComparator:function(key){var m=MochiKit.Base;var compare=m.compare;if(arguments.length==1){return function(a,b){return compare(a[key],b[key])}}var compareKeys=m.extend(null,arguments);return function(a,b){var rval=0;for(var i=0;rval===0&&i<compareKeys.length;i++){var key=compareKeys[i];rval=compare(a[key],b[key])}return rval}},reverseKeyComparator:function(key){var comparator=MochiKit.Base.keyComparator.apply(this,arguments);return function(a,b){return comparator(b,a)}},partial:function(func){var m=MochiKit.Base;return m.bind.apply(this,m.extend([func,undefined],arguments,1))},listMinMax:function(which,lst){if(lst.length===0){return null}var cur=lst[0];var compare=MochiKit.Base.compare;for(var i=1;i<lst.length;i++){var o=lst[i];if(o!=null&&!isNaN(o)&&compare(o,cur)==which){cur=o}}return cur},objMax:function(){return MochiKit.Base.listMinMax(1,arguments)},objMin:function(){return MochiKit.Base.listMinMax(-1,arguments)},findIdentical:function(lst,value,start,end){if(typeof end=="undefined"||end===null){end=lst.length}for(var i=start||0;i<end;i++){if(lst[i]===value){return i}}return-1},findValue:function(lst,value,start,end){if(typeof end=="undefined"||end===null){end=lst.length}var cmp=MochiKit.Base.compare;for(var i=start||0;i<end;i++){if(cmp(lst[i],value)===0){return i}}return-1},nodeWalk:function(node,visitor){var nodes=[node];var extend=MochiKit.Base.extend;while(nodes.length){var res=visitor(nodes.shift());if(res){extend(nodes,res)}}},nameFunctions:function(namespace){var base=namespace.NAME;if(typeof base=="undefined"){base=""}else{base=base+"."}for(var name in namespace){var o=namespace[name];if(typeof o=="function"&&typeof o.NAME=="undefined"){try{o.NAME=base+name}catch(e){}}}},queryString:function(names,values){if(typeof MochiKit.DOM!="undefined"&&arguments.length==1&&(typeof names=="string"||typeof names.nodeType!="undefined"&&names.nodeType>0)){var kv=MochiKit.DOM.formContents(names);names=kv[0];values=kv[1]}else if(arguments.length==1){var o=names;names=[];values=[];for(var k in o){var v=o[k];if(typeof v!="function"){names.push(k);values.push(v)}}}var rval=[];var len=Math.min(names.length,values.length);var urlEncode=MochiKit.Base.urlEncode;for(var i=0;i<len;i++){v=values[i];if(typeof v!="undefined"&&v!==null){rval.push(urlEncode(names[i])+"="+urlEncode(v))}}return rval.join("&")},parseQueryString:function(encodedString,useArrays){var pairs=encodedString.replace(/\+/g,"%20").split("&");var o={};var decode;if(typeof decodeURIComponent!="undefined"){decode=decodeURIComponent}else{decode=unescape}if(useArrays){for(var i=0;i<pairs.length;i++){var pair=pairs[i].split("=");var name=decode(pair[0]);var arr=o[name];if(!(arr instanceof Array)){arr=[];o[name]=arr}arr.push(decode(pair[1]))}}else{for(i=0;i<pairs.length;i++){pair=pairs[i].split("=");o[decode(pair[0])]=decode(pair[1])}}return o}});MochiKit.Base.AdapterRegistry=function(){this.pairs=[]};MochiKit.Base.AdapterRegistry.prototype={register:function(name,check,wrap,override){if(override){this.pairs.unshift([name,check,wrap])}else{this.pairs.push([name,check,wrap])}},match:function(){for(var i=0;i<this.pairs.length;i++){var pair=this.pairs[i];if(pair[1].apply(this,arguments)){return pair[2].apply(this,arguments)}}throw MochiKit.Base.NotFound},unregister:function(name){for(var i=0;i<this.pairs.length;i++){var pair=this.pairs[i];if(pair[0]==name){this.pairs.splice(i,1);return true}}return false}};MochiKit.Base.EXPORT=["counter","clone","extend","update","updatetree","setdefault","keys","items","NamedError","operator","forwardCall","itemgetter","typeMatcher","isCallable","isUndefined","isUndefinedOrNull","isNull","isEmpty","isNotEmpty","isArrayLike","isDateLike","xmap","map","xfilter","filter","bind","bindMethods","NotFound","AdapterRegistry","registerComparator","compare","registerRepr","repr","objEqual","arrayEqual","concat","keyComparator","reverseKeyComparator","partial","merge","listMinMax","listMax","listMin","objMax","objMin","nodeWalk","zip","urlEncode","queryString","serializeJSON","registerJSON","evalJSON","parseQueryString","findValue","findIdentical","flattenArguments","method"];MochiKit.Base.EXPORT_OK=["nameFunctions","comparatorRegistry","reprRegistry","jsonRegistry","compareDateLike","compareArrayLike","reprArrayLike","reprString","reprNumber"];MochiKit.Base._exportSymbols=function(globals,module){if(typeof MochiKit.__export__=="undefined"){MochiKit.__export__=MochiKit.__compat__||typeof JSAN=="undefined"&&typeof dojo=="undefined"}if(!MochiKit.__export__){return}var all=module.EXPORT_TAGS[":all"];for(var i=0;i<all.length;i++){globals[all[i]]=module[all[i]]}};MochiKit.Base.__new__=function(){var m=this;m.forward=m.forwardCall;m.find=m.findValue;if(typeof encodeURIComponent!="undefined"){m.urlEncode=function(unencoded){return encodeURIComponent(unencoded).replace(/\'/g,"%27")}}else{m.urlEncode=function(unencoded){return escape(unencoded).replace(/\+/g,"%2B").replace(/\"/g,"%22").rval.replace(/\'/g,"%27")}}m.NamedError=function(name){this.message=name;this.name=name};m.NamedError.prototype=new Error;m.update(m.NamedError.prototype,{repr:function(){if(this.message&&this.message!=this.name){return this.name+"("+m.repr(this.message)+")"}else{return this.name+"()"}},toString:m.forwardCall("repr")});m.NotFound=new m.NamedError("MochiKit.Base.NotFound");m.listMax=m.partial(m.listMinMax,1);m.listMin=m.partial(m.listMinMax,-1);m.isCallable=m.typeMatcher("function");m.isUndefined=m.typeMatcher("undefined");m.merge=m.partial(m.update,null);m.zip=m.partial(m.map,null);m.comparatorRegistry=new m.AdapterRegistry;m.registerComparator("dateLike",m.isDateLike,m.compareDateLike);m.registerComparator("arrayLike",m.isArrayLike,m.compareArrayLike);m.reprRegistry=new m.AdapterRegistry;m.registerRepr("arrayLike",m.isArrayLike,m.reprArrayLike);m.registerRepr("string",m.typeMatcher("string"),m.reprString);m.registerRepr("numbers",m.typeMatcher("number","boolean"),m.reprNumber);m.jsonRegistry=new m.AdapterRegistry;var all=m.concat(m.EXPORT,m.EXPORT_OK);m.EXPORT_TAGS={":common":m.concat(m.EXPORT_OK),":all":all};m.nameFunctions(this)};MochiKit.Base.__new__();if(!MochiKit.__compat__){compare=MochiKit.Base.compare}MochiKit.Base._exportSymbols(this,MochiKit.Base);if(typeof dojo!="undefined"){dojo.provide("MochiKit.Iter");dojo.require("MochiKit.Base")}if(typeof JSAN!="undefined"){JSAN.use("MochiKit.Base",[])}try{if(typeof MochiKit.Base=="undefined"){throw""}}catch(e){throw"MochiKit.Iter depends on MochiKit.Base!"}if(typeof MochiKit.Iter=="undefined"){MochiKit.Iter={}}MochiKit.Iter.NAME="MochiKit.Iter";MochiKit.Iter.VERSION="1.3.1";MochiKit.Base.update(MochiKit.Iter,{__repr__:function(){return"["+this.NAME+" "+this.VERSION+"]"},toString:function(){return this.__repr__()},registerIteratorFactory:function(name,check,iterfactory,override){MochiKit.Iter.iteratorRegistry.register(name,check,iterfactory,override)},iter:function(iterable,sentinel){var self=MochiKit.Iter;if(arguments.length==2){return self.takewhile(function(a){return a!=sentinel},iterable)}if(typeof iterable.next=="function"){return iterable}else if(typeof iterable.iter=="function"){return iterable.iter()}try{return self.iteratorRegistry.match(iterable)}catch(e){var m=MochiKit.Base;if(e==m.NotFound){e=new TypeError(typeof iterable+": "+m.repr(iterable)+" is not iterable")}throw e}},count:function(n){if(!n){n=0}var m=MochiKit.Base;return{repr:function(){return"count("+n+")"},toString:m.forwardCall("repr"),next:m.counter(n)}},cycle:function(p){var self=MochiKit.Iter;var m=MochiKit.Base;var lst=[];var iterator=self.iter(p);return{repr:function(){return"cycle(...)"},toString:m.forwardCall("repr"),next:function(){try{var rval=iterator.next();lst.push(rval);return rval}catch(e){if(e!=self.StopIteration){throw e}if(lst.length===0){this.next=function(){throw self.StopIteration}}else{var i=-1;this.next=function(){i=(i+1)%lst.length;return lst[i]}}return this.next()}}}},repeat:function(elem,n){var m=MochiKit.Base;if(typeof n=="undefined"){return{repr:function(){return"repeat("+m.repr(elem)+")"},toString:m.forwardCall("repr"),next:function(){return elem}}}return{repr:function(){return"repeat("+m.repr(elem)+", "+n+")"},toString:m.forwardCall("repr"),next:function(){if(n<=0){throw MochiKit.Iter.StopIteration}n-=1;return elem}}},next:function(iterator){return iterator.next()},izip:function(p,q){var m=MochiKit.Base;var next=MochiKit.Iter.next;var iterables=m.map(iter,arguments);return{repr:function(){return"izip(...)"},toString:m.forwardCall("repr"),next:function(){return m.map(next,iterables)}}},ifilter:function(pred,seq){var m=MochiKit.Base;seq=MochiKit.Iter.iter(seq);if(pred===null){pred=m.operator.truth}return{repr:function(){return"ifilter(...)"},toString:m.forwardCall("repr"),next:function(){while(true){var rval=seq.next();if(pred(rval)){return rval}}return undefined}}},ifilterfalse:function(pred,seq){var m=MochiKit.Base;seq=MochiKit.Iter.iter(seq);if(pred===null){pred=m.operator.truth}return{repr:function(){return"ifilterfalse(...)"},toString:m.forwardCall("repr"),next:function(){while(true){var rval=seq.next();if(!pred(rval)){return rval}}return undefined}}},islice:function(seq){var self=MochiKit.Iter;var m=MochiKit.Base;seq=self.iter(seq);var start=0;var stop=0;var step=1;var i=-1;if(arguments.length==2){stop=arguments[1]}else if(arguments.length==3){start=arguments[1];stop=arguments[2]}else{start=arguments[1];stop=arguments[2];step=arguments[3]}return{repr:function(){return"islice("+["...",start,stop,step].join(", ")+")"},toString:m.forwardCall("repr"),next:function(){var rval;while(i<start){rval=seq.next();i++}if(start>=stop){throw self.StopIteration}start+=step;return rval}}},imap:function(fun,p,q){var m=MochiKit.Base;var self=MochiKit.Iter;var iterables=m.map(self.iter,m.extend(null,arguments,1));var map=m.map;var next=self.next;return{repr:function(){return"imap(...)"},toString:m.forwardCall("repr"),next:function(){return fun.apply(this,map(next,iterables))}}},applymap:function(fun,seq,self){seq=MochiKit.Iter.iter(seq);var m=MochiKit.Base;return{repr:function(){return"applymap(...)"},toString:m.forwardCall("repr"),next:function(){return fun.apply(self,seq.next())}}},chain:function(p,q){var self=MochiKit.Iter;var m=MochiKit.Base;if(arguments.length==1){return self.iter(arguments[0])}var argiter=m.map(self.iter,arguments);return{repr:function(){return"chain(...)"},toString:m.forwardCall("repr"),next:function(){while(argiter.length>1){try{return argiter[0].next()}catch(e){if(e!=self.StopIteration){throw e}argiter.shift()}}if(argiter.length==1){var arg=argiter.shift();this.next=m.bind("next",arg);return this.next()}throw self.StopIteration}}},takewhile:function(pred,seq){var self=MochiKit.Iter;seq=self.iter(seq);return{repr:function(){return"takewhile(...)"},toString:MochiKit.Base.forwardCall("repr"),next:function(){var rval=seq.next();if(!pred(rval)){this.next=function(){throw self.StopIteration};this.next()}return rval}}},dropwhile:function(pred,seq){seq=MochiKit.Iter.iter(seq);var m=MochiKit.Base;var bind=m.bind;return{repr:function(){return"dropwhile(...)"},toString:m.forwardCall("repr"),next:function(){while(true){var rval=seq.next();if(!pred(rval)){break}}this.next=bind("next",seq);return rval}}},_tee:function(ident,sync,iterable){sync.pos[ident]=-1;var m=MochiKit.Base;var listMin=m.listMin;return{repr:function(){return"tee("+ident+", ...)"},toString:m.forwardCall("repr"),next:function(){var rval;var i=sync.pos[ident];if(i==sync.max){rval=iterable.next();sync.deque.push(rval);sync.max+=1;sync.pos[ident]+=1}else{rval=sync.deque[i-sync.min];sync.pos[ident]+=1;if(i==sync.min&&listMin(sync.pos)!=sync.min){sync.min+=1;sync.deque.shift()}}return rval}}},tee:function(iterable,n){var rval=[];var sync={pos:[],deque:[],max:-1,min:-1};if(arguments.length==1){n=2}var self=MochiKit.Iter;iterable=self.iter(iterable);var _tee=self._tee;for(var i=0;i<n;i++){rval.push(_tee(i,sync,iterable))}return rval},list:function(iterable){var m=MochiKit.Base;if(typeof iterable.slice=="function"){return iterable.slice()}else if(m.isArrayLike(iterable)){return m.concat(iterable)}var self=MochiKit.Iter;iterable=self.iter(iterable);var rval=[];try{while(true){rval.push(iterable.next())}}catch(e){if(e!=self.StopIteration){throw e}return rval}return undefined},reduce:function(fn,iterable,initial){var i=0;var x=initial;var self=MochiKit.Iter;iterable=self.iter(iterable);if(arguments.length<3){try{x=iterable.next()}catch(e){if(e==self.StopIteration){e=new TypeError("reduce() of empty sequence with no initial value")}throw e}i++}try{while(true){x=fn(x,iterable.next())}}catch(e){if(e!=self.StopIteration){throw e}}return x},range:function(){var start=0;var stop=0;var step=1;if(arguments.length==1){stop=arguments[0]}else if(arguments.length==2){start=arguments[0];stop=arguments[1]}else if(arguments.length==3){start=arguments[0];stop=arguments[1];step=arguments[2]}else{throw new TypeError("range() takes 1, 2, or 3 arguments!")}if(step===0){throw new TypeError("range() step must not be 0")}return{next:function(){if(step>0&&start>=stop||step<0&&start<=stop){throw MochiKit.Iter.StopIteration}var rval=start;start+=step;return rval},repr:function(){return"range("+[start,stop,step].join(", ")+")"},toString:MochiKit.Base.forwardCall("repr")}},sum:function(iterable,start){var x=start||0;var self=MochiKit.Iter;iterable=self.iter(iterable);try{while(true){x+=iterable.next()}}catch(e){if(e!=self.StopIteration){throw e}}return x},exhaust:function(iterable){var self=MochiKit.Iter;iterable=self.iter(iterable);try{while(true){iterable.next()}}catch(e){if(e!=self.StopIteration){throw e}}},forEach:function(iterable,func,self){var m=MochiKit.Base;if(arguments.length>2){func=m.bind(func,self)}if(m.isArrayLike(iterable)){try{for(var i=0;i<iterable.length;i++){func(iterable[i])}}catch(e){if(e!=MochiKit.Iter.StopIteration){throw e}}}else{self=MochiKit.Iter;self.exhaust(self.imap(func,iterable))}},every:function(iterable,func){var self=MochiKit.Iter;try{self.ifilterfalse(func,iterable).next();return false}catch(e){if(e!=self.StopIteration){throw e}return true}},sorted:function(iterable,cmp){var rval=MochiKit.Iter.list(iterable);if(arguments.length==1){cmp=MochiKit.Base.compare}rval.sort(cmp);return rval},reversed:function(iterable){var rval=MochiKit.Iter.list(iterable);rval.reverse();return rval},some:function(iterable,func){var self=MochiKit.Iter;try{self.ifilter(func,iterable).next();return true}catch(e){if(e!=self.StopIteration){throw e}return false}},iextend:function(lst,iterable){if(MochiKit.Base.isArrayLike(iterable)){for(var i=0;i<iterable.length;i++){lst.push(iterable[i])}}else{var self=MochiKit.Iter;iterable=self.iter(iterable);try{while(true){lst.push(iterable.next())}}catch(e){if(e!=self.StopIteration){throw e}}}return lst},groupby:function(iterable,keyfunc){var m=MochiKit.Base;var self=MochiKit.Iter;if(arguments.length<2){keyfunc=m.operator.identity}iterable=self.iter(iterable);var pk=undefined;var k=undefined;var v;function fetch(){v=iterable.next();k=keyfunc(v)}function eat(){var ret=v;v=undefined;return ret}var first=true;return{repr:function(){return"groupby(...)"},next:function(){while(k==pk){fetch();if(first){first=false;break}}pk=k;return[k,{next:function(){if(v==undefined){fetch()}if(k!=pk){throw self.StopIteration}return eat()}}]}}},groupby_as_array:function(iterable,keyfunc){var m=MochiKit.Base;var self=MochiKit.Iter;if(arguments.length<2){keyfunc=m.operator.identity}iterable=self.iter(iterable);var result=[];var first=true;var prev_key;while(true){try{var value=iterable.next();var key=keyfunc(value)}catch(e){if(e==self.StopIteration){break}throw e}if(first||key!=prev_key){var values=[];result.push([key,values])}values.push(value);first=false;prev_key=key}return result},arrayLikeIter:function(iterable){var i=0;return{repr:function(){return"arrayLikeIter(...)"},toString:MochiKit.Base.forwardCall("repr"),next:function(){if(i>=iterable.length){throw MochiKit.Iter.StopIteration}return iterable[i++]}}},hasIterateNext:function(iterable){return iterable&&typeof iterable.iterateNext=="function"
},iterateNextIter:function(iterable){return{repr:function(){return"iterateNextIter(...)"},toString:MochiKit.Base.forwardCall("repr"),next:function(){var rval=iterable.iterateNext();if(rval===null||rval===undefined){throw MochiKit.Iter.StopIteration}return rval}}}});MochiKit.Iter.EXPORT_OK=["iteratorRegistry","arrayLikeIter","hasIterateNext","iterateNextIter"];MochiKit.Iter.EXPORT=["StopIteration","registerIteratorFactory","iter","count","cycle","repeat","next","izip","ifilter","ifilterfalse","islice","imap","applymap","chain","takewhile","dropwhile","tee","list","reduce","range","sum","exhaust","forEach","every","sorted","reversed","some","iextend","groupby","groupby_as_array"];MochiKit.Iter.__new__=function(){var m=MochiKit.Base;this.StopIteration=new m.NamedError("StopIteration");this.iteratorRegistry=new m.AdapterRegistry;this.registerIteratorFactory("arrayLike",m.isArrayLike,this.arrayLikeIter);this.registerIteratorFactory("iterateNext",this.hasIterateNext,this.iterateNextIter);this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this)};MochiKit.Iter.__new__();if(!MochiKit.__compat__){reduce=MochiKit.Iter.reduce}MochiKit.Base._exportSymbols(this,MochiKit.Iter);if(typeof dojo!="undefined"){dojo.provide("MochiKit.Color");dojo.require("MochiKit.Base")}if(typeof JSAN!="undefined"){JSAN.use("MochiKit.Base",[])}try{if(typeof MochiKit.Base=="undefined"){throw""}}catch(e){throw"MochiKit.Color depends on MochiKit.Base"}if(typeof MochiKit.Color=="undefined"){MochiKit.Color={}}MochiKit.Color.NAME="MochiKit.Color";MochiKit.Color.VERSION="1.3.1";MochiKit.Color.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.Color.toString=function(){return this.__repr__()};MochiKit.Color.Color=function(red,green,blue,alpha){if(typeof alpha=="undefined"||alpha===null){alpha=1}this.rgb={r:red,g:green,b:blue,a:alpha}};MochiKit.Color.Color.prototype={__class__:MochiKit.Color.Color,colorWithAlpha:function(alpha){var rgb=this.rgb;var m=MochiKit.Color;return m.Color.fromRGB(rgb.r,rgb.g,rgb.b,alpha)},colorWithHue:function(hue){var hsl=this.asHSL();hsl.h=hue;var m=MochiKit.Color;return m.Color.fromHSL(hsl)},colorWithSaturation:function(saturation){var hsl=this.asHSL();hsl.s=saturation;var m=MochiKit.Color;return m.Color.fromHSL(hsl)},colorWithLightness:function(lightness){var hsl=this.asHSL();hsl.l=lightness;var m=MochiKit.Color;return m.Color.fromHSL(hsl)},darkerColorWithLevel:function(level){var hsl=this.asHSL();hsl.l=Math.max(hsl.l-level,0);var m=MochiKit.Color;return m.Color.fromHSL(hsl)},lighterColorWithLevel:function(level){var hsl=this.asHSL();hsl.l=Math.min(hsl.l+level,1);var m=MochiKit.Color;return m.Color.fromHSL(hsl)},blendedColor:function(other,fraction){if(typeof fraction=="undefined"||fraction===null){fraction=.5}var sf=1-fraction;var s=this.rgb;var d=other.rgb;var df=fraction;return MochiKit.Color.Color.fromRGB(s.r*sf+d.r*df,s.g*sf+d.g*df,s.b*sf+d.b*df,s.a*sf+d.a*df)},compareRGB:function(other){var a=this.asRGB();var b=other.asRGB();return MochiKit.Base.compare([a.r,a.g,a.b,a.a],[b.r,b.g,b.b,b.a])},isLight:function(){return this.asHSL().b>.5},isDark:function(){return!this.isLight()},toHSLString:function(){var c=this.asHSL();var ccc=MochiKit.Color.clampColorComponent;var rval=this._hslString;if(!rval){var mid=ccc(c.h,360).toFixed(0)+","+ccc(c.s,100).toPrecision(4)+"%"+","+ccc(c.l,100).toPrecision(4)+"%";var a=c.a;if(a>=1){a=1;rval="hsl("+mid+")"}else{if(a<=0){a=0}rval="hsla("+mid+","+a+")"}this._hslString=rval}return rval},toRGBString:function(){var c=this.rgb;var ccc=MochiKit.Color.clampColorComponent;var rval=this._rgbString;if(!rval){var mid=ccc(c.r,255).toFixed(0)+","+ccc(c.g,255).toFixed(0)+","+ccc(c.b,255).toFixed(0);if(c.a!=1){rval="rgba("+mid+","+c.a+")"}else{rval="rgb("+mid+")"}this._rgbString=rval}return rval},asRGB:function(){return MochiKit.Base.clone(this.rgb)},toHexString:function(){var m=MochiKit.Color;var c=this.rgb;var ccc=MochiKit.Color.clampColorComponent;var rval=this._hexString;if(!rval){rval="#"+m.toColorPart(ccc(c.r,255))+m.toColorPart(ccc(c.g,255))+m.toColorPart(ccc(c.b,255));this._hexString=rval}return rval},asHSV:function(){var hsv=this.hsv;var c=this.rgb;if(typeof hsv=="undefined"||hsv===null){hsv=MochiKit.Color.rgbToHSV(this.rgb);this.hsv=hsv}return MochiKit.Base.clone(hsv)},asHSL:function(){var hsl=this.hsl;var c=this.rgb;if(typeof hsl=="undefined"||hsl===null){hsl=MochiKit.Color.rgbToHSL(this.rgb);this.hsl=hsl}return MochiKit.Base.clone(hsl)},toString:function(){return this.toRGBString()},repr:function(){var c=this.rgb;var col=[c.r,c.g,c.b,c.a];return this.__class__.NAME+"("+col.join(", ")+")"}};MochiKit.Base.update(MochiKit.Color.Color,{fromRGB:function(red,green,blue,alpha){var Color=MochiKit.Color.Color;if(arguments.length==1){var rgb=red;red=rgb.r;green=rgb.g;blue=rgb.b;if(typeof rgb.a=="undefined"){alpha=undefined}else{alpha=rgb.a}}return new Color(red,green,blue,alpha)},fromHSL:function(hue,saturation,lightness,alpha){var m=MochiKit.Color;return m.Color.fromRGB(m.hslToRGB.apply(m,arguments))},fromHSV:function(hue,saturation,value,alpha){var m=MochiKit.Color;return m.Color.fromRGB(m.hsvToRGB.apply(m,arguments))},fromName:function(name){var Color=MochiKit.Color.Color;if(name.charAt(0)=='"'){name=name.substr(1,name.length-2)}var htmlColor=Color._namedColors[name.toLowerCase()];if(typeof htmlColor=="string"){return Color.fromHexString(htmlColor)}else if(name=="transparent"){return Color.transparentColor()}return null},fromString:function(colorString){var self=MochiKit.Color.Color;var three=colorString.substr(0,3);if(three=="rgb"){return self.fromRGBString(colorString)}else if(three=="hsl"){return self.fromHSLString(colorString)}else if(colorString.charAt(0)=="#"){return self.fromHexString(colorString)}return self.fromName(colorString)},fromHexString:function(hexCode){if(hexCode.charAt(0)=="#"){hexCode=hexCode.substring(1)}var components=[];var i,hex;if(hexCode.length==3){for(i=0;i<3;i++){hex=hexCode.substr(i,1);components.push(parseInt(hex+hex,16)/255)}}else{for(i=0;i<6;i+=2){hex=hexCode.substr(i,2);components.push(parseInt(hex,16)/255)}}var Color=MochiKit.Color.Color;return Color.fromRGB.apply(Color,components)},_fromColorString:function(pre,method,scales,colorCode){if(colorCode.indexOf(pre)===0){colorCode=colorCode.substring(colorCode.indexOf("(",3)+1,colorCode.length-1)}var colorChunks=colorCode.split(/\s*,\s*/);var colorFloats=[];for(var i=0;i<colorChunks.length;i++){var c=colorChunks[i];var val;var three=c.substring(c.length-3);if(c.charAt(c.length-1)=="%"){val=.01*parseFloat(c.substring(0,c.length-1))}else if(three=="deg"){val=parseFloat(c)/360}else if(three=="rad"){val=parseFloat(c)/(Math.PI*2)}else{val=scales[i]*parseFloat(c)}colorFloats.push(val)}return this[method].apply(this,colorFloats)},fromComputedStyle:function(elem,style,mozillaEquivalentCSS){var d=MochiKit.DOM;var cls=MochiKit.Color.Color;for(elem=d.getElement(elem);elem;elem=elem.parentNode){var actualColor=d.computedStyle.apply(d,arguments);if(!actualColor){continue}var color=cls.fromString(actualColor);if(!color){break}if(color.asRGB().a>0){return color}}return null},fromBackground:function(elem){var cls=MochiKit.Color.Color;return cls.fromComputedStyle(elem,"backgroundColor","background-color")||cls.whiteColor()},fromText:function(elem){var cls=MochiKit.Color.Color;return cls.fromComputedStyle(elem,"color","color")||cls.blackColor()},namedColors:function(){return MochiKit.Base.clone(MochiKit.Color.Color._namedColors)}});MochiKit.Base.update(MochiKit.Color,{clampColorComponent:function(v,scale){v*=scale;if(v<0){return 0}else if(v>scale){return scale}else{return v}},_hslValue:function(n1,n2,hue){if(hue>6){hue-=6}else if(hue<0){hue+=6}var val;if(hue<1){val=n1+(n2-n1)*hue}else if(hue<3){val=n2}else if(hue<4){val=n1+(n2-n1)*(4-hue)}else{val=n1}return val},hsvToRGB:function(hue,saturation,value,alpha){if(arguments.length==1){var hsv=hue;hue=hsv.h;saturation=hsv.s;value=hsv.v;alpha=hsv.a}var red;var green;var blue;if(saturation===0){red=0;green=0;blue=0}else{var i=Math.floor(hue*6);var f=hue*6-i;var p=value*(1-saturation);var q=value*(1-saturation*f);var t=value*(1-saturation*(1-f));switch(i){case 1:red=q;green=value;blue=p;break;case 2:red=p;green=value;blue=t;break;case 3:red=p;green=q;blue=value;break;case 4:red=t;green=p;blue=value;break;case 5:red=value;green=p;blue=q;break;case 6:case 0:red=value;green=t;blue=p;break}}return{r:red,g:green,b:blue,a:alpha}},hslToRGB:function(hue,saturation,lightness,alpha){if(arguments.length==1){var hsl=hue;hue=hsl.h;saturation=hsl.s;lightness=hsl.l;alpha=hsl.a}var red;var green;var blue;if(saturation===0){red=lightness;green=lightness;blue=lightness}else{var m2;if(lightness<=.5){m2=lightness*(1+saturation)}else{m2=lightness+saturation-lightness*saturation}var m1=2*lightness-m2;var f=MochiKit.Color._hslValue;var h6=hue*6;red=f(m1,m2,h6+2);green=f(m1,m2,h6);blue=f(m1,m2,h6-2)}return{r:red,g:green,b:blue,a:alpha}},rgbToHSV:function(red,green,blue,alpha){if(arguments.length==1){var rgb=red;red=rgb.r;green=rgb.g;blue=rgb.b;alpha=rgb.a}var max=Math.max(Math.max(red,green),blue);var min=Math.min(Math.min(red,green),blue);var hue;var saturation;var value=max;if(min==max){hue=0;saturation=0}else{var delta=max-min;saturation=delta/max;if(red==max){hue=(green-blue)/delta}else if(green==max){hue=2+(blue-red)/delta}else{hue=4+(red-green)/delta}hue/=6;if(hue<0){hue+=1}if(hue>1){hue-=1}}return{h:hue,s:saturation,v:value,a:alpha}},rgbToHSL:function(red,green,blue,alpha){if(arguments.length==1){var rgb=red;red=rgb.r;green=rgb.g;blue=rgb.b;alpha=rgb.a}var max=Math.max(red,Math.max(green,blue));var min=Math.min(red,Math.min(green,blue));var hue;var saturation;var lightness=(max+min)/2;var delta=max-min;if(delta===0){hue=0;saturation=0}else{if(lightness<=.5){saturation=delta/(max+min)}else{saturation=delta/(2-max-min)}if(red==max){hue=(green-blue)/delta}else if(green==max){hue=2+(blue-red)/delta}else{hue=4+(red-green)/delta}hue/=6;if(hue<0){hue+=1}if(hue>1){hue-=1}}return{h:hue,s:saturation,l:lightness,a:alpha}},toColorPart:function(num){num=Math.round(num);var digits=num.toString(16);if(num<16){return"0"+digits}return digits},__new__:function(){var m=MochiKit.Base;this.Color.fromRGBString=m.bind(this.Color._fromColorString,this.Color,"rgb","fromRGB",[1/255,1/255,1/255,1]);this.Color.fromHSLString=m.bind(this.Color._fromColorString,this.Color,"hsl","fromHSL",[1/360,.01,.01,1]);var third=1/3;var colors={black:[0,0,0],blue:[0,0,1],brown:[.6,.4,.2],cyan:[0,1,1],darkGray:[third,third,third],gray:[.5,.5,.5],green:[0,1,0],lightGray:[2*third,2*third,2*third],magenta:[1,0,1],orange:[1,.5,0],purple:[.5,0,.5],red:[1,0,0],transparent:[0,0,0,0],white:[1,1,1],yellow:[1,1,0]};var makeColor=function(name,r,g,b,a){var rval=this.fromRGB(r,g,b,a);this[name]=function(){return rval};return rval};for(var k in colors){var name=k+"Color";var bindArgs=m.concat([makeColor,this.Color,name],colors[k]);this.Color[name]=m.bind.apply(null,bindArgs)}var isColor=function(){for(var i=0;i<arguments.length;i++){if(!(arguments[i]instanceof Color)){return false}}return true};var compareColor=function(a,b){return a.compareRGB(b)};m.nameFunctions(this);m.registerComparator(this.Color.NAME,isColor,compareColor);this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}}});MochiKit.Color.EXPORT=["Color"];MochiKit.Color.EXPORT_OK=["clampColorComponent","rgbToHSL","hslToRGB","rgbToHSV","hsvToRGB","toColorPart"];MochiKit.Color.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Color);MochiKit.Color.Color._namedColors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};if(typeof dojo!="undefined"){dojo.provide("MochiKit.DOM");dojo.require("MochiKit.Iter")}if(typeof JSAN!="undefined"){JSAN.use("MochiKit.Iter",[])}try{if(typeof MochiKit.Iter=="undefined"){throw""}}catch(e){throw"MochiKit.DOM depends on MochiKit.Iter!"}if(typeof MochiKit.DOM=="undefined"){MochiKit.DOM={}}MochiKit.DOM.NAME="MochiKit.DOM";MochiKit.DOM.VERSION="1.3.1";MochiKit.DOM.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.DOM.toString=function(){return this.__repr__()};MochiKit.DOM.EXPORT=["formContents","currentWindow","currentDocument","withWindow","withDocument","registerDOMConverter","coerceToDOM","createDOM","createDOMFunc","getNodeAttribute","setNodeAttribute","updateNodeAttributes","appendChildNodes","replaceChildNodes","removeElement","swapDOM","BUTTON","TT","PRE","H1","H2","H3","BR","CANVAS","HR","LABEL","TEXTAREA","FORM","STRONG","SELECT","OPTION","OPTGROUP","LEGEND","FIELDSET","P","UL","OL","LI","TD","TR","THEAD","TBODY","TFOOT","TABLE","TH","INPUT","SPAN","A","DIV","IMG","getElement","computedStyle","getElementsByTagAndClassName","addToCallStack","addLoadEvent","focusOnLoad","setElementClass","toggleElementClass","addElementClass","removeElementClass","swapElementClass","hasElementClass","escapeHTML","toHTML","emitHTML","setDisplayForElement","hideElement","showElement","scrapeText","elementDimensions","elementPosition","setElementDimensions","setElementPosition","getViewportDimensions","setOpacity"];MochiKit.DOM.EXPORT_OK=["domConverters"];MochiKit.DOM.Dimensions=function(w,h){this.w=w;this.h=h};MochiKit.DOM.Dimensions.prototype.repr=function(){var repr=MochiKit.Base.repr;return"{w: "+repr(this.w)+", h: "+repr(this.h)+"}"};MochiKit.DOM.Coordinates=function(x,y){this.x=x;this.y=y};MochiKit.DOM.Coordinates.prototype.repr=function(){var repr=MochiKit.Base.repr;return"{x: "+repr(this.x)+", y: "+repr(this.y)+"}"};MochiKit.DOM.Coordinates.prototype.toString=function(){return this.repr()};MochiKit.Base.update(MochiKit.DOM,{setOpacity:function(elem,o){elem=MochiKit.DOM.getElement(elem);MochiKit.DOM.updateNodeAttributes(elem,{style:{opacity:o,"-moz-opacity":o,"-khtml-opacity":o,filter:" alpha(opacity="+o*100+")"}})},getViewportDimensions:function(){var d=new MochiKit.DOM.Dimensions;var w=MochiKit.DOM._window;var b=MochiKit.DOM._document.body;if(w.innerWidth){d.w=w.innerWidth;d.h=w.innerHeight}else if(b.parentElement.clientWidth){d.w=b.parentElement.clientWidth;d.h=b.parentElement.clientHeight}else if(b&&b.clientWidth){d.w=b.clientWidth;d.h=b.clientHeight}return d},elementDimensions:function(elem){var self=MochiKit.DOM;if(typeof elem.w=="number"||typeof elem.h=="number"){return new self.Dimensions(elem.w||0,elem.h||0)}elem=self.getElement(elem);if(!elem){return undefined}if(self.computedStyle(elem,"display")!="none"){return new self.Dimensions(elem.offsetWidth||0,elem.offsetHeight||0)}var s=elem.style;var originalVisibility=s.visibility;var originalPosition=s.position;s.visibility="hidden";s.position="absolute";s.display="";var originalWidth=elem.offsetWidth;var originalHeight=elem.offsetHeight;s.display="none";s.position=originalPosition;s.visibility=originalVisibility;return new self.Dimensions(originalWidth,originalHeight)},elementPosition:function(elem,relativeTo){var self=MochiKit.DOM;elem=self.getElement(elem);if(!elem){return undefined}var c=new self.Coordinates(0,0);if(elem.x&&elem.y){c.x+=elem.x||0;c.y+=elem.y||0;return c}else if(elem.parentNode===null||self.computedStyle(elem,"display")=="none"){return undefined}var box=null;var parent=null;var d=MochiKit.DOM._document;var de=d.documentElement;var b=d.body;if(elem.getBoundingClientRect){box=elem.getBoundingClientRect();c.x+=box.left+(de.scrollLeft||b.scrollLeft)-(de.clientLeft||b.clientLeft);c.y+=box.top+(de.scrollTop||b.scrollTop)-(de.clientTop||b.clientTop)}else if(d.getBoxObjectFor){box=d.getBoxObjectFor(elem);c.x+=box.x;c.y+=box.y}else if(elem.offsetParent){c.x+=elem.offsetLeft;c.y+=elem.offsetTop;parent=elem.offsetParent;if(parent!=elem){while(parent){c.x+=parent.offsetLeft;c.y+=parent.offsetTop;parent=parent.offsetParent}}var ua=navigator.userAgent.toLowerCase();if(typeof opera!="undefined"&&parseFloat(opera.version())<9||ua.indexOf("safari")!=-1&&self.computedStyle(elem,"position")=="absolute"){c.x-=b.offsetLeft;c.y-=b.offsetTop}}if(typeof relativeTo!="undefined"){relativeTo=arguments.callee(relativeTo);if(relativeTo){c.x-=relativeTo.x||0;c.y-=relativeTo.y||0}}if(elem.parentNode){parent=elem.parentNode}else{parent=null}while(parent&&parent.tagName!="BODY"&&parent.tagName!="HTML"){c.x-=parent.scrollLeft;c.y-=parent.scrollTop;if(parent.parentNode){parent=parent.parentNode}else{parent=null}}return c},setElementDimensions:function(elem,newSize,units){elem=MochiKit.DOM.getElement(elem);if(typeof units=="undefined"){units="px"}MochiKit.DOM.updateNodeAttributes(elem,{style:{width:newSize.w+units,height:newSize.h+units}})},setElementPosition:function(elem,newPos,units){elem=MochiKit.DOM.getElement(elem);if(typeof units=="undefined"){units="px"}MochiKit.DOM.updateNodeAttributes(elem,{style:{left:newPos.x+units,top:newPos.y+units}})},currentWindow:function(){return MochiKit.DOM._window},currentDocument:function(){return MochiKit.DOM._document},withWindow:function(win,func){var self=MochiKit.DOM;var oldDoc=self._document;var oldWin=self._win;var rval;try{self._window=win;self._document=win.document;rval=func()}catch(e){self._window=oldWin;self._document=oldDoc;throw e}self._window=oldWin;self._document=oldDoc;return rval},formContents:function(elem){var names=[];var values=[];var m=MochiKit.Base;var self=MochiKit.DOM;if(typeof elem=="undefined"||elem===null){elem=self._document}else{elem=self.getElement(elem)}m.nodeWalk(elem,function(elem){var name=elem.name;if(m.isNotEmpty(name)){var tagName=elem.nodeName;if(tagName=="INPUT"&&(elem.type=="radio"||elem.type=="checkbox")&&!elem.checked){return null}if(tagName=="SELECT"){if(elem.selectedIndex>=0){var opt=elem.options[elem.selectedIndex];names.push(name);values.push(opt.value?opt.value:opt.text);return null}names.push(name);values.push("");return null}if(tagName=="FORM"||tagName=="P"||tagName=="SPAN"||tagName=="DIV"){return elem.childNodes}names.push(name);values.push(elem.value||"");return null}return elem.childNodes});return[names,values]},withDocument:function(doc,func){var self=MochiKit.DOM;var oldDoc=self._document;var rval;try{self._document=doc;rval=func()}catch(e){self._document=oldDoc;throw e}self._document=oldDoc;return rval},registerDOMConverter:function(name,check,wrap,override){MochiKit.DOM.domConverters.register(name,check,wrap,override)},coerceToDOM:function(node,ctx){var im=MochiKit.Iter;var self=MochiKit.DOM;var iter=im.iter;var repeat=im.repeat;var imap=im.imap;var domConverters=self.domConverters;var coerceToDOM=self.coerceToDOM;var NotFound=MochiKit.Base.NotFound;while(true){if(typeof node=="undefined"||node===null){return null}if(typeof node.nodeType!="undefined"&&node.nodeType>0){return node}if(typeof node=="number"||typeof node=="boolean"){node=node.toString()}if(typeof node=="string"){return self._document.createTextNode(node)}if(typeof node.toDOM=="function"){node=node.toDOM(ctx);continue}if(typeof node=="function"){node=node(ctx);continue}var iterNodes=null;try{iterNodes=iter(node)}catch(e){}if(iterNodes){return imap(coerceToDOM,iterNodes,repeat(ctx))}try{node=domConverters.match(node,ctx);continue}catch(e){if(e!=NotFound){throw e}}return self._document.createTextNode(node.toString())}return undefined},setNodeAttribute:function(node,attr,value){var o={};o[attr]=value;try{return MochiKit.DOM.updateNodeAttributes(node,o)}catch(e){}return null},getNodeAttribute:function(node,attr){var self=MochiKit.DOM;var rename=self.attributeArray.renames[attr];node=self.getElement(node);try{if(rename){return node[rename]}return node.getAttribute(attr)}catch(e){}return null},updateNodeAttributes:function(node,attrs){var elem=node;var self=MochiKit.DOM;if(typeof node=="string"){elem=self.getElement(node)}if(attrs){var updatetree=MochiKit.Base.updatetree;if(self.attributeArray.compliant){for(var k in attrs){var v=attrs[k];if(typeof v=="object"&&typeof elem[k]=="object"){updatetree(elem[k],v)}else if(k.substring(0,2)=="on"){if(typeof v=="string"){v=new Function(v)}elem[k]=v}else{elem.setAttribute(k,v)}}}else{var renames=self.attributeArray.renames;for(k in attrs){v=attrs[k];var renamed=renames[k];if(k=="style"&&typeof v=="string"){elem.style.cssText=v}else if(typeof renamed=="string"){elem[renamed]=v}else if(typeof elem[k]=="object"&&typeof v=="object"){updatetree(elem[k],v)}else if(k.substring(0,2)=="on"){if(typeof v=="string"){v=new Function(v)}elem[k]=v}else{elem.setAttribute(k,v)}}}}return elem},appendChildNodes:function(node){var elem=node;var self=MochiKit.DOM;if(typeof node=="string"){elem=self.getElement(node)}var nodeStack=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)];var concat=MochiKit.Base.concat;while(nodeStack.length){var n=nodeStack.shift();if(typeof n=="undefined"||n===null){}else if(typeof n.nodeType=="number"){elem.appendChild(n)}else{nodeStack=concat(n,nodeStack)}}return elem},replaceChildNodes:function(node){var elem=node;var self=MochiKit.DOM;if(typeof node=="string"){elem=self.getElement(node);arguments[0]=elem}var child;while(child=elem.firstChild){elem.removeChild(child)}if(arguments.length<2){return elem}else{return self.appendChildNodes.apply(this,arguments)}},createDOM:function(name,attrs){var elem;var self=MochiKit.DOM;var m=MochiKit.Base;if(typeof attrs=="string"||typeof attrs=="number"){var args=m.extend([name,null],arguments,1);return arguments.callee.apply(this,args)}if(typeof name=="string"){if(attrs&&"name"in attrs&&!self.attributeArray.compliant){name="<"+name+' name="'+self.escapeHTML(attrs.name)+'">'}elem=self._document.createElement(name)}else{elem=name}if(attrs){self.updateNodeAttributes(elem,attrs)}if(arguments.length<=2){return elem}else{var args=m.extend([elem],arguments,2);return self.appendChildNodes.apply(this,args)}},createDOMFunc:function(){var m=MochiKit.Base;return m.partial.apply(this,m.extend([MochiKit.DOM.createDOM],arguments))},swapDOM:function(dest,src){var self=MochiKit.DOM;dest=self.getElement(dest);var parent=dest.parentNode;if(src){src=self.getElement(src);parent.replaceChild(src,dest)}else{parent.removeChild(dest)}return src},getElement:function(id){var self=MochiKit.DOM;if(arguments.length==1){return typeof id=="string"?self._document.getElementById(id):id}else{return MochiKit.Base.map(self.getElement,arguments)}},computedStyle:function(htmlElement,cssProperty,mozillaEquivalentCSS){if(arguments.length==2){mozillaEquivalentCSS=cssProperty}var self=MochiKit.DOM;var el=self.getElement(htmlElement);var document=self._document;if(!el||el==document){return undefined}if(el.currentStyle){return el.currentStyle[cssProperty]}if(typeof document.defaultView=="undefined"){return undefined}if(document.defaultView===null){return undefined}var style=document.defaultView.getComputedStyle(el,null);if(typeof style=="undefined"||style===null){return undefined}return style.getPropertyValue(mozillaEquivalentCSS)},getElementsByTagAndClassName:function(tagName,className,parent){var self=MochiKit.DOM;if(typeof tagName=="undefined"||tagName===null){tagName="*"}if(typeof parent=="undefined"||parent===null){parent=self._document}parent=self.getElement(parent);var children=parent.getElementsByTagName(tagName)||self._document.all;if(typeof className=="undefined"||className===null){return MochiKit.Base.extend(null,children)}var elements=[];for(var i=0;i<children.length;i++){var child=children[i];var classNames=child.className.split(" ");for(var j=0;j<classNames.length;j++){if(classNames[j]==className){elements.push(child);break}}}return elements},_newCallStack:function(path,once){var rval=function(){var callStack=arguments.callee.callStack;for(var i=0;i<callStack.length;i++){if(callStack[i].apply(this,arguments)===false){break}}if(once){try{this[path]=null}catch(e){}}};rval.callStack=[];return rval},addToCallStack:function(target,path,func,once){var self=MochiKit.DOM;var existing=target[path];var regfunc=existing;if(!(typeof existing=="function"&&typeof existing.callStack=="object"&&existing.callStack!==null)){regfunc=self._newCallStack(path,once);if(typeof existing=="function"){regfunc.callStack.push(existing)}target[path]=regfunc}regfunc.callStack.push(func)},addLoadEvent:function(func){var self=MochiKit.DOM;self.addToCallStack(self._window,"onload",func,true)},focusOnLoad:function(element){var self=MochiKit.DOM;self.addLoadEvent(function(){element=self.getElement(element);if(element){element.focus()}})},setElementClass:function(element,className){var self=MochiKit.DOM;var obj=self.getElement(element);if(self.attributeArray.compliant){obj.setAttribute("class",className)}else{obj.setAttribute("className",className)}},toggleElementClass:function(className){var self=MochiKit.DOM;for(var i=1;i<arguments.length;i++){var obj=self.getElement(arguments[i]);if(!self.addElementClass(obj,className)){self.removeElementClass(obj,className)}}},addElementClass:function(element,className){var self=MochiKit.DOM;var obj=self.getElement(element);var cls=obj.className;if(cls.length===0){self.setElementClass(obj,className);return true}if(cls==className){return false}var classes=obj.className.split(" ");for(var i=0;i<classes.length;i++){if(classes[i]==className){return false}}self.setElementClass(obj,cls+" "+className);return true},removeElementClass:function(element,className){var self=MochiKit.DOM;var obj=self.getElement(element);var cls=obj.className;if(cls.length===0){return false}if(cls==className){self.setElementClass(obj,"");return true}var classes=obj.className.split(" ");for(var i=0;i<classes.length;i++){if(classes[i]==className){classes.splice(i,1);self.setElementClass(obj,classes.join(" "));return true}}return false},swapElementClass:function(element,fromClass,toClass){var obj=MochiKit.DOM.getElement(element);var res=MochiKit.DOM.removeElementClass(obj,fromClass);if(res){MochiKit.DOM.addElementClass(obj,toClass)}return res},hasElementClass:function(element,className){var obj=MochiKit.DOM.getElement(element);var classes=obj.className.split(" ");for(var i=1;i<arguments.length;i++){var good=false;for(var j=0;j<classes.length;j++){if(classes[j]==arguments[i]){good=true;break}}if(!good){return false}}return true},escapeHTML:function(s){return s.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},toHTML:function(dom){return MochiKit.DOM.emitHTML(dom).join("")},emitHTML:function(dom,lst){if(typeof lst=="undefined"||lst===null){lst=[]}var queue=[dom];var self=MochiKit.DOM;var escapeHTML=self.escapeHTML;var attributeArray=self.attributeArray;while(queue.length){dom=queue.pop();if(typeof dom=="string"){lst.push(dom)}else if(dom.nodeType==1){lst.push("<"+dom.nodeName.toLowerCase());var attributes=[];var domAttr=attributeArray(dom);for(var i=0;i<domAttr.length;i++){var a=domAttr[i];attributes.push([" ",a.name,'="',escapeHTML(a.value),'"'])}attributes.sort();for(i=0;i<attributes.length;i++){var attrs=attributes[i];for(var j=0;j<attrs.length;j++){lst.push(attrs[j])}}if(dom.hasChildNodes()){lst.push(">");queue.push("</"+dom.nodeName.toLowerCase()+">");var cnodes=dom.childNodes;for(i=cnodes.length-1;i>=0;i--){queue.push(cnodes[i])}}else{lst.push("/>")}}else if(dom.nodeType==3){lst.push(escapeHTML(dom.nodeValue))}}return lst},setDisplayForElement:function(display,element){var m=MochiKit.Base;var elements=m.extend(null,arguments,1);MochiKit.Iter.forEach(m.filter(null,m.map(MochiKit.DOM.getElement,elements)),function(element){element.style.display=display})},scrapeText:function(node,asArray){var rval=[];(function(node){var cn=node.childNodes;if(cn){for(var i=0;i<cn.length;i++){arguments.callee.call(this,cn[i])}}var nodeValue=node.nodeValue;if(typeof nodeValue=="string"){rval.push(nodeValue)}})(MochiKit.DOM.getElement(node));if(asArray){return rval}else{return rval.join("")}},__new__:function(win){var m=MochiKit.Base;this._document=document;this._window=win;this.domConverters=new m.AdapterRegistry;var __tmpElement=this._document.createElement("span");var attributeArray;if(__tmpElement&&__tmpElement.attributes&&__tmpElement.attributes.length>0){var filter=m.filter;attributeArray=function(node){return filter(attributeArray.ignoreAttrFilter,node.attributes)};attributeArray.ignoreAttr={};MochiKit.Iter.forEach(__tmpElement.attributes,function(a){attributeArray.ignoreAttr[a.name]=a.value});attributeArray.ignoreAttrFilter=function(a){return attributeArray.ignoreAttr[a.name]!=a.value};attributeArray.compliant=false;attributeArray.renames={class:"className",checked:"defaultChecked",usemap:"useMap",for:"htmlFor"}}else{attributeArray=function(node){return node.attributes};attributeArray.compliant=true;attributeArray.renames={}}this.attributeArray=attributeArray;var createDOMFunc=this.createDOMFunc;this.UL=createDOMFunc("ul");this.OL=createDOMFunc("ol");this.LI=createDOMFunc("li");this.TD=createDOMFunc("td");this.TR=createDOMFunc("tr");this.TBODY=createDOMFunc("tbody");this.THEAD=createDOMFunc("thead");this.TFOOT=createDOMFunc("tfoot");this.TABLE=createDOMFunc("table");this.TH=createDOMFunc("th");this.INPUT=createDOMFunc("input");this.SPAN=createDOMFunc("span");this.A=createDOMFunc("a");this.DIV=createDOMFunc("div");this.IMG=createDOMFunc("img");this.BUTTON=createDOMFunc("button");this.TT=createDOMFunc("tt");this.PRE=createDOMFunc("pre");this.H1=createDOMFunc("h1");this.H2=createDOMFunc("h2");
this.H3=createDOMFunc("h3");this.BR=createDOMFunc("br");this.HR=createDOMFunc("hr");this.LABEL=createDOMFunc("label");this.TEXTAREA=createDOMFunc("textarea");this.FORM=createDOMFunc("form");this.P=createDOMFunc("p");this.SELECT=createDOMFunc("select");this.OPTION=createDOMFunc("option");this.OPTGROUP=createDOMFunc("optgroup");this.LEGEND=createDOMFunc("legend");this.FIELDSET=createDOMFunc("fieldset");this.STRONG=createDOMFunc("strong");this.CANVAS=createDOMFunc("canvas");this.hideElement=m.partial(this.setDisplayForElement,"none");this.showElement=m.partial(this.setDisplayForElement,"block");this.removeElement=this.swapDOM;this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this)}});MochiKit.DOM.__new__(typeof window=="undefined"?this:window);if(!MochiKit.__compat__){withWindow=MochiKit.DOM.withWindow;withDocument=MochiKit.DOM.withDocument}MochiKit.Base._exportSymbols(this,MochiKit.DOM);if(typeof dojo!="undefined"){dojo.provide("MochiKit.Format")}if(typeof MochiKit=="undefined"){MochiKit={}}if(typeof MochiKit.Format=="undefined"){MochiKit.Format={}}MochiKit.Format.NAME="MochiKit.Format";MochiKit.Format.VERSION="1.3.1";MochiKit.Format.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.Format.toString=function(){return this.__repr__()};MochiKit.Format._numberFormatter=function(placeholder,header,footer,locale,isPercent,precision,leadingZeros,separatorAt,trailingZeros){return function(num){num=parseFloat(num);if(typeof num=="undefined"||num===null||isNaN(num)){return placeholder}var curheader=header;var curfooter=footer;if(num<0){num=-num}else{curheader=curheader.replace(/-/,"")}var me=arguments.callee;var fmt=MochiKit.Format.formatLocale(locale);if(isPercent){num=num*100;curfooter=fmt.percent+curfooter}num=MochiKit.Format.roundToFixed(num,precision);var parts=num.split(/\./);var whole=parts[0];var frac=parts.length==1?"":parts[1];var res="";while(whole.length<leadingZeros){whole="0"+whole}if(separatorAt){while(whole.length>separatorAt){var i=whole.length-separatorAt;res=fmt.separator+whole.substring(i,whole.length)+res;whole=whole.substring(0,i)}}res=whole+res;if(precision>0){while(frac.length<trailingZeros){frac=frac+"0"}res=res+fmt.decimal+frac}return curheader+res+curfooter}};MochiKit.Format.numberFormatter=function(pattern,placeholder,locale){if(typeof placeholder=="undefined"){placeholder=""}var match=pattern.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/);if(!match){throw TypeError("Invalid pattern")}var header=pattern.substr(0,match.index);var footer=pattern.substr(match.index+match[0].length);if(header.search(/-/)==-1){header=header+"-"}var whole=match[1];var frac=typeof match[2]=="string"&&match[2]!=""?match[2]:"";var isPercent=typeof match[3]=="string"&&match[3]!="";var tmp=whole.split(/,/);var separatorAt;if(typeof locale=="undefined"){locale="default"}if(tmp.length==1){separatorAt=null}else{separatorAt=tmp[1].length}var leadingZeros=whole.length-whole.replace(/0/g,"").length;var trailingZeros=frac.length-frac.replace(/0/g,"").length;var precision=frac.length;var rval=MochiKit.Format._numberFormatter(placeholder,header,footer,locale,isPercent,precision,leadingZeros,separatorAt,trailingZeros);var m=MochiKit.Base;if(m){var fn=arguments.callee;var args=m.concat(arguments);rval.repr=function(){return[self.NAME,"(",map(m.repr,args).join(", "),")"].join("")}}return rval};MochiKit.Format.formatLocale=function(locale){if(typeof locale=="undefined"||locale===null){locale="default"}if(typeof locale=="string"){var rval=MochiKit.Format.LOCALE[locale];if(typeof rval=="string"){rval=arguments.callee(rval);MochiKit.Format.LOCALE[locale]=rval}return rval}else{return locale}};MochiKit.Format.twoDigitAverage=function(numerator,denominator){if(denominator){var res=numerator/denominator;if(!isNaN(res)){return MochiKit.Format.twoDigitFloat(numerator/denominator)}}return"0"};MochiKit.Format.twoDigitFloat=function(someFloat){var sign=someFloat<0?"-":"";var s=Math.floor(Math.abs(someFloat)*100).toString();if(s=="0"){return s}if(s.length<3){while(s.charAt(s.length-1)=="0"){s=s.substring(0,s.length-1)}return sign+"0."+s}var head=sign+s.substring(0,s.length-2);var tail=s.substring(s.length-2,s.length);if(tail=="00"){return head}else if(tail.charAt(1)=="0"){return head+"."+tail.charAt(0)}else{return head+"."+tail}};MochiKit.Format.lstrip=function(str,chars){str=str+"";if(typeof str!="string"){return null}if(!chars){return str.replace(/^\s+/,"")}else{return str.replace(new RegExp("^["+chars+"]+"),"")}};MochiKit.Format.rstrip=function(str,chars){str=str+"";if(typeof str!="string"){return null}if(!chars){return str.replace(/\s+$/,"")}else{return str.replace(new RegExp("["+chars+"]+$"),"")}};MochiKit.Format.strip=function(str,chars){var self=MochiKit.Format;return self.rstrip(self.lstrip(str,chars),chars)};MochiKit.Format.truncToFixed=function(aNumber,precision){aNumber=Math.floor(aNumber*Math.pow(10,precision));var res=(aNumber*Math.pow(10,-precision)).toFixed(precision);if(res.charAt(0)=="."){res="0"+res}return res};MochiKit.Format.roundToFixed=function(aNumber,precision){return MochiKit.Format.truncToFixed(aNumber+.5*Math.pow(10,-precision),precision)};MochiKit.Format.percentFormat=function(someFloat){return MochiKit.Format.twoDigitFloat(100*someFloat)+"%"};MochiKit.Format.EXPORT=["truncToFixed","roundToFixed","numberFormatter","formatLocale","twoDigitAverage","twoDigitFloat","percentFormat","lstrip","rstrip","strip"];MochiKit.Format.LOCALE={en_US:{separator:",",decimal:".",percent:"%"},de_DE:{separator:".",decimal:",",percent:"%"},fr_FR:{separator:" ",decimal:",",percent:"%"},default:"en_US"};MochiKit.Format.EXPORT_OK=[];MochiKit.Format.EXPORT_TAGS={":all":MochiKit.Format.EXPORT,":common":MochiKit.Format.EXPORT};MochiKit.Format.__new__=function(){var base=this.NAME+".";var k,v,o;for(k in this.LOCALE){o=this.LOCALE[k];if(typeof o=="object"){o.repr=function(){return this.NAME};o.NAME=base+"LOCALE."+k}}for(k in this){o=this[k];if(typeof o=="function"&&typeof o.NAME=="undefined"){try{o.NAME=base+k}catch(e){}}}};MochiKit.Format.__new__();if(typeof MochiKit.Base!="undefined"){MochiKit.Base._exportSymbols(this,MochiKit.Format)}else{(function(globals,module){if(typeof JSAN=="undefined"&&typeof dojo=="undefined"||typeof MochiKit.__compat__=="boolean"&&MochiKit.__compat__){var all=module.EXPORT_TAGS[":all"];for(var i=0;i<all.length;i++){globals[all[i]]=module[all[i]]}}})(this,MochiKit.Format)}if(typeof MochiKit=="undefined"){MochiKit={}}if(typeof MochiKit.MochiKit=="undefined"){MochiKit.MochiKit={}}MochiKit.MochiKit.NAME="MochiKit.MochiKit";MochiKit.MochiKit.VERSION="1.3.1";MochiKit.MochiKit.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};MochiKit.MochiKit.toString=function(){return this.__repr__()};MochiKit.MochiKit.SUBMODULES=[];if(typeof JSAN!="undefined"||typeof dojo!="undefined"){if(typeof dojo!="undefined"){dojo.provide("MochiKit.MochiKit");dojo.require("MochiKit.*")}if(typeof JSAN!="undefined"){JSAN.use("MochiKit.Base",[]);JSAN.use("MochiKit.Iter",[]);JSAN.use("MochiKit.Logging",[]);JSAN.use("MochiKit.DateTime",[]);JSAN.use("MochiKit.Format",[]);JSAN.use("MochiKit.Async",[]);JSAN.use("MochiKit.DOM",[]);JSAN.use("MochiKit.LoggingPane",[]);JSAN.use("MochiKit.Color",[]);JSAN.use("MochiKit.Signal",[]);JSAN.use("MochiKit.Visual",[])}(function(){var extend=MochiKit.Base.extend;var self=MochiKit.MochiKit;var modules=self.SUBMODULES;var EXPORT=[];var EXPORT_OK=[];var EXPORT_TAGS={};var i,k,m,all;for(i=0;i<modules.length;i++){m=MochiKit[modules[i]];extend(EXPORT,m.EXPORT);extend(EXPORT_OK,m.EXPORT_OK);for(k in m.EXPORT_TAGS){EXPORT_TAGS[k]=extend(EXPORT_TAGS[k],m.EXPORT_TAGS[k])}all=m.EXPORT_TAGS[":all"];if(!all){all=extend(null,m.EXPORT,m.EXPORT_OK)}var j;for(j=0;j<all.length;j++){k=all[j];self[k]=m[k]}}self.EXPORT=EXPORT;self.EXPORT_OK=EXPORT_OK;self.EXPORT_TAGS=EXPORT_TAGS})()}else{if(typeof MochiKit.__compat__=="undefined"){MochiKit.__compat__=true}(function(){var scripts=document.getElementsByTagName("script");var kXULNSURI="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";var base=null;var baseElem=null;var allScripts={};var i;for(i=0;i<scripts.length;i++){var src=scripts[i].getAttribute("src");if(!src){continue}allScripts[src]=true;if(src.match(/MochiKit.js$/)){base=src.substring(0,src.lastIndexOf("MochiKit.js"));baseElem=scripts[i]}}if(base===null){return}var modules=MochiKit.MochiKit.SUBMODULES;for(var i=0;i<modules.length;i++){if(MochiKit[modules[i]]){continue}var uri=base+modules[i]+".js";if(uri in allScripts){continue}if(document.documentElement&&document.documentElement.namespaceURI==kXULNSURI){var s=document.createElementNS(kXULNSURI,"script");s.setAttribute("id","MochiKit_"+base+modules[i]);s.setAttribute("src",uri);s.setAttribute("type","application/x-javascript");baseElem.parentNode.appendChild(s)}else{document.write('<script src="'+uri+'" type="text/javascript"></script>')}}})()}try{if(typeof MochiKit.Base=="undefined"||typeof MochiKit.DOM=="undefined"||typeof MochiKit.Color=="undefined"||typeof MochiKit.Format=="undefined"){throw""}}catch(e){throw"PlotKit depends on MochiKit.{Base,Color,DOM,Format}"}MochiKit.Base.update(MochiKit.Color.Color.prototype,{asFillColor:function(){return this.lighterColorWithLevel(.3)},asStrokeColor:function(){return this.darkerColorWithLevel(.1)},asPointColor:function(){return this.lighterColorWithLevel(.1)}});if(typeof PlotKit=="undefined"){PlotKit={}}PlotKit.NAME="PlotKit";PlotKit.VERSION="0.8";PlotKit.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};PlotKit.toString=function(){return this.__repr__()};if(typeof PlotKit.Base=="undefined"){PlotKit.Base={}}PlotKit.Base.NAME="PlotKit.Base";PlotKit.Base.VERSION=PlotKit.VERSION;PlotKit.Base.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};PlotKit.Base.toString=function(){return this.__repr__()};PlotKit.Base.usingPrototype=function(){try{return typeof Object.extend=="function"}catch(e){return false}};MochiKit.Base.update(PlotKit.Base,{roundInterval:function(range,intervals,precision){var trunc=MochiKit.Format.roundToFixed;var sep=range/intervals;return parseFloat(trunc(sep,precision))},collapse:function(lst){var m=MochiKit.Base;var biggerList=new Array;for(var i=0;i<lst.length;i++){biggerList=m.concat(biggerList,lst[i])}if(PlotKit.Base.usingPrototype()){delete biggerList.extend;delete biggerList.from;delete biggerList.inspect}return biggerList},uniq:function(sortedList){var m=MochiKit.Base;if(!m.isArrayLike(sortedList)||sortedList.length<1)return new Array;var uniq=new Array;var lastElem=sortedList[0];uniq.push(sortedList[0]);for(var i=1;i<sortedList.length;i++){if(sortedList[i]!=null&&m.compare(sortedList[i],lastElem)!=0){lastElem=sortedList[i];uniq.push(sortedList[i])}}return uniq},colorScheme:function(){var mb=MochiKit.Base;var mc=MochiKit.Color;var scheme=["red","orange","yellow","green","cyan","blue","purple","magenta"];var makeColor=function(name){return mc.Color[name+"Color"]()};return mb.map(makeColor,scheme)},baseDarkPrimaryColors:function(){var hexColor=MochiKit.Color.Color.fromHexString;return[hexColor("#ad3f40"),hexColor("#ddac2c"),hexColor("#dfdd0c"),hexColor("#5276c4"),hexColor("#739c5a")]},basePrimaryColors:function(){var hexColor=MochiKit.Color.Color.fromHexString;return[hexColor("#d24c4d"),hexColor("#f2b32f"),hexColor("#ece90e"),hexColor("#5d83da"),hexColor("#78a15d")]},baseBlueColors:function(){var hexColor=MochiKit.Color.Color.fromHexString;return[hexColor("#4b6b94"),hexColor("#5d81b4"),hexColor("#acbad2")]},palette:function(baseColor,fromLevel,toLevel,increment){var isNil=MochiKit.Base.isUndefinedOrNull;var fractions=new Array;if(isNil(increment))increment=.1;if(isNil(toLevel))toLevel=.4;if(isNil(fromLevel))fromLevel=-.2;var level=fromLevel;while(level<=toLevel){fractions.push(level);level+=increment}var makeColor=function(color,fraction){return color.lighterColorWithLevel(fraction)};return MochiKit.Base.map(MochiKit.Base.partial(makeColor,baseColor),fractions)},excanvasSupported:function(){if(/MSIE/.test(navigator.userAgent)&&!window.opera){return true}return false},findPosX:function(obj){var curleft=0;if(obj.offsetParent){while(obj.offsetParent){curleft+=obj.offsetLeft;obj=obj.offsetParent}}else if(obj.x)curleft+=obj.x;return curleft},findPosY:function(obj){var curtop=0;if(obj.offsetParent){while(obj.offsetParent){curtop+=obj.offsetTop;obj=obj.offsetParent}}else if(obj.y)curtop+=obj.y;return curtop},isFuncLike:function(obj){return typeof obj=="function"}});PlotKit.Base.map=function(fn,lst){if(PlotKit.Base.usingPrototype()){var rval=[];for(var x in lst){if(typeof lst[x]=="function")continue;rval.push(fn(lst[x]))}return rval}else{return MochiKit.Base.map(fn,lst)}};PlotKit.Base.items=function(lst){if(PlotKit.Base.usingPrototype()){var rval=[];for(var x in lst){if(typeof lst[x]=="function")continue;rval.push([x,lst[x]])}return rval}else{return MochiKit.Base.items(lst)}};PlotKit.Base.keys=function(lst){if(PlotKit.Base.usingPrototype()){var rval=[];for(var x in lst){if(typeof lst[x]=="function")continue;rval.push(x)}return rval}else{return MochiKit.Base.keys(lst)}};PlotKit.Base.baseColors=function(){var hexColor=MochiKit.Color.Color.fromHexString;return[hexColor("#476fb2"),hexColor("#be2c2b"),hexColor("#85b730"),hexColor("#734a99"),hexColor("#26a1c5"),hexColor("#fb8707"),hexColor("#000000")]};PlotKit.Base.officeBaseStyle={axisLineWidth:2,axisLabelColor:MochiKit.Color.Color.grayColor(),axisLineColor:MochiKit.Color.Color.grayColor(),backgroundLineColor:MochiKit.Color.Color.whiteColor(),padding:{top:5,bottom:10,left:30,right:30}};MochiKit.Base.update(PlotKit.Base,{officeBlue:function(){var r={colorScheme:PlotKit.Base.palette(PlotKit.Base.baseColors()[0]),backgroundColor:PlotKit.Base.baseColors()[0].lighterColorWithLevel(.45)};MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle);return r},officeRed:function(){var r={colorScheme:PlotKit.Base.palette(PlotKit.Base.baseColors()[1]),backgroundColor:PlotKit.Base.baseColors()[1].lighterColorWithLevel(.5)};MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle);return r},officeGreen:function(){var r={colorScheme:PlotKit.Base.palette(PlotKit.Base.baseColors()[2]),backgroundColor:PlotKit.Base.baseColors()[2].lighterColorWithLevel(.5)};MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle);return r},officePurple:function(){var r={colorScheme:PlotKit.Base.palette(PlotKit.Base.baseColors()[3]),backgroundColor:PlotKit.Base.baseColors()[3].lighterColorWithLevel(.5)};MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle);return r},officeCyan:function(){var r={colorScheme:PlotKit.Base.palette(PlotKit.Base.baseColors()[4]),backgroundColor:PlotKit.Base.baseColors()[4].lighterColorWithLevel(.5)};MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle);return r},officeOrange:function(){var r={colorScheme:PlotKit.Base.palette(PlotKit.Base.baseColors()[5]),backgroundColor:PlotKit.Base.baseColors()[5].lighterColorWithLevel(.4)};MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle);return r},officeBlack:function(){var r={colorScheme:PlotKit.Base.palette(PlotKit.Base.baseColors()[6],0,.6),backgroundColor:PlotKit.Base.baseColors()[6].lighterColorWithLevel(.9)};MochiKit.Base.update(r,PlotKit.Base.officeBaseStyle);return r}});PlotKit.Base.EXPORT=["baseColors","collapse","colorScheme","findPosX","findPosY","officeBaseStyle","officeBlue","officeRed","officeGreen","officePurple","officeCyan","officeOrange","officeBlack","roundInterval","uniq","isFuncLike","excanvasSupported"];PlotKit.Base.EXPORT_OK=[];PlotKit.Base.__new__=function(){var m=MochiKit.Base;m.nameFunctions(this);this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}};PlotKit.Base.__new__();MochiKit.Base._exportSymbols(this,PlotKit.Base);try{if(typeof PlotKit.Base=="undefined"){throw""}}catch(e){throw"PlotKit.Layout depends on MochiKit.{Base,Color,DOM,Format} and PlotKit.Base"}if(typeof PlotKit.Layout=="undefined"){PlotKit.Layout={}}PlotKit.Layout.NAME="PlotKit.Layout";PlotKit.Layout.VERSION=PlotKit.VERSION;PlotKit.Layout.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};PlotKit.Layout.toString=function(){return this.__repr__()};PlotKit.Layout.valid_styles=["bar","line","pie","point"];PlotKit.Layout=function(style,options){this.options={barWidthFillFraction:.75,barOrientation:"vertical",xOriginIsZero:false,yOriginIsZero:false,xAxis:null,yAxis:null,xTicks:null,yTicks:null,xNumberOfTicks:10,yNumberOfTicks:5,xTickPrecision:1,yTickPrecision:1,pieRadius:.4};this.style=style;MochiKit.Base.update(this.options,options?options:{});if(!MochiKit.Base.isUndefinedOrNull(this.options.xAxis)){this.minxval=this.options.xAxis[0];this.maxxval=this.options.xAxis[1];this.xscale=this.maxxval-this.minxval}else{this.minxval=0;this.maxxval=null;this.xscale=null}if(!MochiKit.Base.isUndefinedOrNull(this.options.yAxis)){this.minyval=this.options.yAxis[0];this.maxyval=this.options.yAxis[1];this.yscale=this.maxyval-this.minyval}else{this.minyval=0;this.maxyval=null;this.yscale=null}this.bars=new Array;this.points=new Array;this.slices=new Array;this.xticks=new Array;this.yticks=new Array;this.datasets=new Array;this.minxdelta=0;this.xrange=1;this.yrange=1;this.hitTestCache={x2maxy:null}};PlotKit.Layout.prototype.addDataset=function(setname,set_xy){this.datasets[setname]=set_xy};PlotKit.Layout.prototype.removeDataset=function(setname,set_xy){delete this.datasets[setname]};PlotKit.Layout.prototype.addDatasetFromTable=function(name,tableElement,xcol,ycol,lcol){var isNil=MochiKit.Base.isUndefinedOrNull;var scrapeText=MochiKit.DOM.scrapeText;var strip=MochiKit.Format.strip;if(isNil(xcol))xcol=0;if(isNil(ycol))ycol=1;if(isNil(lcol))lcol=-1;var rows=tableElement.tBodies[0].rows;var data=new Array;var labels=new Array;if(!isNil(rows)){for(var i=0;i<rows.length;i++){data.push([parseFloat(strip(scrapeText(rows[i].cells[xcol]))),parseFloat(strip(scrapeText(rows[i].cells[ycol])))]);if(lcol>=0){labels.push({v:parseFloat(strip(scrapeText(rows[i].cells[xcol]))),label:strip(scrapeText(rows[i].cells[lcol]))})}}this.addDataset(name,data);if(lcol>=0){this.options.xTicks=labels}return true}return false};PlotKit.Layout.prototype.evaluate=function(){this._evaluateLimits();this._evaluateScales();if(this.style=="bar"){if(this.options.barOrientation=="horizontal"){this._evaluateHorizBarCharts()}else{this._evaluateBarCharts()}this._evaluateBarTicks()}else if(this.style=="line"){this._evaluateLineCharts();this._evaluateLineTicks()}else if(this.style=="pie"){this._evaluatePieCharts();this._evaluatePieTicks()}};PlotKit.Layout.prototype.hitTest=function(x,y){var f=MochiKit.Format.twoDigitFloat;if(this.style=="bar"&&this.bars&&this.bars.length>0){for(var i=0;i<this.bars.length;i++){var bar=this.bars[i];if(x>=bar.x&&x<=bar.x+bar.w&&y>=bar.y&&y-bar.y<=bar.h)return bar}}else if(this.style=="line"){if(this.hitTestCache.x2maxy==null){this._regenerateHitTestCache()}var xval=x/this.xscale;var xvalues=this.hitTestCache.xvalues;var xbefore=null;var xafter=null;for(var i=1;i<xvalues.length;i++){if(xvalues[i]>xval){xbefore=xvalues[i-1];xafter=xvalues[i];break}}if(xbefore!=null){var ybefore=this.hitTestCache.x2maxy[xbefore];var yafter=this.hitTestCache.x2maxy[xafter];var yval=(1-y)/this.yscale;var gradient=(yafter-ybefore)/(xafter-xbefore);var projmaxy=ybefore+gradient*(xval-xbefore);if(projmaxy>=yval){var obj={xval:xval,yval:yval,xafter:xafter,yafter:yafter,xbefore:xbefore,ybefore:ybefore,yprojected:projmaxy};return obj}}}else if(this.style=="pie"){var dist=Math.sqrt((y-.5)*(y-.5)+(x-.5)*(x-.5));if(dist>this.options.pieRadius)return null;var angle=Math.atan2(y-.5,x-.5)-Math.PI/2;for(var i=0;i<this.slices.length;i++){var slice=this.slices[i];if(slice.startAngle<angle&&slice.endAngle>=angle)return slice}}return null};PlotKit.Layout.prototype.rectForX=function(x){return null};PlotKit.Layout.prototype.angleRangeForX=function(x){return null};PlotKit.Layout.prototype._evaluateLimits=function(){var map=PlotKit.Base.map;var items=PlotKit.Base.items;var itemgetter=MochiKit.Base.itemgetter;var collapse=PlotKit.Base.collapse;var listMin=MochiKit.Base.listMin;var listMax=MochiKit.Base.listMax;var isNil=MochiKit.Base.isUndefinedOrNull;var all=collapse(map(itemgetter(1),items(this.datasets)));if(isNil(this.options.xAxis)){if(this.options.xOriginIsZero)this.minxval=0;else this.minxval=listMin(map(parseFloat,map(itemgetter(0),all)));this.maxxval=listMax(map(parseFloat,map(itemgetter(0),all)))}else{this.minxval=this.options.xAxis[0];this.maxxval=this.options.xAxis[1];this.xscale=this.maxval-this.minxval}if(isNil(this.options.yAxis)){if(this.options.yOriginIsZero)this.minyval=0;else{this.minyval=listMin(map(parseFloat,map(itemgetter(1),all)));if(this.minyval>0||isNaN(this.minyval)||this.minyval==null)this.minyval=0}this.maxyval=listMax(map(parseFloat,map(itemgetter(1),all)));if(this.maxyval<0)this.maxyval=0;else if(isNaN(this.maxyval)||this.maxyval==null||this.maxyval==0)this.maxyval=1;else this.maxyval+=(this.maxyval-this.minyval)*.05;if(this.minyval<0)this.minyval-=(this.maxyval-this.minyval)*.05}else{this.minyval=this.options.yAxis[0];this.maxyval=this.options.yAxis[1];this.yscale=this.maxyval-this.minyval}};PlotKit.Layout.prototype._evaluateScales=function(){var isNil=MochiKit.Base.isUndefinedOrNull;this.xrange=this.maxxval-this.minxval;if(this.xrange==0)this.xscale=1;else this.xscale=1/this.xrange;this.yrange=this.maxyval-this.minyval;if(this.yrange==0)this.yscale=1;else this.yscale=1/this.yrange};PlotKit.Layout.prototype._uniqueXValues=function(){var collapse=PlotKit.Base.collapse;var map=PlotKit.Base.map;var uniq=PlotKit.Base.uniq;var getter=MochiKit.Base.itemgetter;var items=PlotKit.Base.items;var xvalues=map(parseFloat,map(getter(0),collapse(map(getter(1),items(this.datasets)))));xvalues.sort(MochiKit.Base.compare);return uniq(xvalues)};PlotKit.Layout.prototype._evaluateBarCharts=function(){var items=PlotKit.Base.items;var setCount=items(this.datasets).length;var xdelta=1e7;var xvalues=this._uniqueXValues();for(var i=1;i<xvalues.length;i++){xdelta=Math.min(Math.abs(xvalues[i]-xvalues[i-1]),xdelta)}var barWidth=0;var barWidthForSet=0;var barMargin=0;if(xvalues.length==1){xdelta=1;this.xscale=1;this.minxval=xvalues[0];barWidth=1*this.options.barWidthFillFraction;barWidthForSet=barWidth/setCount;barMargin=(1-this.options.barWidthFillFraction)/2}else{if(this.xrange==1){this.xscale=.5}else if(this.xrange==2){this.xscale=1/3}else{this.xscale=(1-xdelta/this.xrange)/this.xrange}barWidth=xdelta*this.xscale*this.options.barWidthFillFraction;barWidthForSet=barWidth/setCount;barMargin=xdelta*this.xscale*(1-this.options.barWidthFillFraction)/2}this.minxdelta=xdelta;this.bars=new Array;var i=0;for(var setName in this.datasets){var dataset=this.datasets[setName];if(PlotKit.Base.isFuncLike(dataset))continue;for(var j=0;j<dataset.length;j++){var item=dataset[j];var rect={xval:parseFloat(item[0]),yval:parseFloat(item[1]),name:setName,w:barWidthForSet,x:(parseFloat(item[0])-this.minxval)*this.xscale+i*barWidthForSet+barMargin};if(parseFloat(item[1])>=0){rect.y=1-(parseFloat(item[1])-this.minyval)*this.yscale;rect.h=parseFloat(item[1])*this.yscale}else{rect.y=this.maxyval*this.yscale;rect.h=-parseFloat(item[1])*this.yscale}if(rect.x>=0&&rect.x<=1&&rect.y>=0&&rect.y<=1){this.bars.push(rect)}}i++}};PlotKit.Layout.prototype._evaluateHorizBarCharts=function(){var items=PlotKit.Base.items;var setCount=items(this.datasets).length;var xdelta=1e7;var xvalues=this._uniqueXValues();for(var i=1;i<xvalues.length;i++){xdelta=Math.min(Math.abs(xvalues[i]-xvalues[i-1]),xdelta)}var barWidth=0;var barWidthForSet=0;var barMargin=0;if(xvalues.length==1){xdelta=1;this.xscale=1;this.minxval=xvalues[0];barWidth=1*this.options.barWidthFillFraction;barWidthForSet=barWidth/setCount;barMargin=(1-this.options.barWidthFillFraction)/2}else{this.xscale=(1-xdelta/this.xrange)/this.xrange;barWidth=xdelta*this.xscale*this.options.barWidthFillFraction;barWidthForSet=barWidth/setCount;barMargin=xdelta*this.xscale*(1-this.options.barWidthFillFraction)/2}this.minxdelta=xdelta;this.bars=new Array;var i=0;for(var setName in this.datasets){var dataset=this.datasets[setName];if(PlotKit.Base.isFuncLike(dataset))continue;for(var j=0;j<dataset.length;j++){var item=dataset[j];var rect={y:(parseFloat(item[0])-this.minxval)*this.xscale+i*barWidthForSet+barMargin,x:0,h:barWidthForSet,w:(parseFloat(item[1])-this.minyval)*this.yscale,xval:parseFloat(item[0]),yval:parseFloat(item[1]),name:setName};if(rect.y<=0){rect.y=0}if(rect.y>=1){rect.y=1}if(rect.x>=0&&rect.x<=1){this.bars.push(rect)}}i++}};PlotKit.Layout.prototype._evaluateLineCharts=function(){var items=PlotKit.Base.items;var setCount=items(this.datasets).length;this.points=new Array;var i=0;for(var setName in this.datasets){var dataset=this.datasets[setName];if(PlotKit.Base.isFuncLike(dataset))continue;dataset.sort(function(a,b){return compare(parseFloat(a[0]),parseFloat(b[0]))});for(var j=0;j<dataset.length;j++){var item=dataset[j];if(String(item[1])=="0.00000")item[1]=null;var point={x:(parseFloat(item[0])-this.minxval)*this.xscale,y:1-(parseFloat(item[1])-this.minyval)*this.yscale,xval:parseFloat(item[0]),yval:parseFloat(item[1]),name:setName};if(point.y<=0){point.y=0}if(point.y>=1){point.y=1}if(point.x>=0&&point.x<=1){this.points.push(point)}}i++}};PlotKit.Layout.prototype._evaluatePieCharts=function(){var items=PlotKit.Base.items;var sum=MochiKit.Iter.sum;var getter=MochiKit.Base.itemgetter;var setCount=items(this.datasets).length;var dataset=items(this.datasets)[0][1];var total=sum(PlotKit.Base.map(getter(1),dataset));this.slices=new Array;var currentAngle=0;for(var i=0;i<dataset.length;i++){var fraction=dataset[i][1]/total;var startAngle=currentAngle*Math.PI*2;var endAngle=(currentAngle+fraction)*Math.PI*2;var slice={fraction:fraction,xval:dataset[i][0],yval:dataset[i][1],startAngle:startAngle,endAngle:endAngle};if(dataset[i][1]!=0){this.slices.push(slice)}currentAngle+=fraction}};PlotKit.Layout.prototype._evaluateLineTicksForXAxis=function(){var isNil=MochiKit.Base.isUndefinedOrNull;if(this.options.xTicks){this.xticks=new Array;var makeTicks=function(tick){var label=tick.label;if(isNil(label))label=tick.v.toString();var pos=this.xscale*(tick.v-this.minxval);if(pos>=0&&pos<=1){this.xticks.push([pos,label])}};MochiKit.Iter.forEach(this.options.xTicks,MochiKit.Base.bind(makeTicks,this))}else if(this.options.xNumberOfTicks){var xvalues=this._uniqueXValues();var roughSeparation=this.xrange/this.options.xNumberOfTicks;var tickCount=0;this.xticks=new Array;for(var i=0;i<=xvalues.length;i++){if(xvalues[i]-this.minxval>=tickCount*roughSeparation){var pos=this.xscale*(xvalues[i]-this.minxval);if(pos>1||pos<0)continue;this.xticks.push([pos,xvalues[i]]);tickCount++}if(tickCount>this.options.xNumberOfTicks)break}}};PlotKit.Layout.prototype._evaluateLineTicksForYAxis=function(){var isNil=MochiKit.Base.isUndefinedOrNull;if(this.options.yTicks){this.yticks=new Array;var makeTicks=function(tick){var label=tick.label;if(isNil(label))label=tick.v.toString();var pos=1-this.yscale*(tick.v-this.minyval);if(pos>=0&&pos<=1){this.yticks.push([pos,label])}};MochiKit.Iter.forEach(this.options.yTicks,MochiKit.Base.bind(makeTicks,this))}else if(this.options.yNumberOfTicks){this.yticks=new Array;var roundInt=PlotKit.Base.roundInterval;var prec=this.options.yTickPrecision;var roughSeparation=roundInt(this.yrange,this.options.yNumberOfTicks,prec);var roughOffset=0;for(var i=0;i<=this.options.yNumberOfTicks;i++){var yval=this.minyval+i*roughSeparation;if(yval==0){break}else if(yval>0&&yval-roughSeparation/2<=0||yval<0&&yval+roughSeparation/2>=0){roughOffset=yval;break}}for(var i=0;i<=this.options.yNumberOfTicks;i++){var yval=this.minyval+i*roughSeparation-roughOffset;var pos=1-(yval-this.minyval)*this.yscale;if(pos>1||pos<0)continue;this.yticks.push([pos,MochiKit.Format.roundToFixed(yval,prec)])}}};PlotKit.Layout.prototype._evaluateLineTicks=function(){this._evaluateLineTicksForXAxis();this._evaluateLineTicksForYAxis()};PlotKit.Layout.prototype._evaluateBarTicks=function(){this._evaluateLineTicks();var centerInBar=function(tick){return[tick[0]+this.minxdelta*this.xscale/2,tick[1]]};this.xticks=MochiKit.Base.map(MochiKit.Base.bind(centerInBar,this),this.xticks);if(this.options.barOrientation=="horizontal"){var tempticks=this.xticks;this.xticks=this.yticks;this.yticks=tempticks;var invert=function(tick){return[1-tick[0],tick[1]]};this.xticks=MochiKit.Base.map(invert,this.xticks)}};PlotKit.Layout.prototype._evaluatePieTicks=function(){var isNil=MochiKit.Base.isUndefinedOrNull;var formatter=MochiKit.Format.numberFormatter("#%");this.xticks=new Array;if(this.options.xTicks){var lookup=new Array;for(var i=0;i<this.slices.length;i++){lookup[this.slices[i].xval]=this.slices[i]}for(var i=0;i<this.options.xTicks.length;i++){var tick=this.options.xTicks[i];var slice=lookup[tick.v];var label=tick.label;if(slice){if(isNil(label))label=tick.v.toString();label+=" ("+formatter(slice.fraction)+")";this.xticks.push([tick.v,label])}}}else{for(var i=0;i<this.slices.length;i++){var slice=this.slices[i];var label=slice.xval+" ("+formatter(slice.fraction)+")";this.xticks.push([slice.xval,label])}}};PlotKit.Layout.prototype._regenerateHitTestCache=function(){this.hitTestCache.xvalues=this._uniqueXValues();this.hitTestCache.xlookup=new Array;this.hitTestCache.x2maxy=new Array;var listMax=MochiKit.Base.listMax;var itemgetter=MochiKit.Base.itemgetter;var map=MochiKit.Base.map;var setNames=keys(this.datasets);for(var i=0;i<setNames.length;i++){var dataset=this.datasets[setNames[i]];for(var j=0;j<dataset.length;j++){var xval=dataset[j][0];var yval=dataset[j][1];if(this.hitTestCache.xlookup[xval])this.hitTestCache.xlookup[xval].push([yval,setNames[i]]);else this.hitTestCache.xlookup[xval]=[[yval,setNames[i]]]}}for(var x in this.hitTestCache.xlookup){var yvals=this.hitTestCache.xlookup[x];this.hitTestCache.x2maxy[x]=listMax(map(itemgetter(0),yvals))}};PlotKit.LayoutModule={};PlotKit.LayoutModule.Layout=PlotKit.Layout;PlotKit.LayoutModule.EXPORT=["Layout"];PlotKit.LayoutModule.EXPORT_OK=[];PlotKit.LayoutModule.__new__=function(){var m=MochiKit.Base;m.nameFunctions(this);this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}};PlotKit.LayoutModule.__new__();MochiKit.Base._exportSymbols(this,PlotKit.LayoutModule);var CanvasTextFunctions={};CanvasTextFunctions.letters={" ":{width:16,points:[]},"!":{width:10,points:[[5,21],[5,7],[-1,-1],[5,2],[4,1],[5,0],[6,1],[5,2]]},'"':{width:16,points:[[4,21],[4,14],[-1,-1],[12,21],[12,14]]},"#":{width:21,points:[[11,25],[4,-7],[-1,-1],[17,25],[10,-7],[-1,-1],[4,12],[18,12],[-1,-1],[3,6],[17,6]]},$:{width:20,points:[[8,25],[8,-4],[-1,-1],[12,25],[12,-4],[-1,-1],[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},"%":{width:24,points:[[21,21],[3,0],[-1,-1],[8,21],[10,19],[10,17],[9,15],[7,14],[5,14],[3,16],[3,18],[4,20],[6,21],[8,21],[10,20],[13,19],[16,19],[19,20],[21,21],[-1,-1],[17,7],[15,6],[14,4],[14,2],[16,0],[18,0],[20,1],[21,3],[21,5],[19,7],[17,7]]},"&":{width:26,points:[[23,12],[23,13],[22,14],[21,14],[20,13],[19,11],[17,6],[15,3],[13,1],[11,0],[7,0],[5,1],[4,2],[3,4],[3,6],[4,8],[5,9],[12,13],[13,14],[14,16],[14,18],[13,20],[11,21],[9,20],[8,18],[8,16],[9,13],[11,10],[16,3],[18,1],[20,0],[22,0],[23,1],[23,2]]},"'":{width:10,points:[[5,19],[4,20],[5,21],[6,20],[6,18],[5,16],[4,15]]},"(":{width:14,points:[[11,25],[9,23],[7,20],[5,16],[4,11],[4,7],[5,2],[7,-2],[9,-5],[11,-7]]},")":{width:14,points:[[3,25],[5,23],[7,20],[9,16],[10,11],[10,7],[9,2],[7,-2],[5,-5],[3,-7]]},"*":{width:16,points:[[8,21],[8,9],[-1,-1],[3,18],[13,12],[-1,-1],[13,18],[3,12]]},"+":{width:26,points:[[13,18],[13,0],[-1,-1],[4,9],[22,9]]},",":{width:10,points:[[6,1],[5,0],[4,1],[5,2],[6,1],[6,-1],[5,-3],[4,-4]]},"-":{width:26,points:[[4,9],[22,9]]},".":{width:10,points:[[5,2],[4,1],[5,0],[6,1],[5,2]]},"/":{width:22,points:[[20,25],[2,-7]]},0:{width:20,points:[[9,21],[6,20],[4,17],[3,12],[3,9],[4,4],[6,1],[9,0],[11,0],[14,1],[16,4],[17,9],[17,12],[16,17],[14,20],[11,21],[9,21]]},1:{width:20,points:[[6,17],[8,18],[11,21],[11,0]]},2:{width:20,points:[[4,16],[4,17],[5,19],[6,20],[8,21],[12,21],[14,20],[15,19],[16,17],[16,15],[15,13],[13,10],[3,0],[17,0]]},3:{width:20,points:[[5,21],[16,21],[10,13],[13,13],[15,12],[16,11],[17,8],[17,6],[16,3],[14,1],[11,0],[8,0],[5,1],[4,2],[3,4]]},4:{width:20,points:[[13,21],[3,7],[18,7],[-1,-1],[13,21],[13,0]]},5:{width:20,points:[[15,21],[5,21],[4,12],[5,13],[8,14],[11,14],[14,13],[16,11],[17,8],[17,6],[16,3],[14,1],[11,0],[8,0],[5,1],[4,2],[3,4]]},6:{width:20,points:[[16,18],[15,20],[12,21],[10,21],[7,20],[5,17],[4,12],[4,7],[5,3],[7,1],[10,0],[11,0],[14,1],[16,3],[17,6],[17,7],[16,10],[14,12],[11,13],[10,13],[7,12],[5,10],[4,7]]},7:{width:20,points:[[17,21],[7,0],[-1,-1],[3,21],[17,21]]},8:{width:20,points:[[8,21],[5,20],[4,18],[4,16],[5,14],[7,13],[11,12],[14,11],[16,9],[17,7],[17,4],[16,2],[15,1],[12,0],[8,0],[5,1],[4,2],[3,4],[3,7],[4,9],[6,11],[9,12],[13,13],[15,14],[16,16],[16,18],[15,20],[12,21],[8,21]]},9:{width:20,points:[[16,14],[15,11],[13,9],[10,8],[9,8],[6,9],[4,11],[3,14],[3,15],[4,18],[6,20],[9,21],[10,21],[13,20],[15,18],[16,14],[16,9],[15,4],[13,1],[10,0],[8,0],[5,1],[4,3]]},":":{width:10,points:[[5,14],[4,13],[5,12],[6,13],[5,14],[-1,-1],[5,2],[4,1],[5,0],[6,1],[5,2]]},";":{width:10,points:[[5,14],[4,13],[5,12],[6,13],[5,14],[-1,-1],[6,1],[5,0],[4,1],[5,2],[6,1],[6,-1],[5,-3],[4,-4]]},"<":{width:24,points:[[20,18],[4,9],[20,0]]},"=":{width:26,points:[[4,12],[22,12],[-1,-1],[4,6],[22,6]]},">":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};
CanvasTextFunctions.letter=function(ch){return CanvasTextFunctions.letters[ch]};CanvasTextFunctions.ascent=function(font,size){return size};CanvasTextFunctions.descent=function(font,size){return 7*size/25};CanvasTextFunctions.measure=function(font,size,str){var total=0;var len=str.length;for(i=0;i<len;i++){var c=CanvasTextFunctions.letter(str.charAt(i));if(c)total+=c.width*size/25}return total};CanvasTextFunctions.draw=function(ctx,font,size,x,y,str){var total=0;var len=str.length;var mag=size/25;ctx.save();ctx.lineCap="round";ctx.lineWidth=2*mag;for(i=0;i<len;i++){var c=CanvasTextFunctions.letter(str.charAt(i));if(!c)continue;ctx.beginPath();var penUp=1;var needStroke=0;for(j=0;j<c.points.length;j++){var a=c.points[j];if(a[0]==-1&&a[1]==-1){penUp=1;continue}if(penUp){ctx.moveTo(x+a[0]*mag,y-a[1]*mag);penUp=false}else{ctx.lineTo(x+a[0]*mag,y-a[1]*mag)}}ctx.stroke();x+=c.width*mag}ctx.restore();return total};CanvasTextFunctions.enable=function(ctx){ctx.drawText=function(font,size,x,y,text){return CanvasTextFunctions.draw(ctx,font,size,x,y,text)};ctx.measureText=function(font,size,text){return CanvasTextFunctions.measure(font,size,text)};ctx.fontAscent=function(font,size){return CanvasTextFunctions.ascent(font,size)};ctx.fontDescent=function(font,size){return CanvasTextFunctions.descent(font,size)};ctx.drawTextRight=function(font,size,x,y,text){var w=CanvasTextFunctions.measure(font,size,text);return CanvasTextFunctions.draw(ctx,font,size,x-w,y,text)};ctx.drawTextCenter=function(font,size,x,y,text){var w=CanvasTextFunctions.measure(font,size,text);return CanvasTextFunctions.draw(ctx,font,size,x-w/2,y,text)}};try{if(typeof PlotKit.Base=="undefined"||typeof PlotKit.Layout=="undefined"){throw""}}catch(e){throw"PlotKit.Layout depends on MochiKit.{Base,Color,DOM,Format} and PlotKit.{Base,Layout}"}if(typeof PlotKit.CanvasRenderer=="undefined"){PlotKit.CanvasRenderer={}}PlotKit.CanvasRenderer.NAME="PlotKit.CanvasRenderer";PlotKit.CanvasRenderer.VERSION=PlotKit.VERSION;PlotKit.CanvasRenderer.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};PlotKit.CanvasRenderer.toString=function(){return this.__repr__()};PlotKit.CanvasRenderer=function(element,layout,options){if(arguments.length>0)this.__init__(element,layout,options)};PlotKit.CanvasRenderer.prototype.__init__=function(element,layout,options){var isNil=MochiKit.Base.isUndefinedOrNull;var Color=MochiKit.Color.Color;this.options={drawBackground:true,backgroundColor:Color.whiteColor(),padding:{left:30,right:30,top:5,bottom:10},colorScheme:PlotKit.Base.palette(PlotKit.Base.baseColors()[0]),strokeColor:Color.whiteColor(),strokeColorTransform:"asStrokeColor",strokeWidth:.5,shouldFill:true,shouldStroke:true,drawXAxis:true,drawYAxis:true,axisLineColor:Color.blackColor(),axisLineWidth:.5,axisTickSize:3,axisLabelColor:Color.blackColor(),axisLabelFont:"Arial",axisLabelFontSize:9,axisLabelWidth:65,pieRadius:.4,enableEvents:true,barSingleDatasetColor:false};MochiKit.Base.update(this.options,options?options:{});this.layout=layout;this.element=MochiKit.DOM.getElement(element);this.container=this.element.parentNode;this.isIE=PlotKit.Base.excanvasSupported();var ie=navigator.appVersion.match(/MSIE (\d\.\d)/);if(typeof G_vmlCanvasManager!="undefined"&&!isNil(G_vmlCanvasManager)){this.IEDelay=.5;this.maxTries=5;this.renderDelay=null;this.clearDelay=null;this.element=G_vmlCanvasManager.initElement(this.element)}this.height=this.element.height;this.width=this.element.width;if(isNil(this.element))throw"CanvasRenderer() - passed canvas is not found";if(!this.isIE&&!PlotKit.CanvasRenderer.isSupported(this.element))throw"CanvasRenderer() - Canvas is not supported.";if(isNil(this.container)||this.container.nodeName.toLowerCase()!="div")throw"CanvasRenderer() - <canvas> needs to be enclosed in <div>";this.xlabels=new Array;this.ylabels=new Array;this.isFirstRender=true;this.area={x:this.options.padding.left,y:this.options.padding.top,w:this.width-this.options.padding.left-this.options.padding.right,h:this.height-this.options.padding.top-this.options.padding.bottom};MochiKit.DOM.updateNodeAttributes(this.container,{style:{position:"relative",width:this.width+"px"}})};PlotKit.CanvasRenderer.prototype.render=function(){if(this.isIE){try{if(this.renderDelay){this.renderDelay.cancel();this.renderDelay=null}var context=this.element.getContext("2d")}catch(e){this.isFirstRender=false;if(this.maxTries-->0){this.renderDelay=MochiKit.Async.wait(this.IEDelay);this.renderDelay.addCallback(MochiKit.Base.bind(this.render,this))}return}}if(this.options.drawBackground)this._renderBackground();if(this.layout.style=="bar"){this._renderBarChart();this._renderBarAxis()}else if(this.layout.style=="pie"){this._renderPieChart();this._renderPieAxis()}else if(this.layout.style=="line"){this._renderLineChart();this._renderLineAxis()}};PlotKit.CanvasRenderer.prototype._renderBarChartWrap=function(data,plotFunc){var context=this.element.getContext("2d");var colorCount=this.options.colorScheme.length;var colorScheme=this.options.colorScheme;var setNames=MochiKit.Base.keys(this.layout.datasets);var setCount=setNames.length;if(setCount==1&&this.options.barSingleDatasetColor){for(var i=0;i<data.length;i++){var setName=setNames[i];var color=colorScheme[i%colorCount];context.save();context.fillStyle=color.toRGBString();if(this.options.strokeColor)context.strokeStyle=this.options.strokeColor.toRGBString();else if(this.options.strokeColorTransform)context.strokeStyle=color[this.options.strokeColorTransform]().toRGBString();context.lineWidth=this.options.strokeWidth;var forEachFunc=function(obj){if(obj.name==setName){plotFunc(context,obj)}};MochiKit.Iter.forEach(data,MochiKit.Base.bind(forEachFunc,this));context.restore()}}else{for(var i=0;i<setCount;i++){var setName=setNames[i];var color=colorScheme[i%colorCount];context.save();context.fillStyle=color.toRGBString();if(this.options.strokeColor)context.strokeStyle=this.options.strokeColor.toRGBString();else if(this.options.strokeColorTransform)context.strokeStyle=color[this.options.strokeColorTransform]().toRGBString();context.lineWidth=this.options.strokeWidth;var forEachFunc=function(obj){if(obj.name==setName)plotFunc(context,obj)};MochiKit.Iter.forEach(data,MochiKit.Base.bind(forEachFunc,this));context.restore()}}};PlotKit.CanvasRenderer.prototype._renderBarChart=function(){var bind=MochiKit.Base.bind;var drawRect=function(context,bar){var x=this.area.w*bar.x+this.area.x;var y=this.area.h*bar.y+this.area.y;var w=this.area.w*bar.w;var h=this.area.h*bar.h;if(w<1||h<1)return;if(this.options.shouldFill)context.fillRect(x,y,w,h);if(this.options.shouldStroke)context.strokeRect(x,y,w,h)};this._renderBarChartWrap(this.layout.bars,MochiKit.Base.bind(drawRect,this))};PlotKit.CanvasRenderer.prototype._renderLineChart=function(){var context=this.element.getContext("2d");var colorCount=this.options.colorScheme.length;var colorScheme=this.options.colorScheme;var setNames=MochiKit.Base.keys(this.layout.datasets);var setCount=setNames.length;var bind=MochiKit.Base.bind;var partial=MochiKit.Base.partial;for(var i=0;i<setCount;i++){var setName=setNames[i];var color=colorScheme[i%colorCount];var strokeX=this.options.strokeColorTransform;context.save();context.fillStyle=color.toRGBString();if(this.options.strokeColor)context.strokeStyle=this.options.strokeColor.toRGBString();else if(this.options.strokeColorTransform)context.strokeStyle=color[strokeX]().toRGBString();context.lineWidth=this.options.strokeWidth;var makePath=function(ctx){ctx.beginPath();ctx.moveTo(this.area.x,this.area.y+this.area.h);var addPoint=function(ctx_,point){if(point.name==setName)ctx_.lineTo(this.area.w*point.x+this.area.x,this.area.h*point.y+this.area.y)};MochiKit.Iter.forEach(this.layout.points,partial(addPoint,ctx),this);ctx.lineTo(this.area.w+this.area.x,this.area.h+this.area.y);ctx.lineTo(this.area.x,this.area.y+this.area.h);ctx.closePath()};if(this.options.shouldFill){MochiKit.Base.bind(makePath,this)(context);context.fill()}if(this.options.shouldStroke){MochiKit.Base.bind(makePath,this)(context);context.stroke()}context.restore()}};PlotKit.CanvasRenderer.prototype._renderPieChart=function(){var context=this.element.getContext("2d");var colorCount=this.options.colorScheme.length;var slices=this.layout.slices;var centerx=this.area.x+this.area.w*.5;var centery=this.area.y+this.area.h*.5;var radius=Math.min(this.area.w*this.options.pieRadius,this.area.h*this.options.pieRadius);if(this.isIE){centerx=parseInt(centerx);centery=parseInt(centery);radius=parseInt(radius)}for(var i=0;i<slices.length;i++){var color=this.options.colorScheme[i%colorCount];context.save();context.fillStyle=color.toRGBString();var makePath=function(){context.beginPath();context.moveTo(centerx,centery);context.arc(centerx,centery,radius,slices[i].startAngle-Math.PI/2,slices[i].endAngle-Math.PI/2,false);context.lineTo(centerx,centery);context.closePath()};if(Math.abs(slices[i].startAngle-slices[i].endAngle)>.001){if(this.options.shouldFill){makePath();context.fill()}if(this.options.shouldStroke){makePath();context.lineWidth=this.options.strokeWidth;if(this.options.strokeColor)context.strokeStyle=this.options.strokeColor.toRGBString();else if(this.options.strokeColorTransform)context.strokeStyle=color[this.options.strokeColorTransform]().toRGBString();context.stroke()}}context.restore()}};PlotKit.CanvasRenderer.prototype._renderBarAxis=function(){this._renderAxis()};PlotKit.CanvasRenderer.prototype._renderLineAxis=function(){this._renderAxis()};PlotKit.CanvasRenderer.prototype._renderAxis=function(){if(!this.options.drawXAxis&&!this.options.drawYAxis)return;var context=this.element.getContext("2d");var labelStyle={style:{position:"absolute",fontSize:this.options.axisLabelFontSize+"px",zIndex:10,color:this.options.axisLabelColor.toRGBString(),width:this.options.axisLabelWidth+"px",overflow:"hidden"}};context.save();context.strokeStyle=this.options.axisLineColor.toRGBString();context.lineWidth=this.options.axisLineWidth;if(this.options.drawYAxis){if(this.layout.yticks){var drawTick=function(tick){if(typeof tick=="function")return;var x=this.area.x;var y=this.area.y+tick[0]*this.area.h;context.beginPath();context.moveTo(x,y);context.lineTo(x-this.options.axisTickSize,y);context.closePath();context.stroke();var label=DIV(labelStyle,tick[1]);label.style.top=y-this.options.axisLabelFontSize+"px";label.style.left=x-this.options.padding.left-this.options.axisTickSize+"px";label.style.textAlign="right";label.style.width=this.options.padding.left-this.options.axisTickSize*2+"px";MochiKit.DOM.appendChildNodes(this.container,label);this.ylabels.push(label)};MochiKit.Iter.forEach(this.layout.yticks,MochiKit.Base.bind(drawTick,this))}context.beginPath();context.moveTo(this.area.x,this.area.y);context.lineTo(this.area.x,this.area.y+this.area.h);context.closePath();context.stroke()}if(this.options.drawXAxis){if(this.layout.xticks){var drawTick=function(tick){if(typeof dataset=="function")return;var x=this.area.x+tick[0]*this.area.w;var y=this.area.y+this.area.h;context.beginPath();context.moveTo(x,y);context.lineTo(x,y+this.options.axisTickSize);context.closePath();context.stroke();var label=DIV(labelStyle,tick[1]);label.style.top=y+this.options.axisTickSize+"px";label.style.left=x-this.options.axisLabelWidth/2+"px";label.style.textAlign="center";label.style.width=this.options.axisLabelWidth+"px";MochiKit.DOM.appendChildNodes(this.container,label);this.xlabels.push(label)};MochiKit.Iter.forEach(this.layout.xticks,MochiKit.Base.bind(drawTick,this))}var yoffset=this.area.y+this.layout.maxyval*this.layout.yscale*this.area.h;context.beginPath();context.moveTo(this.area.x,yoffset);context.lineTo(this.area.x+this.area.w,yoffset);context.closePath();context.stroke();context.beginPath();context.moveTo(this.area.x+this.area.w,this.area.y);context.lineTo(this.area.x+this.area.w,this.area.y+this.area.h);context.closePath();context.stroke()}context.restore()};PlotKit.CanvasRenderer.prototype._renderPieAxis=function(){if(!this.options.drawXAxis)return;if(this.layout.xticks){var lookup=new Array;for(var i=0;i<this.layout.slices.length;i++){lookup[this.layout.slices[i].xval]=this.layout.slices[i]}var centerx=this.area.x+this.area.w*.5;var centery=this.area.y+this.area.h*.5;var radius=Math.min(this.area.w*this.options.pieRadius,this.area.h*this.options.pieRadius);var labelWidth=this.options.axisLabelWidth;for(var i=0;i<this.layout.xticks.length;i++){var slice=lookup[this.layout.xticks[i][0]];if(MochiKit.Base.isUndefinedOrNull(slice))continue;var angle=(slice.startAngle+slice.endAngle)/2;var normalisedAngle=angle;if(normalisedAngle>Math.PI*2)normalisedAngle=normalisedAngle-Math.PI*2;else if(normalisedAngle<0)normalisedAngle=normalisedAngle+Math.PI*2;var labelx=centerx+Math.sin(normalisedAngle)*(radius+10);var labely=centery-Math.cos(normalisedAngle)*(radius+10);var attrib={position:"absolute",zIndex:11,width:labelWidth+"px",fontSize:this.options.axisLabelFontSize+"px",overflow:"hidden",color:this.options.axisLabelColor.toHexString()};if(normalisedAngle<=Math.PI*.5){attrib["textAlign"]="left";attrib["verticalAlign"]="top";attrib["left"]=labelx+"px";attrib["top"]=labely-this.options.axisLabelFontSize+"px"}else if(normalisedAngle>Math.PI*.5&&normalisedAngle<=Math.PI){attrib["textAlign"]="left";attrib["verticalAlign"]="bottom";attrib["left"]=labelx+"px";attrib["top"]=labely+"px"}else if(normalisedAngle>Math.PI&&normalisedAngle<=Math.PI*1.5){attrib["textAlign"]="right";attrib["verticalAlign"]="bottom";attrib["left"]=labelx-labelWidth+"px";attrib["top"]=labely+"px"}else{attrib["textAlign"]="right";attrib["verticalAlign"]="bottom";attrib["left"]=labelx-labelWidth+"px";attrib["top"]=labely-this.options.axisLabelFontSize+"px"}var label=DIV({style:attrib},this.layout.xticks[i][1]);this.xlabels.push(label);MochiKit.DOM.appendChildNodes(this.container,label)}}};PlotKit.CanvasRenderer.prototype._renderBackground=function(){var context=this.element.getContext("2d");context.save();context.fillStyle=this.options.backgroundColor.toRGBString();context.fillRect(0,0,this.width,this.height);context.restore()};PlotKit.CanvasRenderer.prototype.clear=function(){if(this.isIE){try{if(this.clearDelay){this.clearDelay.cancel();this.clearDelay=null}var context=this.element.getContext("2d")}catch(e){this.isFirstRender=false;this.clearDelay=MochiKit.Async.wait(this.IEDelay);this.clearDelay.addCallback(MochiKit.Base.bind(this.clear,this));return}}var context=this.element.getContext("2d");context.clearRect(0,0,this.width,this.height);MochiKit.Iter.forEach(this.xlabels,MochiKit.DOM.removeElement);MochiKit.Iter.forEach(this.ylabels,MochiKit.DOM.removeElement);this.xlabels=new Array;this.ylabels=new Array};PlotKit.CanvasRenderer.prototype._initialiseEvents=function(){var connect=MochiKit.Signal.connect;var bind=MochiKit.Base.bind;connect(this.element,"onclick",MochiKit.Base.bind(this.onclick,this))};PlotKit.CanvasRenderer.prototype._resolveObject=function(e){var x=(e.mouse().page.x-PlotKit.Base.findPosX(this.element)-this.area.x)/this.area.w;var y=(e.mouse().page.y-PlotKit.Base.findPosY(this.element)-this.area.y)/this.area.h;var isHit=this.layout.hitTest(x,y);if(isHit)return isHit;return null};PlotKit.CanvasRenderer.prototype._createEventObject=function(layoutObj,e){if(layoutObj==null){return null}e.chart=layoutObj;return e};PlotKit.CanvasRenderer.prototype.onclick=function(e){var layoutObject=this._resolveObject(e);var eventObject=this._createEventObject(layoutObject,e);if(eventObject!=null)MochiKit.Signal.signal(this,"onclick",eventObject)};PlotKit.CanvasRenderer.prototype.onmouseover=function(e){var layoutObject=this._resolveObject(e);var eventObject=this._createEventObject(layoutObject,e);if(eventObject!=null)signal(this,"onmouseover",eventObject)};PlotKit.CanvasRenderer.prototype.onmouseout=function(e){var layoutObject=this._resolveObject(e);var eventObject=this._createEventObject(layoutObject,e);if(eventObject==null)signal(this,"onmouseout",e);else signal(this,"onmouseout",eventObject)};PlotKit.CanvasRenderer.prototype.onmousemove=function(e){var layoutObject=this._resolveObject(e);var eventObject=this._createEventObject(layoutObject,e);if(layoutObject==null&&this.event_isinside==null){return}if(layoutObject!=null&&this.event_isinside==null)signal(this,"onmouseover",eventObject);if(layoutObject==null&&this.event_isinside!=null)signal(this,"onmouseout",eventObject);if(layoutObject!=null&&this.event_isinside!=null)signal(this,"onmousemove",eventObject);this.event_isinside=layoutObject};PlotKit.CanvasRenderer.isSupported=function(canvasName){var canvas=null;try{if(MochiKit.Base.isUndefinedOrNull(canvasName))canvas=MochiKit.DOM.CANVAS({});else canvas=MochiKit.DOM.getElement(canvasName);var context=canvas.getContext("2d")}catch(e){var ie=navigator.appVersion.match(/MSIE (\d\.\d)/);var opera=navigator.userAgent.toLowerCase().indexOf("opera")!=-1;if(!ie||ie[1]<6||opera)return false;return true}return true};PlotKit.Canvas={};PlotKit.Canvas.CanvasRenderer=PlotKit.CanvasRenderer;PlotKit.Canvas.EXPORT=["CanvasRenderer"];PlotKit.Canvas.EXPORT_OK=["CanvasRenderer"];PlotKit.Canvas.__new__=function(){var m=MochiKit.Base;m.nameFunctions(this);this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}};PlotKit.Canvas.__new__();MochiKit.Base._exportSymbols(this,PlotKit.Canvas);try{if(typeof PlotKit.CanvasRenderer=="undefined"){throw""}}catch(e){throw"SweetCanvas depends on MochiKit.{Base,Color,DOM,Format} and PlotKit.{Layout, Canvas}"}if(typeof PlotKit.SweetCanvasRenderer=="undefined"){PlotKit.SweetCanvasRenderer={}}PlotKit.SweetCanvasRenderer=function(element,layout,options){if(arguments.length>0){this.__init__(element,layout,options)}};PlotKit.SweetCanvasRenderer.NAME="PlotKit.SweetCanvasRenderer";PlotKit.SweetCanvasRenderer.VERSION=PlotKit.VERSION;PlotKit.SweetCanvasRenderer.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]"};PlotKit.SweetCanvasRenderer.toString=function(){return this.__repr__()};PlotKit.SweetCanvasRenderer.prototype=new PlotKit.CanvasRenderer;PlotKit.SweetCanvasRenderer.prototype.constructor=PlotKit.SweetCanvasRenderer;PlotKit.SweetCanvasRenderer.__super__=PlotKit.CanvasRenderer.prototype;PlotKit.SweetCanvasRenderer.prototype.__init__=function(el,layout,opts){var moreOpts=PlotKit.Base.officeBlue();MochiKit.Base.update(moreOpts,opts);PlotKit.SweetCanvasRenderer.__super__.__init__.call(this,el,layout,moreOpts)};PlotKit.SweetCanvasRenderer.prototype._renderBarChart=function(){var bind=MochiKit.Base.bind;var shadowColor=MochiKit.Color.Color.blackColor().colorWithAlpha(.1).toRGBString();var prepareFakeShadow=function(context,x,y,w,h){context.fillStyle=shadowColor;context.fillRect(x-2,y-2,w+4,h+2);context.fillStyle=shadowColor;context.fillRect(x-1,y-1,w+2,h+1)};var colorCount=this.options.colorScheme.length;var colorScheme=this.options.colorScheme;var setNames=PlotKit.Base.keys(this.layout.datasets);var setCount=setNames.length;var bars=this.layout.bars;if(setCount==1&&this.options.barSingleDatasetColor){var chooseColor=function(xval){for(var i=0;i<bars.length;i++){var bar=bars[i];if(xval==bar.xval){return colorScheme[i%colorCount]}}return colorScheme[0]}}else{var chooseColor=function(name){for(var i=0;i<setCount;i++){if(name==setNames[i])return colorScheme[i%colorCount]}return colorScheme[0]}}var drawRect=function(context,bar){var x=this.area.w*bar.x+this.area.x;var y=this.area.h*bar.y+this.area.y;var w=this.area.w*bar.w;var h=this.area.h*bar.h;h=h||0;if(w<1||h<1)return;context.save();context.shadowBlur=5;context.shadowColor=MochiKit.Color.Color.fromHexString("#888888").toRGBString();if(this.isIE){context.save();context.fillStyle="#cccccc";context.fillRect(x-2,y-2,w+4,h+2);context.restore()}else{prepareFakeShadow(context,x,y,w,h)}if(this.options.shouldFill){if(setCount==1&&this.options.barSingleDatasetColor){context.fillStyle=chooseColor(bar.xval).toRGBString();context.fillRect(x,y,w,h)}else{context.fillStyle=chooseColor(bar.name).toRGBString();context.fillRect(x,y,w,h)}}if(this.options.displayValue){CanvasTextFunctions.enable(context);var textFont="sans";var textSize=7;var textColor="#333";var textValue=PWebUtil.formatNumber(bar.yval.toString());var textX=x+w*.5-context.measureText(textFont,textSize,textValue)*.5;var textY=y-3;context.strokeStyle=MochiKit.Color.Color.fromHexString(textColor).toRGBString();context.drawText(textFont,textSize,textX,textY,textValue)}context.shadowBlur=0;context.strokeStyle=MochiKit.Color.Color.whiteColor().toRGBString();context.lineWidth=2;if(this.options.shouldStroke){context.strokeRect(x,y,w,h)}context.restore()};this._renderBarChartWrap(this.layout.bars,bind(drawRect,this))};PlotKit.SweetCanvasRenderer.prototype._renderLineChart=function(){var context=this.element.getContext("2d");var colorCount=this.options.colorScheme.length;var colorScheme=this.options.colorScheme;var setNames=PlotKit.Base.keys(this.layout.datasets);var setCount=setNames.length;var bind=MochiKit.Base.bind;for(var i=0;i<setCount;i++){var setName=setNames[i];var color=colorScheme[i%colorCount];var strokeX=this.options.strokeColorTransform;context.save();var makePath=function(ctx){this.ctx_points=new Array;ctx.beginPath();var addPoint=function(ctx_,point){if(point.name==setName&&!isNaN(point.y)&&!isNaN(point.x)){this.ctx_points.push(new Array(this.area.w*point.x+this.area.x,this.area.h*point.y+this.area.y));if(this.ctx_points.length==1)ctx_.moveTo(this.area.w*point.x+this.area.x,this.area.h*point.y+this.area.y);else ctx_.lineTo(this.area.w*point.x+this.area.x,this.area.h*point.y+this.area.y)}};MochiKit.Iter.forEach(this.layout.points,partial(addPoint,ctx),this);for(var j=this.ctx_points.length-2;j>=0;j--)ctx.lineTo(this.ctx_points[j][0],this.ctx_points[j][1]);ctx.closePath()};if(this.options.shouldFill){context.save();if(this.isIE){context.fillStyle="#cccccc"}else{context.fillStyle=MochiKit.Color.Color.blackColor().colorWithAlpha(.2).toRGBString()}context.translate(-1,-2);bind(makePath,this)(context);if(this.options.shouldFill){context.fill()}context.restore()}context.shadowBlur=5;context.shadowColor=MochiKit.Color.Color.fromHexString("#888888").toRGBString();context.fillStyle=color.toRGBString();context.lineWidth=2;context.strokeStyle=color.toRGBString();if(this.options.shouldFill){bind(makePath,this)(context);context.fill()}if(this.options.shouldStroke){bind(makePath,this)(context);context.stroke()}context.restore()}};PlotKit.SweetCanvasRenderer.prototype._renderPieChart=function(){var context=this.element.getContext("2d");var colorCount=this.options.colorScheme.length;var slices=this.layout.slices;var centerx=this.area.x+this.area.w*.5;var centery=this.area.y+this.area.h*.5;var radius=Math.min(this.area.w*this.options.pieRadius,this.area.h*this.options.pieRadius);if(this.isIE){centerx=parseInt(centerx);centery=parseInt(centery);radius=parseInt(radius)}if(!this.isIE){context.save();var shadowColor=MochiKit.Color.Color.blackColor().colorWithAlpha(.2);context.fillStyle=shadowColor.toRGBString();context.shadowBlur=5;context.shadowColor=MochiKit.Color.Color.fromHexString("#888888").toRGBString();context.translate(1,1);context.beginPath();context.moveTo(centerx,centery);context.arc(centerx,centery,radius+2,0,Math.PI*2,false);context.closePath();context.fill();context.restore()}context.save();context.strokeStyle=MochiKit.Color.Color.whiteColor().toRGBString();context.lineWidth=2;for(var i=0;i<slices.length;i++){var color=this.options.colorScheme[i%colorCount];context.fillStyle=color.toRGBString();var makePath=function(){context.beginPath();context.moveTo(centerx,centery);context.arc(centerx,centery,radius,slices[i].startAngle-Math.PI/2,slices[i].endAngle-Math.PI/2,false);context.lineTo(centerx,centery);context.closePath()};if(Math.abs(slices[i].startAngle-slices[i].endAngle)>1e-4){if(this.options.shouldFill){makePath();context.fill()}if(this.options.shouldStroke){makePath();context.stroke()}}}context.restore()};PlotKit.SweetCanvasRenderer.prototype._renderBackground=function(){var context=this.element.getContext("2d");if(this.layout.style=="bar"||this.layout.style=="line"){context.save();context.fillStyle=this.options.backgroundColor.toRGBString();context.fillRect(this.area.x,this.area.y,this.area.w,this.area.h);context.strokeStyle=this.options.backgroundLineColor.toRGBString();context.lineWidth=1;var ticks=this.layout.yticks;var horiz=false;if(this.layout.style=="bar"&&this.layout.options.barOrientation=="horizontal"){ticks=this.layout.xticks;horiz=true}for(var i=0;i<ticks.length;i++){var x1=0;var y1=0;var x2=0;var y2=0;if(horiz){x1=ticks[i][0]*this.area.w+this.area.x;y1=this.area.y;x2=x1;y2=y1+this.area.h}else{x1=this.area.x;y1=ticks[i][0]*this.area.h+this.area.y;x2=x1+this.area.w;y2=y1}context.beginPath();context.moveTo(x1,y1);context.lineTo(x2,y2);context.closePath();context.stroke()}context.restore()}else{PlotKit.SweetCanvasRenderer.__super__._renderBackground.call(this)}};PlotKit.SweetCanvas={};PlotKit.SweetCanvas.SweetCanvasRenderer=PlotKit.SweetCanvasRenderer;PlotKit.SweetCanvas.EXPORT=["SweetCanvasRenderer"];PlotKit.SweetCanvas.EXPORT_OK=["SweetCanvasRenderer"];PlotKit.SweetCanvas.__new__=function(){var m=MochiKit.Base;m.nameFunctions(this);this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}};PlotKit.SweetCanvas.__new__();MochiKit.Base._exportSymbols(this,PlotKit.SweetCanvas);PlotKit.SweetCanvasRenderer.prototype._renderLineChart=function(){var context=this.element.getContext("2d");var colorCount=this.options.colorScheme.length;var colorScheme=this.options.colorScheme;var setNames=PlotKit.Base.keys(this.layout.datasets);var setCount=setNames.length;var bind=MochiKit.Base.bind;for(var i=0;i<setCount;i++){var setName=setNames[i];var color=colorScheme[i%colorCount];var makePath=function(ctx){this.ctx_points=new Array;var open=true;var lines=[[]];var line=0;for(var j=0;j<this.layout.points.length;j++){if(this.layout.points[j].name==setName){this.ctx_points.push(new Array(this.area.w*this.layout.points[j].x+this.area.x,this.area.h*this.layout.points[j].y+this.area.y));if(!isNaN(this.layout.points[j].x)&&!isNaN(this.layout.points[j].y)){lines[line].push(this.layout.points[j])}else if(lines[line].length>0){line++;lines[line]=[]}}}for(var j=0;j<lines.length;j++){ctx.save();ctx.shadowBlur=5;ctx.shadowColor=MochiKit.Color.Color.fromHexString("#888888").toRGBString();ctx.fillStyle=color.toRGBString();ctx.lineWidth=2;ctx.strokeStyle=color.toRGBString();ctx.beginPath();for(var k=0;k<lines[j].length;k++){if(k==0)ctx.moveTo(this.area.w*lines[j][k].x+this.area.x,this.area.h*lines[j][k].y+this.area.y);else ctx.lineTo(this.area.w*lines[j][k].x+this.area.x,this.area.h*lines[j][k].y+this.area.y)}for(var k=lines[j].length-2;k>=0;k--){ctx.lineTo(this.area.w*lines[j][k].x+this.area.x,this.area.h*lines[j][k].y+this.area.y)}ctx.closePath();ctx.stroke();ctx.restore()}};bind(makePath,this)(context)}};PlotKit.Layout.prototype._evaluateLineTicksForYAxis=function(){var isNil=MochiKit.Base.isUndefinedOrNull;var bind=MochiKit.Base.bind;var unit="";if(cube&&cube.indicators&&cube.indicators.length>0&&cube.indicators[0].unit)unit=cube.indicators[0].unit;if(this.options.yTicks){this.yticks=new Array;var makeTicks=function(tick){var label=tick.label;if(isNil(label))label=tick.v.toString();var pos=1-this.yscale*(tick.v-this.minyval);if(pos>=0&&pos<=1){this.yticks.push([pos,PWebUtil.formatNumber(label,unit)])}};MochiKit.Iter.forEach(this.options.yTicks,bind(makeTicks,this))}else if(this.options.yNumberOfTicks){this.yticks=new Array;var roundInt=PlotKit.Base.roundInterval;var prec=this.options.yTickPrecision;var roughSeparation=roundInt(this.yrange,this.options.yNumberOfTicks,prec);var roughOffset=0;for(var i=0;i<=this.options.yNumberOfTicks;i++){var yval=this.minyval+i*roughSeparation;if(yval==0){break}else if(yval>0&&yval-roughSeparation/2<=0||yval<0&&yval+roughSeparation/2>=0){roughOffset=yval;break}}for(var i=0;i<=this.options.yNumberOfTicks;i++){var yval=this.minyval+i*roughSeparation-roughOffset;var pos=1-(yval-this.minyval)*this.yscale;if(pos>1||pos<0)continue;this.yticks.push([pos,PWebUtil.formatNumber(MochiKit.Format.roundToFixed(yval,prec),unit)])}}};PlotKit.CanvasRenderer.prototype._renderAxis=function(){var bind=MochiKit.Base.bind;if(!this.options.drawXAxis&&!this.options.drawYAxis)return;var context=this.element.getContext("2d");var labelStyle={style:{position:"absolute",fontSize:this.options.axisLabelFontSize+"px",zIndex:10,color:this.options.axisLabelColor.toRGBString(),width:this.options.axisLabelWidth+"px",overflow:"hidden"}};context.save();context.strokeStyle=this.options.axisLineColor.toRGBString();context.lineWidth=this.options.axisLineWidth;if(this.options.drawYAxis){if(this.layout.yticks){var drawTick=function(tick){if(typeof tick=="function")return;var x=this.area.x;var y=this.area.y+tick[0]*this.area.h;context.beginPath();context.moveTo(x,y);context.lineTo(x-this.options.axisTickSize,y);context.closePath();context.stroke();var label=MochiKit.DOM.DIV(labelStyle,tick[1]);label.style.top=y-this.options.axisLabelFontSize+"px";label.style.left=x-this.options.padding.left-this.options.axisTickSize+"px";label.style.textAlign="right";label.style.width=this.options.padding.left-this.options.axisTickSize*2+"px";MochiKit.DOM.appendChildNodes(this.container,label);this.ylabels.push(label)};MochiKit.Iter.forEach(this.layout.yticks,bind(drawTick,this))}context.beginPath();context.moveTo(this.area.x,this.area.y);context.lineTo(this.area.x,this.area.y+this.area.h);context.closePath();context.stroke()}if(this.options.drawXAxis){if(this.layout.xticks){var drawTick=function(tick){if(typeof dataset=="function")return;var x=this.area.x+tick[0]*this.area.w;var y=this.area.y+this.area.h;if(tick[1]!=""){context.beginPath();context.moveTo(x,y);context.lineTo(x,y+this.options.axisTickSize);context.closePath();context.stroke()}var label=MochiKit.DOM.DIV(labelStyle,tick[1]);label.style.top=y+this.options.axisTickSize+"px";label.style.left=x-this.options.axisLabelWidth/2+"px";label.style.textAlign="center";label.className="xLabel";label.style.width=this.options.axisLabelWidth+"px";MochiKit.DOM.appendChildNodes(this.container,label);this.xlabels.push(label)};MochiKit.Iter.forEach(this.layout.xticks,bind(drawTick,this))}var yoffset=this.area.y+this.layout.maxyval*this.layout.yscale*this.area.h;context.beginPath();context.moveTo(this.area.x,yoffset);context.lineTo(this.area.x+this.area.w,yoffset);context.closePath();context.stroke();context.beginPath();context.moveTo(this.area.x+this.area.w,this.area.y);context.lineTo(this.area.x+this.area.w,this.area.y+this.area.h);context.closePath();context.stroke()}context.restore()};var YAHOO_PP=function(){return{util:{},widget:{},example:{},namespace:function(sNameSpace){if(!sNameSpace||!sNameSpace.length){return null}var levels=sNameSpace.split(".");var currentNS=YAHOO_PP;for(var i=levels[0]=="YAHOO_PP"?1:0;i<levels.length;++i){currentNS[levels[i]]=currentNS[levels[i]]||{};currentNS=currentNS[levels[i]]}return currentNS}}}();YAHOO_PP.util.CustomEvent=function(_1,_2){this.type=_1;this.scope=_2||window;this.subscribers=[];if(YAHOO_PP.util["Event"]){YAHOO_PP.util.Event.regCE(this)}};YAHOO_PP.util.CustomEvent.prototype={subscribe:function(fn,_4,_5){this.subscribers.push(new YAHOO_PP.util.Subscriber(fn,_4,_5))},unsubscribe:function(fn,_6){var _7=false;for(var i=0;i<this.subscribers.length;++i){var s=this.subscribers[i];if(s&&s.contains(fn,_6)){this._delete(i);_7=true}}return _7},fire:function(){for(var i=0;i<this.subscribers.length;++i){var s=this.subscribers[i];if(s){var _10=s.override?s.obj:this.scope;s.fn.call(_10,this.type,arguments,s.obj)}}},unsubscribeAll:function(){for(var i=0;i<this.subscribers.length;++i){this._delete(i)}},_delete:function(_11){var s=this.subscribers[_11];if(s){delete s.fn;delete s.obj}delete this.subscribers[_11]}};YAHOO_PP.util.Subscriber=function(fn,obj,_13){this.fn=fn;this.obj=obj||null;this.override=_13};YAHOO_PP.util.Subscriber.prototype.contains=function(fn,obj){return this.fn==fn&&this.obj==obj
};if(!YAHOO_PP.util.Event){YAHOO_PP.util.Event=function(){var _14=false;var _15=[];var _16=[];var _17=[];var _18=[];var _19=[];var _20=[];return{EL:0,TYPE:1,FN:2,WFN:3,SCOPE:3,ADJ_SCOPE:4,isSafari:navigator.userAgent.match(/safari/gi),isIE:!this.isSafari&&navigator.userAgent.match(/msie/gi),addListener:function(el,_22,fn,_23,_24){if(this._isValidCollection(el)){var ok=true;for(var i=0;i<el.length;++i){ok=this.on(el[i],_22,fn,_23,_24)&&ok}return ok}else{if(typeof el=="string"){if(_14){el=this.getEl(el)}else{_16[_16.length]=[el,_22,fn,_23,_24];return true}}}if(!el){return false}if("unload"==_22&&_23!==this){_17[_17.length]=[el,_22,fn,_23,_24];return true}var _26=_24?_23:el;var _27=function(e){return fn.call(_26,YAHOO_PP.util.Event.getEvent(e),_23)};var li=[el,_22,fn,_27,_26];var _30=_15.length;_15[_30]=li;if(this.useLegacyEvent(el,_22)){var _31=this.getLegacyIndex(el,_22);if(_31==-1){_31=_19.length;_19[_31]=[el,_22,el["on"+_22]];_20[_31]=[];el["on"+_22]=function(e){YAHOO_PP.util.Event.fireLegacyEvent(YAHOO_PP.util.Event.getEvent(e),_31)}}_20[_31].push(_30)}else{if(el.addEventListener){el.addEventListener(_22,_27,false)}else{if(el.attachEvent){el.attachEvent("on"+_22,_27)}}}return true},fireLegacyEvent:function(e,_32){var ok=true;var le=_20[_32];for(i=0;i<le.length;++i){var _34=le[i];if(_34){var li=_15[_34];var _35=li[this.ADJ_SCOPE];var ret=li[this.WFN].call(_35,e);ok=ok&&ret}}return ok},getLegacyIndex:function(el,_37){for(var i=0;i<_19.length;++i){var le=_19[i];if(le&&le[0]==el&&le[1]==_37){return i}}return-1},useLegacyEvent:function(el,_38){return!el.addEventListener&&!el.attachEvent||_38=="click"&&this.isSafari},removeListener:function(el,_39,fn){if(typeof el=="string"){el=this.getEl(el)}else{if(this._isValidCollection(el)){var ok=true;for(var i=0;i<el.length;++i){ok=this.removeListener(el[i],_39,fn)&&ok}return ok}}var _40=null;var _41=this._getCacheIndex(el,_39,fn);if(_41>=0){_40=_15[_41]}if(!el||!_40){return false}if(el.removeEventListener){el.removeEventListener(_39,_40[this.WFN],false)}else{if(el.detachEvent){el.detachEvent("on"+_39,_40[this.WFN])}}delete _15[_41][this.WFN];delete _15[_41][this.FN];delete _15[_41];return true},getTarget:function(ev,_43){var t=ev.target||ev.srcElement;if(_43&&t&&"#text"==t.nodeName){return t.parentNode}else{return t}},getPageX:function(ev){var x=ev.pageX;if(!x&&0!==x){x=ev.clientX||0;if(this.isIE){x+=this._getScrollLeft()}}return x},getPageY:function(ev){var y=ev.pageY;if(!y&&0!==y){y=ev.clientY||0;if(this.isIE){y+=this._getScrollTop()}}return y},getRelatedTarget:function(ev){var t=ev.relatedTarget;if(!t){if(ev.type=="mouseout"){t=ev.toElement}else{if(ev.type=="mouseover"){t=ev.fromElement}}}return t},getTime:function(ev){if(!ev.time){var t=(new Date).getTime();try{ev.time=t}catch(e){return t}}return ev.time},stopEvent:function(ev){this.stopPropagation(ev);this.preventDefault(ev)},stopPropagation:function(ev){if(ev.stopPropagation){ev.stopPropagation()}else{ev.cancelBubble=true}},preventDefault:function(ev){if(ev.preventDefault){ev.preventDefault()}else{ev.returnValue=false}},getEvent:function(e){var ev=e||window.event;if(!ev){var c=this.getEvent.caller;while(c){ev=c.arguments[0];if(ev&&Event==ev.constructor){break}c=c.caller}}return ev},getCharCode:function(ev){return ev.charCode||ev.type=="keypress"?ev.keyCode:0},_getCacheIndex:function(el,_48,fn){for(var i=0;i<_15.length;++i){var li=_15[i];if(li&&li[this.FN]==fn&&li[this.EL]==el&&li[this.TYPE]==_48){return i}}return-1},_isValidCollection:function(o){return o&&o.length&&typeof o!="string"&&!o.tagName&&!o.alert&&typeof o[0]!="undefined"},elCache:{},getEl:function(id){return document.getElementById(id)},clearCache:function(){for(i in this.elCache){delete this.elCache[i]}},regCE:function(ce){_18.push(ce)},_load:function(e){_14=true},_tryPreloadAttach:function(){var _52=!_14;for(var i=0;i<_16.length;++i){var d=_16[i];if(d){var el=this.getEl(d[this.EL]);if(el){this.on(el,d[this.TYPE],d[this.FN],d[this.SCOPE],d[this.ADJ_SCOPE]);delete _16[i]}}}if(_52){setTimeout("YAHOO_PP.util.Event._tryPreloadAttach()",50)}},_unload:function(e,me){for(var i=0;i<_17.length;++i){var l=_17[i];if(l){var _56=l[this.ADJ_SCOPE]?l[this.SCOPE]:window;l[this.FN].call(_56,this.getEvent(e),l[this.SCOPE])}}if(_15&&_15.length>0){for(i=0;i<_15.length;++i){l=_15[i];if(l){this.removeListener(l[this.EL],l[this.TYPE],l[this.FN])}}this.clearCache()}for(i=0;i<_18.length;++i){_18[i].unsubscribeAll();delete _18[i]}for(i=0;i<_19.length;++i){delete _19[i][0];delete _19[i]}},_getScrollLeft:function(){return this._getScroll()[1]},_getScrollTop:function(){return this._getScroll()[0]},_getScroll:function(){var dd=document.documentElement;db=document.body;if(dd&&dd.scrollTop){return[dd.scrollTop,dd.scrollLeft]}else{if(db){return[db.scrollTop,db.scrollLeft]}else{return[0,0]}}}}}();YAHOO_PP.util.Event.on=YAHOO_PP.util.Event.addListener;if(document&&document.body){YAHOO_PP.util.Event._load()}else{YAHOO_PP.util.Event.on(window,"load",YAHOO_PP.util.Event._load,YAHOO_PP.util.Event,true)}YAHOO_PP.util.Event.on(window,"unload",YAHOO_PP.util.Event._unload,YAHOO_PP.util.Event,true);YAHOO_PP.util.Event._tryPreloadAttach()}YAHOO_PP.util.Dom=new function(){this.get=function(el){if(typeof el=="string"){el=document.getElementById(el)}return el};this.getStyle=function(el,property){var value=null;var dv=document.defaultView;el=this.get(el);if(property=="opacity"&&el.filters){value=1;try{value=el.filters.item("DXImageTransform.Microsoft.Alpha").opacity/100}catch(e){try{value=el.filters.item("alpha").opacity/100}catch(e){}}}else if(el.style[property]){value=el.style[property]}else if(el.currentStyle&&el.currentStyle[property]){value=el.currentStyle[property]}else if(dv&&dv.getComputedStyle){var converted="";for(i=0,len=property.length;i<len;++i){if(property.charAt(i)==property.charAt(i).toUpperCase()){converted=converted+"-"+property.charAt(i).toLowerCase()}else{converted=converted+property.charAt(i)}}if(dv.getComputedStyle(el,"").getPropertyValue(converted)){value=dv.getComputedStyle(el,"").getPropertyValue(converted)}}return value};this.setStyle=function(el,property,val){el=this.get(el);switch(property){case"opacity":if(el.filters){el.style.filter="alpha(opacity="+val*100+")";if(!el.currentStyle.hasLayout){el.style.zoom=1}}else{el.style.opacity=val;el.style["-moz-opacity"]=val;el.style["-khtml-opacity"]=val}break;default:el.style[property]=val}};this.getXY=function(el){el=this.get(el);if(el.parentNode===null||this.getStyle(el,"display")=="none"){return false}var parent=null;var pos=[];var box;if(el.getBoundingClientRect){box=el.getBoundingClientRect();var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;var scrollLeft=document.documentElement.scrollLeft||document.body.scrollLeft;return[box.left+scrollLeft,box.top+scrollTop]}else if(document.getBoxObjectFor){box=document.getBoxObjectFor(el);pos=[box.x,box.y]}else{pos=[el.offsetLeft,el.offsetTop];parent=el.offsetParent;if(parent!=el){while(parent){pos[0]+=parent.offsetLeft;pos[1]+=parent.offsetTop;parent=parent.offsetParent}}var ua=navigator.userAgent.toLowerCase();if(ua.indexOf("opera")!=-1||ua.indexOf("safari")!=-1&&this.getStyle(el,"position")=="absolute"){pos[1]-=document.body.offsetTop}}if(el.parentNode){parent=el.parentNode}else{parent=null}while(parent&&parent.tagName!="BODY"&&parent.tagName!="HTML"){pos[0]-=parent.scrollLeft;pos[1]-=parent.scrollTop;if(parent.parentNode){parent=parent.parentNode}else{parent=null}}return pos};this.getX=function(el){return this.getXY(el)[0]};this.getY=function(el){return this.getXY(el)[1]};this.setXY=function(el,pos,noRetry){el=this.get(el);var pageXY=YAHOO_PP.util.Dom.getXY(el);if(pageXY===false){return false}var delta=[parseInt(YAHOO_PP.util.Dom.getStyle(el,"left"),10),parseInt(YAHOO_PP.util.Dom.getStyle(el,"top"),10)];if(isNaN(delta[0])){delta[0]=0}if(isNaN(delta[1])){delta[1]=0}if(pos[0]!==null){el.style.left=pos[0]-pageXY[0]+delta[0]+"px"}if(pos[1]!==null){el.style.top=pos[1]-pageXY[1]+delta[1]+"px"}var newXY=this.getXY(el);if(!noRetry&&(newXY[0]!=pos[0]||newXY[1]!=pos[1])){this.setXY(el,pos,true)}return true};this.setX=function(el,x){return this.setXY(el,[x,null])};this.setY=function(el,y){return this.setXY(el,[null,y])};this.getRegion=function(el){el=this.get(el);return new YAHOO_PP.util.Region.getRegion(el)};this.getClientWidth=function(){return document.documentElement.offsetWidth||document.body.offsetWidth};this.getClientHeight=function(){return self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}};YAHOO_PP.util.Region=function(t,r,b,l){this.top=t;this.right=r;this.bottom=b;this.left=l};YAHOO_PP.util.Region.prototype.contains=function(region){return region.left>=this.left&&region.right<=this.right&&region.top>=this.top&&region.bottom<=this.bottom};YAHOO_PP.util.Region.prototype.getArea=function(){return(this.bottom-this.top)*(this.right-this.left)};YAHOO_PP.util.Region.prototype.intersect=function(region){var t=Math.max(this.top,region.top);var r=Math.min(this.right,region.right);var b=Math.min(this.bottom,region.bottom);var l=Math.max(this.left,region.left);if(b>=t&&r>=l){return new YAHOO_PP.util.Region(t,r,b,l)}else{return null}};YAHOO_PP.util.Region.prototype.union=function(region){var t=Math.min(this.top,region.top);var r=Math.max(this.right,region.right);var b=Math.max(this.bottom,region.bottom);var l=Math.min(this.left,region.left);return new YAHOO_PP.util.Region(t,r,b,l)};YAHOO_PP.util.Region.prototype.toString=function(){return"Region {"+"  t: "+this.top+", r: "+this.right+", b: "+this.bottom+", l: "+this.left+"}"};YAHOO_PP.util.Region.getRegion=function(el){var p=YAHOO_PP.util.Dom.getXY(el);var t=p[1];var r=p[0]+el.offsetWidth;var b=p[1]+el.offsetHeight;var l=p[0];return new YAHOO_PP.util.Region(t,r,b,l)};YAHOO_PP.util.Point=function(x,y){this.x=x;this.y=y;this.top=y;this.right=x;this.bottom=y;this.left=x};YAHOO_PP.util.Point.prototype=new YAHOO_PP.util.Region;YAHOO_PP.util.DragDrop=function(id,_2){if(id){this.init(id,_2)}};YAHOO_PP.util.DragDrop.prototype={id:null,dragElId:null,handleElId:null,invalidHandleTypes:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true},unlock:function(){this.locked=false},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,b4StartDrag:function(x,y){},startDrag:function(x,y){},b4Drag:function(e){},onDrag:function(e){},onDragEnter:function(e,id){},b4DragOver:function(e){},onDragOver:function(e,id){},b4DragOut:function(e){},onDragOut:function(e,id){},b4DragDrop:function(e){},onDragDrop:function(e,id){},b4EndDrag:function(e){},endDrag:function(e){},b4MouseDown:function(e){},onMouseDown:function(e){},onMouseUp:function(e){},getEl:function(){if(!this._domRef){this._domRef=this.DDM.getElement(this.id)}return this._domRef},getDragEl:function(){return this.DDM.getElement(this.dragElId)},init:function(id,_6){this.initTarget(id,_6);YAHOO_PP.util.Event.addListener(id,"mousedown",this.handleMouseDown,this,true)},initTarget:function(id,_7){this.DDM=YAHOO_PP.util.DDM;this.padding=[0,0,0,0];this.groups={};this.id=id;this.setDragElId(id);this.invalidHandleTypes={a:"a"};this.handleElId=id;if(document&&document.body){this.setInitPosition()}this.addToGroup(_7?_7:"default")},setPadding:function(_8,_9,_10,_11){if(!_9&&0!==_9){this.padding=[_8,_8,_8,_8]}else{if(!_10&&0!==_10){this.padding=[_8,_9,_8,_9]}else{this.padding=[_8,_9,_10,_11]}}},setInitPosition:function(_12,_13){var el=this.getEl();if(!this.DDM.verifyEl(el)){return}var dx=_12||0;var dy=_13||0;var p=YAHOO_PP.util.Dom.getXY(el);this.initPageX=p[0]-dx;this.initPageY=p[1]-dy;this.lastPageX=p[0];this.lastPageY=p[1];this.setStartPosition(p)},setStartPosition:function(pos){var p=pos||YAHOO_PP.util.Dom.getXY(this.getEl());this.startPageX=p[0];this.startPageY=p[1]},addToGroup:function(_19){this.groups[_19]=true;this.DDM.regDragDrop(this,_19)},setDragElId:function(id){this.dragElId=id},setHandleElId:function(id){this.handleElId=id;this.DDM.regHandle(this.id,id)},setOuterHandleElId:function(id){YAHOO_PP.util.Event.addListener(id,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(id)},unreg:function(){YAHOO_PP.util.Event.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this)},isLocked:function(){return this.DDM.isLocked()||this.locked},handleMouseDown:function(e,oDD){var EU=YAHOO_PP.util.Event;var _22=e.which||e.button;if(this.primaryButtonOnly&&_22>1){return}if(this.isLocked()){return}this.DDM.refreshCache(this.groups);var pt=new YAHOO_PP.util.Point(EU.getPageX(e),EU.getPageY(e));if(this.DDM.isOverTarget(pt,this)){var _24=EU.getTarget(e);if(this.isValidHandleChild(_24)&&(this.id==this.handleElId||this.DDM.handleWasClicked(_24,this.id))){this.setStartPosition();this.b4MouseDown(e);this.onMouseDown(e);this.DDM.handleMouseDown(e,this);this.DDM.stopEvent(e)}}},addInvalidHandleType:function(_25){var _26=_25.toUpperCase();this.invalidHandleTypes[_26]=_26},removeInvalidHandleType:function(_27){var _28=_27.toUpperCase();this.invalidHandleTypes[_28]=null},isValidHandleChild:function(_29){var _30=_29.nodeName;if(_30=="#text"){_30=_29.parentNode.nodeName}return!this.invalidHandleTypes[_30]},setXTicks:function(_31,_32){this.xTicks=[];this.xTickSize=_32;var _33={};for(var i=this.initPageX;i>=this.minX;i=i-_32){if(!_33[i]){this.xTicks[this.xTicks.length]=i;_33[i]=true}}for(i=this.initPageX;i<=this.maxX;i=i+_32){if(!_33[i]){this.xTicks[this.xTicks.length]=i;_33[i]=true}}this.xTicks.sort(this.DDM.numericSort)},setYTicks:function(_35,_36){this.yTicks=[];this.yTickSize=_36;var _37={};for(var i=this.initPageY;i>=this.minY;i=i-_36){if(!_37[i]){this.yTicks[this.yTicks.length]=i;_37[i]=true}}for(i=this.initPageY;i<=this.maxY;i=i+_36){if(!_37[i]){this.yTicks[this.yTicks.length]=i;_37[i]=true}}this.yTicks.sort(this.DDM.numericSort)},setXConstraint:function(_38,_39,_40){this.leftConstraint=_38;this.rightConstraint=_39;this.minX=this.initPageX-_38;this.maxX=this.initPageX+_39;if(_40){this.setXTicks(this.initPageX,_40)}this.constrainX=true},setYConstraint:function(iUp,_42,_43){this.topConstraint=iUp;this.bottomConstraint=_42;this.minY=this.initPageY-iUp;this.maxY=this.initPageY+_42;if(_43){this.setYTicks(this.initPageY,_43)}this.constrainY=true},resetConstraints:function(){var dx=this.maintainOffset?this.lastPageX-this.initPageX:0;var dy=this.maintainOffset?this.lastPageY-this.initPageY:0;this.setInitPosition(dx,dy);if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize)}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize)}},getTick:function(val,_45){if(!_45){return val}else{if(_45[0]>=val){return _45[0]}else{for(var i=0;i<_45.length;++i){var _46=i+1;if(_45[_46]&&_45[_46]>=val){var _47=val-_45[i];var _48=_45[_46]-val;return _48>_47?_45[i]:_45[_46]}}return _45[_45.length-1]}}},toString:function(val,_49){return"YAHOO_PP.util.DragDrop {"+this.id+"}"}};if(!YAHOO_PP.util.DragDropMgr){YAHOO_PP.util.DragDropMgr=new function(){var _50=YAHOO_PP.util;this.ids={};this.handleIds={};this.dragCurrent=null;this.dragOvers={};this.deltaX=0;this.deltaY=0;this.preventDefault=true;this.stopPropagation=true;this.initalized=false;this.locked=false;this.init=function(){};this.POINT=0;this.INTERSECT=1;this.mode=this.POINT;this._execOnAll=function(_51,_52){for(var i in this.ids){for(var j in this.ids[i]){var oDD=this.ids[i][j];if(!this.isTypeOfDD(oDD)){continue}oDD[_51].apply(oDD,_52)}}};this._onLoad=function(){this._execOnAll("setInitPosition",[]);var EU=_50.Event;EU.addListener(document,"mouseup",this.handleMouseUp,this,true);EU.addListener(document,"mousemove",this.handleMouseMove,this,true);EU.addListener(window,"unload",this._onUnload,this,true);EU.addListener(window,"resize",this._onResize,this,true);this.initalized=true};this._onResize=function(e){this._execOnAll("resetConstraints",[])};this.lock=function(){this.locked=true};this.unlock=function(){this.locked=false};this.isLocked=function(){return this.locked};this.locationCache={};this.useCache=true;this.clickPixelThresh=3;this.clickTimeThresh=1e3;this.dragThreshMet=false;this.clickTimeout=null;this.startX=0;this.startY=0;this.regDragDrop=function(oDD,_54){if(!this.initialized){this.init()}if(!this.ids[_54]){this.ids[_54]={}}this.ids[_54][oDD.id]=oDD};this._remove=function(oDD){for(var g in oDD.groups){if(g&&this.ids[g][oDD.id]){delete this.ids[g][oDD.id]}}delete this.handleIds[oDD.id]};this.regHandle=function(_56,_57){if(!this.handleIds[_56]){this.handleIds[_56]={}}this.handleIds[_56][_57]=_57};this.isDragDrop=function(id){return this.getDDById(id)?true:false};this.getRelated=function(_58,_59){var _60=[];for(var i in _58.groups){for(j in this.ids[i]){var dd=this.ids[i][j];if(!this.isTypeOfDD(dd)){continue}if(!_59||dd.isTarget){_60[_60.length]=dd}}}return _60};this.isLegalTarget=function(oDD,_62){var _63=this.getRelated(oDD);for(var i=0;i<_63.length;++i){if(_63[i].id==_62.id){return true}}return false};this.isTypeOfDD=function(oDD){return oDD&&oDD.__ygDragDrop};this.isHandle=function(_64,_65){return this.handleIds[_64]&&this.handleIds[_64][_65]};this.getDDById=function(id){for(var i in this.ids){if(this.ids[i][id]){return this.ids[i][id]}}return null};this.handleMouseDown=function(e,oDD){this.dragCurrent=oDD;var el=oDD.getEl();this.startX=_50.Event.getPageX(e);this.startY=_50.Event.getPageY(e);this.deltaX=this.startX-el.offsetLeft;this.deltaY=this.startY-el.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout("var DDM=YAHOO_PP.util.DDM;DDM.startDrag(DDM.startX, DDM.startY)",this.clickTimeThresh)};this.startDrag=function(x,y){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(x,y);this.dragCurrent.startDrag(x,y)}this.dragThreshMet=true};this.handleMouseUp=function(e){if(!this.dragCurrent){return}clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(e,true)}else{}this.stopDrag(e);this.stopEvent(e)};this.stopEvent=function(e){if(this.stopPropagation){_50.Event.stopPropagation(e)}if(this.preventDefault){_50.Event.preventDefault(e)}};this.stopDrag=function(e){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(e);this.dragCurrent.endDrag(e)}this.dragCurrent.onMouseUp(e)}this.dragCurrent=null;this.dragOvers={}};this.handleMouseMove=function(e){if(!this.dragCurrent){return}if(_50.Event.isIE&&!e.button){this.stopEvent(e);return this.handleMouseUp(e)}if(!this.dragThreshMet){var _66=Math.abs(this.startX-_50.Event.getPageX(e));var _67=Math.abs(this.startY-_50.Event.getPageY(e));if(_66>this.clickPixelThresh||_67>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(e);this.dragCurrent.onDrag(e);this.fireEvents(e,false)}this.stopEvent(e)};this.fireEvents=function(e,_68){var dc=this.dragCurrent;if(!dc||dc.isLocked()){return}var x=_50.Event.getPageX(e);var y=_50.Event.getPageY(e);var pt=new YAHOO_PP.util.Point(x,y);var _70=[];var _71=[];var _72=[];var _73=[];var _74=[];for(var i in this.dragOvers){var ddo=this.dragOvers[i];if(!this.isTypeOfDD(ddo)){continue}if(!this.isOverTarget(pt,ddo,this.mode)){_71.push(ddo)}_70[i]=true;delete this.dragOvers[i]}for(var _76 in dc.groups){if("string"!=typeof _76){continue}for(i in this.ids[_76]){var oDD=this.ids[_76][i];if(!this.isTypeOfDD(oDD)){continue}if(oDD.isTarget&&!oDD.isLocked()&&oDD!=dc){if(this.isOverTarget(pt,oDD,this.mode)){if(_68){_73.push(oDD)}else{if(!_70[oDD.id]){_74.push(oDD)}else{_72.push(oDD)}this.dragOvers[oDD.id]=oDD}}}}}if(this.mode){if(_71.length>0){dc.b4DragOut(e,_71);dc.onDragOut(e,_71)}if(_74.length>0){dc.onDragEnter(e,_74)}if(_72.length>0){dc.b4DragOver(e,_72);dc.onDragOver(e,_72)}if(_73.length>0){dc.b4DragDrop(e,_73);dc.onDragDrop(e,_73)}}else{for(i=0;i<_71.length;++i){dc.b4DragOut(e,_71[i].id);dc.onDragOut(e,_71[i].id)}for(i=0;i<_74.length;++i){dc.onDragEnter(e,_74[i].id)}for(i=0;i<_72.length;++i){dc.b4DragOver(e,_72[i].id);dc.onDragOver(e,_72[i].id)}for(i=0;i<_73.length;++i){dc.b4DragDrop(e,_73[i].id);dc.onDragDrop(e,_73[i].id)}}};this.getBestMatch=function(dds){var _78=null;if(dds.length==1){_78=dds[0]}else{for(var i=0;i<dds.length;++i){var dd=dds[i];if(dd.cursorIsOver){_78=dd;break}else{if(!_78||_78.overlap.getArea()<dd.overlap.getArea()){_78=dd}}}}return _78};this.refreshCache=function(_79){for(sGroup in _79){if("string"!=typeof sGroup){continue}for(i in this.ids[sGroup]){var oDD=this.ids[sGroup][i];if(this.isTypeOfDD(oDD)){var loc=this.getLocation(oDD);if(loc){this.locationCache[oDD.id]=loc}else{delete this.locationCache[oDD.id];oDD.unreg()}}}}};this.verifyEl=function(el){try{if(el){var _81=el.offsetParent;if(_81){return true}}}catch(e){}return false};this.getLocation=function(oDD){if(!this.isTypeOfDD(oDD)){return null}var el=oDD.getEl();if(!this.verifyEl(el)){return null}var _82=YAHOO_PP.util.Dom.getXY(el);x1=_82[0];x2=x1+el.offsetWidth;y1=_82[1];y2=y1+el.offsetHeight;var t=y1-oDD.padding[0];var r=x2+oDD.padding[1];var b=y2+oDD.padding[2];var l=x1-oDD.padding[3];return new YAHOO_PP.util.Region(t,r,b,l)};this.isOverTarget=function(pt,_87,_88){var loc=this.locationCache[_87.id];if(!loc||!this.useCache){loc=this.getLocation(_87);this.locationCache[_87.id]=loc}_87.cursorIsOver=loc.contains(pt);_87.overlap=null;if(_88){var _89=YAHOO_PP.util.Region.getRegion(this.dragCurrent.getDragEl());var _90=_89.intersect(loc);if(_90){_87.overlap=_90;return true}else{return false}}else{return _87.cursorIsOver}};this._onUnload=function(e,me){this.unregAll()};this.unregAll=function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null}this._execOnAll("unreg",[]);for(i in this.elementCache){delete this.elementCache[i]}this.elementCache={};this.ids={}};this.elementCache={};this.getElWrapper=function(id){var _92=this.elementCache[id];if(!_92||!_92.el){_92=this.elementCache[id]=new this.ElementWrapper(document.getElementById(id))}return _92};this.getElement=function(id){return document.getElementById(id)};this.getCss=function(id){var css=null;var el=document.getElementById(id);if(el){css=el.style}return css};this.ElementWrapper=function(el){this.el=el||null;this.id=this.el&&el.id;this.css=this.el&&el.style};this.getPosX=function(el){return YAHOO_PP.util.Dom.getX(el)};this.getPosY=function(el){return YAHOO_PP.util.Dom.getY(el)};this.swapNode=function(n1,n2){if(n1.swapNode){n1.swapNode(n2)}else{var p=n2.parentNode;var s=n2.nextSibling;n1.parentNode.replaceChild(n2,n1);p.insertBefore(n1,s)}};this.getScroll=function(){var t,l;if(document.documentElement&&document.documentElement.scrollTop){t=document.documentElement.scrollTop;l=document.documentElement.scrollLeft}else{if(document.body){t=document.body.scrollTop;l=document.body.scrollLeft}}return{top:t,left:l}};this.getStyle=function(el,_97){if(el.style.styleProp){return el.style.styleProp}else{if(el.currentStyle){return el.currentStyle[_97]}else{if(document.defaultView){return document.defaultView.getComputedStyle(el,null).getPropertyValue(_97)}}}};this.getScrollTop=function(){return this.getScroll().top};this.getScrollLeft=function(){return this.getScroll().left};this.moveToEl=function(_98,_99){var _100=YAHOO_PP.util.Dom.getXY(_99);YAHOO_PP.util.Dom.setXY(_98,_100)};this.getClientHeight=function(){return window.innerHeight?window.innerHeight:document.documentElement&&document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.offsetHeight};this.getClientWidth=function(){return window.innerWidth?window.innerWidth:document.documentElement&&document.documentElement.clientWidth?document.documentElement.clientWidth:document.body.offsetWidth};this.numericSort=function(a,b){return a-b};this._timeoutCount=0;this._addListeners=function(){if(_50.Event&&document&&document.body){this._onLoad()}else{if(this._timeoutCount>500){}else{setTimeout("YAHOO_PP.util.DDM._addListeners()",10);this._timeoutCount+=1}}};this.handleWasClicked=function(node,id){if(this.isHandle(id,node.id)){return true}else{var p=node.parentNode;while(p){if(this.isHandle(id,p.id)){return true}else{p=p.parentNode}}}return false}};YAHOO_PP.util.DDM=YAHOO_PP.util.DragDropMgr;YAHOO_PP.util.DDM._addListeners()}YAHOO_PP.util.DD=function(id,_103){if(id){this.init(id,_103)}};YAHOO_PP.util.DD.prototype=new YAHOO_PP.util.DragDrop;YAHOO_PP.util.DD.prototype.scroll=true;YAHOO_PP.util.DD.prototype.autoOffset=function(_104,_105){var el=this.getEl();var _106=YAHOO_PP.util.Dom.getXY(el);var x=_104-_106[0];var y=_105-_106[1];this.setDelta(x,y)};YAHOO_PP.util.DD.prototype.setDelta=function(_107,_108){this.deltaX=_107;this.deltaY=_108};YAHOO_PP.util.DD.prototype.setDragElPos=function(_109,_110){var el=this.getDragEl();this.alignElWithMouse(el,_109,_110)};YAHOO_PP.util.DD.prototype.alignElWithMouse=function(el,_111,_112){var _113=this.getTargetCoord(_111,_112);var _114=[_113.x,_113.y];YAHOO_PP.util.Dom.setXY(el,_114);this.cachePosition(_113.x,_113.y);this.autoScroll(_113.x,_113.y,el.offsetHeight,el.offsetWidth)};YAHOO_PP.util.DD.prototype.cachePosition=function(_115,_116){if(_115){this.lastPageX=_115;this.lastPageY=_116}else{var _117=YAHOO_PP.util.Dom.getXY(this.getEl());this.lastPageX=_117[0];this.lastPageY=_117[1]}};YAHOO_PP.util.DD.prototype.autoScroll=function(x,y,h,w){if(this.scroll){var _120=this.DDM.getClientHeight();var _121=this.DDM.getClientWidth();var st=this.DDM.getScrollTop();var sl=this.DDM.getScrollLeft();var bot=h+y;var _125=w+x;var _126=_120+st-y-this.deltaY;var _127=_121+sl-x-this.deltaX;var _128=40;var _129=document.all?80:30;if(bot>_120&&_126<_128){window.scrollTo(sl,st+_129)}if(y<st&&st>0&&y-st<_128){window.scrollTo(sl,st-_129)}if(_125>_121&&_127<_128){window.scrollTo(sl+_129,st)}if(x<sl&&sl>0&&x-sl<_128){window.scrollTo(sl-_129,st)}}};YAHOO_PP.util.DD.prototype.getTargetCoord=function(_130,_131){var x=_130-this.deltaX;var y=_131-this.deltaY;if(this.constrainX){if(x<this.minX){x=this.minX}if(x>this.maxX){x=this.maxX}}if(this.constrainY){if(y<this.minY){y=this.minY}if(y>this.maxY){y=this.maxY}}x=this.getTick(x,this.xTicks);y=this.getTick(y,this.yTicks);return{x:x,y:y}};YAHOO_PP.util.DD.prototype.b4MouseDown=function(e){this.autoOffset(YAHOO_PP.util.Event.getPageX(e),YAHOO_PP.util.Event.getPageY(e))};YAHOO_PP.util.DD.prototype.b4Drag=function(e){this.setDragElPos(YAHOO_PP.util.Event.getPageX(e),YAHOO_PP.util.Event.getPageY(e))};YAHOO_PP.util.DDProxy=function(id,_132){if(id){this.forceCssPosition=false;this.init(id,_132);this.initFrame()}};YAHOO_PP.util.DDProxy.prototype=new YAHOO_PP.util.DD;YAHOO_PP.util.DDProxy.frameDiv=null;YAHOO_PP.util.DDProxy.dragElId="ygddfdiv";YAHOO_PP.util.DDProxy.prototype.borderWidth=2;YAHOO_PP.util.DDProxy.prototype.resizeFrame=true;YAHOO_PP.util.DDProxy.prototype.centerFrame=false;YAHOO_PP.util.DDProxy.createFrame=function(){var THIS=YAHOO_PP.util.DDProxy;if(!document||!document.body){setTimeout(THIS.createFrame,50);return}if(!THIS.frameDiv){THIS.frameDiv=document.createElement("div");THIS.frameDiv.id=THIS.dragElId;var s=THIS.frameDiv.style;s.position="absolute";s.visibility="hidden";s.cursor="move";s.border="2px solid #aaa";s.zIndex=999;document.body.appendChild(THIS.frameDiv)}};YAHOO_PP.util.DDProxy.prototype.initFrame=function(){YAHOO_PP.util.DDProxy.createFrame();this.setDragElId(YAHOO_PP.util.DDProxy.dragElId);this.useAbsMath=true};YAHOO_PP.util.DDProxy.prototype.showFrame=function(_134,_135){var el=this.getEl();var s=this.getDragEl().style;if(this.resizeFrame){s.width=parseInt(el.offsetWidth)-2*this.borderWidth+"px";s.height=parseInt(el.offsetHeight)-2*this.borderWidth+"px"}if(this.centerFrame){this.setDelta(Math.round(parseInt(s.width)/2),Math.round(parseInt(s.width)/2))}this.setDragElPos(_134,_135);s.visibility=""};YAHOO_PP.util.DDProxy.prototype.b4MouseDown=function(e){var x=YAHOO_PP.util.Event.getPageX(e);var y=YAHOO_PP.util.Event.getPageY(e);this.autoOffset(x,y);this.setDragElPos(x,y)};YAHOO_PP.util.DDProxy.prototype.b4StartDrag=function(x,y){this.showFrame(x,y)};YAHOO_PP.util.DDProxy.prototype.b4EndDrag=function(e){var s=this.getDragEl().style;s.visibility="hidden"};YAHOO_PP.util.DDProxy.prototype.endDrag=function(e){var lel=this.getEl();var del=this.getDragEl();del.style.visibility="";lel.style.visibility="hidden";YAHOO_PP.util.DDM.moveToEl(lel,del);del.style.visibility="hidden";lel.style.visibility=""};YAHOO_PP.util.DDTarget=function(id,_138){if(id){this.initTarget(id,_138)}};YAHOO_PP.util.DDTarget.prototype=new YAHOO_PP.util.DragDrop;YAHOO_PP.util.Easing={easeNone:function(t,b,c,d){return c*t/d+b},easeIn:function(t,b,c,d){return c*(t/=d)*t+b},easeOut:function(t,b,c,d){return-c*(t/=d)*(t-2)+b},easeBoth:function(t,b,c,d){if((t/=d/2)<1){return c/2*t*t+b}return-c/2*(--t*(t-2)-1)+b},easeInStrong:function(t,b,c,d){return c*(t/=d)*t*t*t+b},easeOutStrong:function(t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b},easeBothStrong:function(t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t*t+b}return-c/2*((t-=2)*t*t*t-2)+b},elasticIn:function(t,b,c,d,a,p){if(t==0){return b}if((t/=d)==1){return b+c}if(!p){p=d*.3}if(!a||a<Math.abs(c)){a=c;var s=p/4}else{var s=p/(2*Math.PI)*Math.asin(c/a)}return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b},elasticOut:function(t,b,c,d,a,p){if(t==0){return b}if((t/=d)==1){return b+c}if(!p){p=d*.3}if(!a||a<Math.abs(c)){a=c;var s=p/4}else{var s=p/(2*Math.PI)*Math.asin(c/a)}return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b},elasticBoth:function(t,b,c,d,a,p){if(t==0){return b}if((t/=d/2)==2){return b+c}if(!p){p=d*(.3*1.5)}if(!a||a<Math.abs(c)){a=c;var s=p/4}else{var s=p/(2*Math.PI)*Math.asin(c/a)}if(t<1){return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b}return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b},backIn:function(t,b,c,d,s){if(typeof s=="undefined"){s=1.70158}return c*(t/=d)*t*((s+1)*t-s)+b},backOut:function(t,b,c,d,s){if(typeof s=="undefined"){s=1.70158}return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},backBoth:function(t,b,c,d,s){if(typeof s=="undefined"){s=1.70158}if((t/=d/2)<1){return c/2*(t*t*(((s*=1.525)+1)*t-s))+b}return c/2*((t-=2)*t*(((s*=1.525)+1)*t+s)+2)+b},bounceIn:function(t,b,c,d){return c-YAHOO_PP.util.Easing.bounceOut(d-t,0,c,d)+b},bounceOut:function(t,b,c,d){if((t/=d)<1/2.75){return c*(7.5625*t*t)+b}else if(t<2/2.75){return c*(7.5625*(t-=1.5/2.75)*t+.75)+b}else if(t<2.5/2.75){return c*(7.5625*(t-=2.25/2.75)*t+.9375)+b}return c*(7.5625*(t-=2.625/2.75)*t+.984375)+b},bounceBoth:function(t,b,c,d){if(t<d/2){return YAHOO_PP.util.Easing.bounceIn(t*2,0,c,d)*.5+b}return YAHOO_PP.util.Easing.bounceOut(t*2-d,0,c,d)*.5+c*.5+b}};Proj=function(){};Proj.prototype.earthRadius=6378137;Proj.prototype.eccentricity=.08181919131087181;Proj.prototype.meters2rad=function(m){return m/this.earthRadius};Proj.prototype.rad2meters=function(r){return this.earthRadius*r};Proj.prototype.deg2rad=function(d){return d*Math.PI/180};Proj.prototype.rad2deg=function(r){return r*180/Math.PI};alertp=function(point){alert(point.x+" "+point.y)};Proj.prototype.projectMiller=function(coords){var ret=new Object;ret.x=this.deg2rad(coords.x);ret.y=this.deg2rad(coords.y);ret=this.projectMillerRad(ret);ret.x=this.rad2meters(ret.x);ret.y=this.rad2meters(ret.y);return ret};Proj.prototype.projectMerc=function(coords){var ret=new Object;ret.x=this.deg2rad(coords.x);ret.y=this.deg2rad(coords.y);ret=this.projectMercRad(ret);ret.x=this.rad2meters(ret.x);ret.y=this.rad2meters(ret.y);return ret};Proj.prototype.projectEquirectangular=function(coords,parallel){var rc;var ret=new Object;if(parallel==null||parallel==37.5){rc=.793353340291235}else{rc=Math.cos(this.deg2rad(parallel))}ret.y=this.deg2rad(coords.y)*this.earthRadius;ret.x=this.deg2rad(coords.x)*rc*this.earthRadius;return ret};Proj.prototype.unprojectEquirectangular=function(coords,parallel){var rc;var ret=new Object;if(parallel==null||parallel==37.5){rc=.793353340291235}else{rc=Math.cos(this.deg2rad(parallel))}ret.y=this.rad2deg(coords.y/this.earthRadius);ret.x=this.rad2deg(coords.x/this.earthRadius/rc);return ret
};Proj.prototype.projectDefault=function(coords){var ret=new Object;ret.x=this.rad2meters(this.deg2rad(coords.x));ret.y=this.rad2meters(this.deg2rad(coords.y));return ret};Proj.prototype.unprojectDefault=function(coords){var ret=new Object;ret.x=this.rad2deg(this.meters2rad(coords.x));ret.y=this.rad2deg(this.meters2rad(coords.y));return ret};Proj.prototype.unprojectMiller=function(coords){var ret=new Object;ret.x=this.meters2rad(coords.x);ret.y=this.meters2rad(coords.y);ret=this.unprojectMillerRad(ret);ret.x=this.rad2deg(ret.x);ret.y=this.rad2deg(ret.y);return ret};Proj.prototype.unprojectMerc=function(coords){var ret=new Object;ret.x=this.meters2rad(coords.x);ret.y=this.meters2rad(coords.y);ret=this.unprojectMercRad(ret);ret.x=this.rad2deg(ret.x);ret.y=this.rad2deg(ret.y);return ret};Proj.prototype.projectMillerRad=function(coords){var ret=new Object;ret.x=coords.x;ret.y=Math.log(Math.tan(Math.PI*.25+coords.y*.4))*1.25;return ret};Proj.prototype.projectMercRad=function(coords){var ret=new Object;var eConstant=Math.pow((1-this.eccentricity*Math.sin(coords.y))/(1+this.eccentricity*Math.sin(coords.y)),this.eccentricity*.5);ret.x=coords.x;ret.y=Math.log(Math.tan(Math.PI*.25+coords.y*.5)*eConstant);return ret};Proj.prototype.unprojectMillerRad=function(coords){var ret=new Object;ret.x=coords.x;ret.y=2.5*(Math.atan(Math.exp(.8*coords.y))-Math.PI*.25);return ret};Proj.prototype.unprojectMercRad=function(coords){var ret=new Object;var es=this.eccentricity*this.eccentricity;var es2=es*es;var es3=es2*es;var es4=es3*es;var Merc_ab=es*.5+5*es2/24+es3/12+13*es4/360;var Merc_bb=7*es2/48+29*es3/240+811*es4/11520;var Merc_cb=7*es3/120+81*es4/1120;var Merc_db=4279*es4/161280;var xphi=Math.PI*.5-2*Math.atan(1/Math.exp(coords.y));ret.y=xphi+Merc_ab*Math.sin(2*xphi)+Merc_bb*Math.sin(4*xphi)+Merc_cb*Math.sin(6*xphi)+Merc_db*Math.sin(8*xphi);ret.x=coords.x;return ret};PProjection=function(projId){this.proj=new Proj;if(projId)this.id=projId};PProjection.prototype.getId=function(){return this.id};PProjection.prototype.fromLatLngToMeters=function(point){if(point instanceof PLatLng)point=new PPoint(point.lng(),point.lat());var ret=null;if(this.id==54003)ret=this.proj.projectMiller(point);else if(this.id==54004)ret=this.proj.projectMerc(point);else ret=this.proj.projectDefault(point);if(ret!=null)return new PPoint(ret.x,ret.y);else return null};PProjection.prototype.fromLatLngToPixel=function(latlng,zoom){if(this.maptype&&this.maptype.map){var projPoint=this.fromLatLngToMeters(latlng);if(zoom){var currentScale=this.maptype.map.kamap.getCurrentScale();var scale=this.maptype.map.getScale(zoom);var factor=scale/currentScale;projPoint.x=projPoint.x*factor;projPoint.y=projPoint.y*factor}var pix=this.maptype.map.kamap.geoToPix(projPoint.x,projPoint.y);return new PPoint(pix[0],pix[1])}else return null};PProjection.prototype.fromMetersToLatLng=function(point){var ret=null;if(this.id==54003)ret=this.proj.unprojectMiller(point);else if(this.id==54004)ret=this.proj.unprojectMerc(point);else ret=this.proj.unprojectDefault(point);if(ret!=null)return new PLatLng(ret.y,ret.x);else return null};PProjection.prototype.fromPixelToLatLng=function(pixel,zoom){if(this.maptype&&this.maptype.map){var meters=this.maptype.map.kamap.pixToGeo(-pixel.x,-pixel.y);if(zoom){var currentScale=this.maptype.map.kamap.getCurrentScale();var scale=this.maptype.map.getScale(zoom);var factor=scale/currentScale;meters[0]=meters[0]*factor;meters[1]=meters[1]*factor}var metersPoint=new PPoint(meters[0],meters[1]);return this.fromMetersToLatLng(metersPoint)}else return null};PPlaceTypeConfig=function(){this.zooms=[]};PPlaceTypeConfig.prototype.setTypeByAbsoluteZoom=function(zoom,type){this.zooms[zoom]=type};PPlaceTypeConfig.prototype.getTypeByAbsoluteZoom=function(zoom,inCurrentMatrix){inCurrentMatrix=inCurrentMatrix===true;if(this.zooms[zoom]&&(!inCurrentMatrix||inCurrentMatrix&&boundaryMatrix.isTypeIdInMatrix(this.zooms[zoom].getId()))){return this.zooms[zoom]}else{for(var i=zoom;i>=0;i--){if(this.zooms[i]&&(!inCurrentMatrix||inCurrentMatrix&&boundaryMatrix.isTypeIdInMatrix(this.zooms[i].getId()))){return this.zooms[i]}}return false}};PPolyline=function(points,color,weight,opacity,callbacks){this.points=points;if(color!=null)this.color=color;else this.color="#eb5920";if(weight!=null)this.weight=weight;else this.weight=5;if(opacity!=null)this.opacity=opacity;else this.opacity=.7;if(callbacks!=null)this.callbacks=callbacks;this.attributes=[]};PPolyline.prototype.setStyle=function(color,weight,opacity,fill,fillopacity){if(color)this.color=color;if(weight)this.weight=weight;if(opacity)this.opacity=opacity;if(fill)this.fill=fill;if(fillopacity||fillopacity==0)this.fillopacity=fillopacity;if(this.map){if(this.line.canvas&&this.line.canvas.tagName=="svg"&&this.line.canvas.childNodes[0]){if(color)this.line.canvas.childNodes[0].setAttribute("stroke",color);if(weight)this.line.canvas.childNodes[0].setAttribute("stroke-width",weight);if(opacity)this.line.canvas.childNodes[0].setAttribute("stroke-opacity",opacity);if(fill)this.line.canvas.childNodes[0].setAttribute("fill",fill);if(fillopacity||fillopacity==0)this.line.canvas.childNodes[0].setAttribute("fill-opacity",fillopacity)}else{this.map.removePoly(this);this.map.addPoly(this)}}};PPolyline.prototype.getVertexCount=function(){var cnt=this.points.length;if(this.points[0]==this.points[cnt-1])cnt--;return cnt};PPolyline.prototype.getVertex=function(index){return this.points[index]};PPolyline.prototype.deleteVertex=function(index){if(this.points[index])this.points.splice(index,1);if(this.map){this.map.removePoly(this);this.map.addPoly(this)}};PPolyline.prototype.insertVertex=function(index,point){if(this.points[index])this.points.splice(index,0,point);if(this.map){this.map.removePoly(this);this.map.addPoly(this)}};PPolyline.prototype.addAttribute=function(attribute){this.attributes.push(attribute)};PPolyline.prototype.removeAttribute=function(name){for(var i=0;i<this.attributes.length;i++){if(this.attributes[i].name==name)this.attributes.splice(i,1);break}};PPolyline.prototype.getAttribute=function(name){for(var i=0;i<this.attributes.length;i++){if(this.attributes[i].name==name)return this.attributes[i]}return null};PPolyline.prototype.setAttributes=function(attributes){this.attributes=attributes};PPolyline.prototype.getAttributes=function(){return this.attributes};PPolyline.prototype.getPlacesWithin=function(placetype,matrixId,defId,callback,overlap,maxResults,order){(new PClientGeocoder).getPlacesWithin(this.points,placetype,matrixId,defId,callback,overlap,maxResults,order)};PPolyline.prototype.getPlacesContaining=function(placetype,matrixId,defId,callback,overlap,maxResults,order){(new PClientGeocoder).getPlacesContaining(this.points,placetype,matrixId,defId,callback,overlap,maxResults,order)};PPolyline.prototype.getMarkersWithin=function(overlayset,callback){(new PClientGeocoder).getMarkersWithin(this.points,overlayset,callback)};PPolyline.prototype.getMarkersWithinCSV=function(ids){(new PClientGeocoder).getMarkersWithinCSV(this.points,ids)};PPolyline.prototype.getCentroid=function(){var sumx=0;var sumy=0;var numPts=this.points.length;for(var i=0;i<numPts;i++){sumx+=this.points[i].lng();sumy+=this.points[i].lat()}return new PLatLng(sumy/numPts,sumx/numPts)};PPolyline.prototype.getBounds=function(){var minx=this.points[0].lng();var miny=this.points[0].lat();var maxx=this.points[0].lng();var maxy=this.points[0].lat();var numPts=this.points.length;for(var i=0;i<numPts;i++){var x=this.points[i].lng();var y=this.points[i].lat();if(x<=minx)minx=x;if(x>maxx)maxx=x;if(y<=miny)miny=y;if(y>maxy)maxy=y}return new PLatLngBounds(new PLatLng(miny,minx),new PLatLng(maxy,maxx))};PSmallZoomControl=function(){};PSmallZoomControl.prototype.attach=function(map){var kamap=map.kamap;this.zoomin=document.createElement("div");this.zoomout=document.createElement("div");var zoomSprite=kamap.server+"images/zoom_buttons.png";this.zoomin.title="Zoom in";this.zoomin.style.position="absolute";this.zoomin.style.zIndex=Z_CONTROLS;this.zoomin.style.cursor="pointer";this.zoomin.style.width="24px";this.zoomin.style.height="22px";this.zoomin.style.top="7px";this.zoomin.style.left="7px";this.zoomin.style.MozUserSelect="none";this.zoomin.style.background="url("+zoomSprite+") 0 0";PEvent.addListener(this.zoomin,"mouseover",function(){this.style.backgroundPosition="-24px 0"});PEvent.addListener(this.zoomin,"mouseout",function(){this.style.backgroundPosition="0 0"});this.zoomout.title="Zoom out";this.zoomout.style.position="absolute";this.zoomout.style.zIndex=Z_CONTROLS;this.zoomout.style.cursor="pointer";this.zoomout.style.width="24px";this.zoomout.style.height="22px";this.zoomout.style.top=parseInt(this.zoomin.style.top)+parseInt(this.zoomout.style.height)+2+"px";this.zoomout.style.left="7px";this.zoomout.style.MozUserSelect="none";this.zoomout.style.background="url("+zoomSprite+") 0 22px";PEvent.addListener(this.zoomout,"mouseover",function(){this.style.backgroundPosition="-24px -22px"});PEvent.addListener(this.zoomout,"mouseout",function(){this.style.backgroundPosition="0 -22px"});PEvent.addListener(this.zoomin,"mouseup",function(){kamap.zoomIn()});PEvent.addListener(this.zoomout,"mouseup",function(){kamap.zoomOut()});kamap.domObj.appendChild(this.zoomin);kamap.domObj.appendChild(this.zoomout);this.marginLeft=7};PSmallZoomControl.prototype.remove=function(map){var kamap=map.kamap;PEvent.clearInstanceListeners(this.zoomin);kamap.domObj.removeChild(this.zoomin);PEvent.clearInstanceListeners(this.zoomout);kamap.domObj.removeChild(this.zoomout)};P=function(){throw"This is not a class. Do not instantiate it."};P.instances={};P.data={};P.errors=[];P.events={};P.events.MAP_RESIZED="map_resized_event";P.events.MAP_CHECK_RESIZE="map_check_resize_event";P.events.MAP_RESET="map_reset_event";P.events.SEARCH_BOX_INIT="search_box_init_event";P.events.ACCOUNT_SECTION_INIT="account_section_init_event";P.events.LOGGED_IN="login_event";P.events.LOGGED_OUT="logout_event";P.events.NOTIFICATION_STARTED="notification_start_event";P.events.NOTIFICATION_STOPPED="notification_stop_event";P.events.ASYNCHRONOUS_ERROR="asynchronous_error_event";P.events.PIN_TAXONOMY_LOADED="pin_taxonomy_loaded_event";P.events.MAP_CREATED="map_created";P.events.MAP_SCROLL_ENABLED="map_scroll_enabled";P.events.GOOGLE_MAP_LOADED="google_map_loaded";P.events.LEGEND_UPDATED="legend_updated";P.events.OVERLAYSET_FILTER_CHANGED="overlayset_filter_changed";P.constants={};P.constants.USA_LAT=37.6902;P.constants.USA_LNG=-96.9129;P.constants.USA_ZOOM=3;P.constants.TAXONOMY_TYPE_LAYERS=1;P.constants.TAXONOMY_TYPE_POINTS=2;P.constants.CONTINENTAL_US_EXTENT=[25.040823196216373,-125.9947303584514,49.57141580359143,-65.75733319472725];P.constants.sessionCookie="_sessionId";P.constants.sessionCookieName="JSESSIONID";P.constants.sessionUsername="_useremail";P.constants.firstName="_firstName";P.constants.userId="_userid";P.constants.userType="_userType";P.constants.isTrial="_trial";P.constants.isAutoLoginUser="_alu";P.constants.trackingStore="trackingStore";P.constants.isKeyboardAccessOn=false;P.constants.latestACSPeriod=2013;P.constants.webKitPrintService="webkit";P.constants.initialLoad=false;P.Tracking=function(){this.version=4;this.store=[];this.debug=new P.Debug;this.debug.override("TRK");this.sessionId=this.debug.getCookie("JSESSIONID");this.frequency=1;this.maxAttempts=10};P.Tracking.eventTypes=[];P.Tracking.eventTypes.LOAD="load";P.Tracking.eventTypes.SELECT="select";P.Tracking.eventTypes.CLICK="click";P.Tracking.eventTypes.ERROR="error";P.Tracking.eventTypes.LOGIN="login";P.Tracking.eventTypes.LOGOUT="logout";P.Tracking.eventTypes.ADD_INDICATOR="add_indicator";P.Tracking.eventTypes.REMOVE_INDICATOR="remove_indicator";P.Tracking.eventTypes.ADD_DATASET="add_dataset";P.Tracking.eventTypes.REMOVE_DATASET="remove_dataset";P.Tracking.eventTypes.INDICATOR_YEAR="indicator_year";P.Tracking.eventTypes.KEYBOARD_ENTER="keyboard_enter";P.Tracking.eventTypes.ASYNCHRONOUS_REQUEST_SEND="asynchronous_request_send";P.Tracking.eventTypes.ASYNCHRONOUS_REQUEST_RETURN="asynchronous_request_return";P.Tracking.eventTypes.REPORT="report";P.Tracking.prototype.setup=function(){var self=this;this.setup=[{type:"jQuery",element:document,name:"document ready",event:"ready",check:"jQuery.isReady",callback:function(){self.track(P.Tracking.eventTypes.LOAD)}},{type:"jQuery",selector:"#satellite",name:"#satellite",event:"click",callback:function(){self.track(P.Tracking.eventTypes.CLICK,{button:"satellite"})}},{type:"jQuery",element:window,name:"window",event:P.events.LOGGED_IN,callback:function(){self.track(P.Tracking.eventTypes.LOGIN,{user_id:session.get(P.constants.sessionUsername)});self.setupTimeout()}},{type:"jQuery",selector:"#logoutButton",name:"#logoutButton",event:"click",callback:function(){self.track(P.Tracking.eventTypes.LOGOUT);self.setupTimeout()}},{type:"PEvent",variable:"P.instances.map",name:"map setindicator",event:"setindicator",callback:function(ind){if(ind!=null&&ind.id!=null){self.track(P.Tracking.eventTypes.ADD_INDICATOR,{indicator_id:ind.id})}}},{type:"PEvent",variable:"P.instances.map",name:"map removeindicator",event:"removeindicator",callback:function(ind){if(ind!=null&&ind.id!=null){self.track(P.Tracking.eventTypes.REMOVE_INDICATOR,{indicator_id:ind.id})}}},{type:"PEvent",variable:"P.instances.map",name:"map addoverlayset",event:"addoverlayset",callback:function(set){self.track(P.Tracking.eventTypes.ADD_DATASET,{dataset_id:set.id})}},{type:"PEvent",variable:"P.instances.map",name:"map removeoverlayset",event:"removeoverlayset",callback:function(set){if(set!=null&&set.id!=null){self.track(P.Tracking.eventTypes.REMOVE_DATASET,{dataset_id:set.id})}}},{type:"jQuery",selector:"#legend__year-select",name:"indicator year",event:"change",callback:function(set){if(set!=null&&set.id!=null){self.track(P.Tracking.eventTypes.INDICATOR_YEAR,{dataset_id:$(this).val()})}}}];this.setupIterator=0;this.interval=window.setInterval(function(){self.setupTimeout()},self.frequency*1e3);this.notificationFound=false;if(typeof noNotifications==="undefined"){if(typeof notification!=="undefined"){this.notificationFound=true}else{this.debug.log(P.Debug.DEBUG2,"Starting tracking listener for notification start");$(window).on(P.events.NOTIFICATION_STARTED,function(){self.debug.log(P.Debug.DEBUG2,"Notification found");self.notificationFound=true})}}this.setupLength=this.setup.length;this.setupTimeout()};P.Tracking.prototype.setupTimeout=function(){this.setupIterator++;this.debug.log(P.Debug.DEBUG3,"setupTimeout interation "+this.setupIterator);for(var i=0;i<this.setup.length;i++){if(typeof this.setup[i].done==="undefined"){this.setup[i].done=false}else if(this.setup[i].done===true){continue}var selector;var variable;if(typeof this.setup[i].element!=="undefined"){selector=$(this.setup[i].element)}else if(typeof this.setup[i].selector!=="undefined"){selector=$(this.setup[i].selector)}else if(typeof this.setup[i].variable!=="undefined"){variable=eval(this.setup[i].variable);selector=$(variable)}else{throw"Unknown tracking type."}if(selector.length>0){this.debug.log(P.Debug.DEBUG3,"Setting up listener for the '"+this.setup[i].name+"' selector.");if(this.setup[i].type==="jQuery"){selector.on(this.setup[i].event,this.setup[i].callback)}else if(this.setup[i].type==="PEvent"){PEvent.addListener(variable,this.setup[i].event,this.setup[i].callback)}if(typeof this.setup[i].check!=="undefined"&&eval(this.setup[i].check)===true){this.setup[i].callback.call()}this.setup[i].done=true;this.setupLength--}else{this.debug.log(P.Debug.DEBUG3,"'"+this.setup[i].name+"' selector not yet available. Re-trying again")}}if(this.setupIterator===this.maxAttempts){var objects="";for(var i=0;i<this.setup.length;i++){if(this.setup[i].done===false){objects+="  '"+this.setup[i].name+"'"}}this.debug.log(P.Debug.DEBUG3,"Giving up timed setup of "+this.setupLength+" objects:"+objects);window.clearInterval(this.interval)}for(var i=0;i<this.setup.length;i++){if(this.setup[i].done===false){return}}if(this.notificationFound===false){return}this.debug.log(P.Debug.DEBUG3,"All setup objects done and notification was found.");window.clearInterval(this.interval)};P.Tracking.prototype.track=function(eventType,metadata){var metadataString="";if(metadata!=null){try{metadataString=", metadata: "+JSON.stringify(metadata)}catch(e){this.debug.log(P.Debug.ERROR,e)}}else{metadata={}}this.debug.log(P.Debug.DEBUG3,"track(): eventType: "+eventType+metadataString);if(typeof eventType==="undefined"){throw"Unknown event type: "+eventType}var currentSessionId=this.debug.getCookie("JSESSIONID");if(currentSessionId!=this.sessionId){metadata.sessionIdChanged=true;metadata.previousSessionId=this.sessionId;this.sessionId=currentSessionId}var store={metadata:{page:window.location.pathname,userAgent:navigator.userAgent,product:{isSiteLicense:PEnvironment.isSiteLicense,isClone:PEnvironment.isClone,isWidget:PEnvironment.isWidget},session:session.data,screen:{width:window.screen.width,height:window.screen.height}},version:this.version,eventType:eventType};if(metadata!=null){for(var i in metadata){store.metadata[i]=metadata[i]}}this.store.push(store)};P.Tracking.prototype.dump=function(){var store=this.store;delete this.store;this.store=[];return store};P.Ajax=function(){var self=this;this.debug=new P.Debug;this.numRequests=0;this.callbacks=[];this.activeRequests=0;$(window).bind(P.Ajax.requestDoneTrigger,function(){if(self.activeRequests==0){$(window).trigger(P.Ajax.noPendingRequestsTrigger)}})};P.Ajax.requestNewTrigger="asyncRequestNew";P.Ajax.requestDoneTrigger="asyncRequestDone";P.Ajax.noPendingRequestsTrigger="asyncRequestNone";P.Ajax.statusFailure=1;P.Ajax.statusSuccess=2;P.Ajax.prototype.errorHandler=function(data,callbacksObj){var self=this;var sessionId=session.get(P.constants.sessionCookie);var requestSessionId=this.debug.getCookie(P.constants.sessionCookieName);if(sessionId!=null&&requestSessionId!=null&&sessionId!=requestSessionId){this.debug.log(P.Debug.DEBUG,"Session ID changed during AJAX request");session.put(P.constants.sessionCookie,requestSessionId);if(productProperty.getValue("auto_login")===true){callbacksObj.recycle=true;autoLogin(function(){self.call(callbacksObj)});return true}else{session.purge();session.load();return true}}if(data&&data.responseCode&&data.responseCode!=200){var errorText="Ajax class built in error handler: ";if(data.errors){errorText+="\n";for(var i in data.errors){P.errors.push(data.errors[i]);errorText+="\nCode: "+data.errors[i].error.errorCode+"\nMessage: "+data.errors[i].error.message;if(data.errors[i].error.logId!=null){errorText+="\nlogId: "+data.errors[i].error.logId}errorText+="\n"}}else{errorText+='No "errors" node present.'}this.debug.log(P.Debug.DEBUG,errorText);if(data!=null){data.url=callbacksObj.options.url}errorPopup(data);return true}else{return false}};P.Ajax.prototype.call=function(options){if(P.WKPrint.isPrintPage()===true){console.log("Ajax.call: "+options.url)}var self=this;var requestId=++this.numRequests;if(P.WKPrint.isPrintPage()===true){P.instances.wkprint.addAction("AjaxAction"+requestId)}var callbacksObj;if(options.processed==null){var delim;callbacksObj={success:null,context:null,pleaseWait:true,hasUndefined:false,recycle:false,requestId:requestId};if(options.dataType==null){options.crossDomain=true;options.dataType="jsonp";options.jsonp="c"}else if(options.dataType==="json"&&options.url!=null&&(options.url.indexOf("/servlets/")!==-1||options.url.indexOf("/rest/")!==-1)){delim=this.getDelim(options);options.url+=delim+"_f=j"}delim=this.getDelim(options);if(options.noars!=true){options.url+=delim+"ars=1"}callbacksObj.success=options.success;if(options.error!=null){callbacksObj.error=options.error}if(options.url.indexOf("sid=")===-1&&PEnvironment.isWidget){delim=this.getDelim(options);if(options.type==="post"||options.type==="POST"){if(typeof options.data==="object"&&options.data!=null){options.data.sid=PEnvironment.productId}else if(typeof options.data==="string"){try{var data=JSON.parse(options.data);data.sid=PEnvironment.productId;options.data=JSON.stringify(data)}catch(e){options.data+=delim+"sid="+PEnvironment.productId}}else{options.url+=delim+"sid="+PEnvironment.productId}}options.url+=delim+"sid="+PEnvironment.productId}if(options.context!=null){callbacksObj.context=options.context;delete options.context}if(options.pleaseWait!=null){callbacksObj.pleaseWait=options.pleaseWait}options.success=function(data){self._callback(requestId,P.Ajax.statusSuccess,options,data)};options.error=function(data,statusText){self._callback(requestId,P.Ajax.statusFailure,options,data.responseText,statusText)};callbacksObj.options=options;options.url=this.checkUndefined(options.url,callbacksObj);if(typeof options.data==="string"){options.data=this.checkUndefined(options.data,callbacksObj)}if(callbacksObj.hasUndefined===true){var error;try{throw new Error("Deliberate error to get stack trace")}catch(e){error=e}P.instances.tracking.track(P.Tracking.eventTypes.ERROR,{error:{message:'The word "undefined" was found in the request',stack:error.stack},url:options.url,logId:"N/A"})}if(options.url.length>2e3){options.type="POST";options.crossDomain=false;var urlsplit=options.url.split("?");options.url=urlsplit[0];options.data=urlsplit[1]}this.callbacks[requestId]=callbacksObj;callbacksObj.processed=true}else{callbacksObj=options;options=options.options}var jqXHR=$.ajax(options);if(callbacksObj.pleaseWait===true){this.activeRequests++;$(window).trigger(P.Ajax.requestNewTrigger)}return jqXHR};P.Ajax.prototype.checkUndefined=function(string,callbacksObj){if(string.indexOf("=undefined")!==-1){string=string.slice(0,string.indexOf("=undefined")+1)+string.slice(string.indexOf("=undefined")+10);callbacksObj.hasUndefined=true;return this.checkUndefined(string)}return string};P.Ajax.prototype._decrement=function(requestId){if(this.callbacks[requestId].pleaseWait===true){this.activeRequests--;$(window).trigger(P.Ajax.requestDoneTrigger)}if(P.WKPrint.isPrintPage()===true){P.instances.wkprint.removeAction("AjaxAction"+requestId)}delete this.callbacks[requestId]};P.Ajax.prototype._contextCheck=function(callback,callbacksObj,data,statusText){if(callbacksObj.context!=null){callback.call(callbacksObj.context,data,statusText)}else{callback(data,statusText)}};P.Ajax.prototype.getDelim=function(options){var delim="&";if(options.url.indexOf("?")===-1){delim="?"}return delim};P.Ajax.prototype._callback=function(requestId,ajaxStatus,options,data,statusText){var callbacksObj=this.callbacks[requestId];try{var error=false;if(ajaxStatus==P.Ajax.statusFailure&&statusText=="timeout"){this.debug.log(P.Debug.DEBUG,"Timeout caught");data={responseCode:500,errors:[{error:{message:"Timeout",errorCode:500,logId:"N/A"}}]};error=true}else{error=this.errorHandler(data,callbacksObj)}if(error==true&&callbacksObj.error!=null){this._contextCheck(callbacksObj.error,callbacksObj,data,statusText)}if(error==false&&callbacksObj.success!=null){this._contextCheck(callbacksObj.success,callbacksObj,data,statusText)}}catch(e){errorPopup({error:e,url:callbacksObj.options.url})}if(callbacksObj.recycle===false){this._decrement(requestId)}else{callbacksObj.recycle=false}};function initializeSearchForm(options){if(options==null){options={}}var searchTypes=[];if(!productProperty.getValue("search_no_location")){searchTypes=["Default"]}if(productProperty.exists("search_boundary_types")){var productSearchTypes=productProperty.getValue("search_boundary_types");for(var i=0;i<productSearchTypes.length;i++){var curTypeId=productSearchTypes[i];var curType=_.find(P_PLACETYPES,function(type){return type.id==curTypeId});if(curType!=null){searchTypes.push(curType)}}}else{searchTypes.push(PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP,PPlaceType.CONGRESSIONAL,PPlaceType.SENATE,PPlaceType.SCHOOL,PPlaceType.SLD_UPPER,PPlaceType.SLD_LOWER,PPlaceType.CBSA)}if(!options.defaultState&&productProperty.exists("search_default_state")){options.defaultState=searchStates.getByAbbreviation(productProperty.getValue("search_default_state"))}if(!options.placeholderLocation&&productProperty.exists("search_location_placeholder")){options.placeholderLocation=productProperty.getValue("search_location_placeholder")}search=new TrfSearch($("#search-form"),searchTypes,options);P.instances.search=search;$(window).trigger(P.events.SEARCH_BOX_INIT);$(window).trigger(P.events.MAP_CHECK_RESIZE);return search}function disableWheelScrollPropogation(selector,triggerSelector){var eventSelectors="mousewheel DOMMouseScroll";if(triggerSelector){$(selector).on(eventSelectors,triggerSelector,disableWheelScrollEventPropogation)}else{$(selector).on(eventSelectors,disableWheelScrollEventPropogation)}}function disableWheelScrollEventPropogation(event){var $this=$(this),scrollTop=this.scrollTop,scrollHeight=this.scrollHeight,height=$this.height(),delta=event.type=="DOMMouseScroll"?event.originalEvent.detail*-40:event.originalEvent.wheelDelta,up=delta>0;var prevent=function(){event.stopPropagation();event.preventDefault();event.returnValue=false;return false};if(!up&&-delta>scrollHeight-height-scrollTop){$this.scrollTop(scrollHeight);return prevent()}else if(up&&delta>scrollTop){$this.scrollTop(0);return prevent()}}function appendJS(filename){var fileref=document.createElement("script");fileref.setAttribute("type","text/javascript");fileref.setAttribute("src",filename);document.getElementsByTagName("head")[0].appendChild(fileref)}function initializeMapLocation(){var zoom=session.get("curZoom");if(zoom==null){zoom=getDefaultMapZoom()}var lat=session.get("curLat");var lng=session.get("curLng");if(lat==null||lng==null){lat=getDefaultMapLat();lng=getDefaultMapLng()}P.instances.map.setCenter(new PLatLng(lat,lng),zoom);if(session.get("p")!=null){placeLoader.load([session.get("p")],function(places){var place=places[places.length-1];map.clearOverlays();mapstates.currentplace=place;addPolygons(P.instances.map,place);showInfoWindowFromUrl()})}if(session.get("aerialShowing")!=null&&session.get("aerialShowing")==="true"){$("#satellite").click()}}function errorPopup(data){try{if(data!=null&&data.noPopup==null){data.noPopup=false}var errorText="An error has occurred. A log of the incident has been generated. In the meantime it is advised that you refresh the page and start over.";var logId=null;var error={};if(typeof data==="string"){if(data!=null){error.message=data}}else if(data instanceof jQuery.Event||data.error instanceof jQuery.Event){if(data.error instanceof jQuery.Event){data=data.error}if(data&&data.originalEvent){if(data.originalEvent.error){error.message=data.originalEvent.error.message;if(data.originalEvent.error.stack!=null){error.stack=data.originalEvent.error.stack}}else if(data.originalEvent.message){error.message=data.originalEvent.message;try{throw new Error("Bogus error because IE still sucks.")}catch(e){error.stack=e.stack}}else{var errorObject=new Error;error.message=errorObject.message;error.stack=errorObject.stack}}}else if(data.error instanceof Error){error.message=data.error.message;if(typeof data.error.stack!=="undefined"){error.stack=data.error.stack}}else if(typeof data==="object"){var singular="<br/><br/>The log id of the error:<br/>";var plural="<br/><br/>The log ids of the errors:<br/>";var count=0;var newErrorText="";if(data&&data.errors){for(var i=0;i<data.errors.length;i++){if(data.errors[i].error.logId!=null){count++;newErrorText+="<br/>logId: "+data.errors[i].error.logId;if(logId==null){logId=data.errors[i].error.logId}}}if(count>1){errorText+=plural+newErrorText}else{errorText+=singular+newErrorText}}}if(data.url!=="undefined"){error.url=data.url}if(logId==null){var d=new Date;logId="j"+hex_md5(d.toString()+d.getMilliseconds().toString());errorText+="<br/><br/>logId: "+logId}if(PEnvironment.development===true){if(P.instances.debug!=null){P.instances.debug.log(P.Debug.ERROR,error.stack)}if(typeof error.stack!=="undefined"){errorText+="<br/><br/>Stack trace (This only appears on development sites): <pre>"+error.stack+"</pre>"}else{errorText+="<br/><br/>There would be a stack trace here...if only the browser supported it...(This only appears on development sites)"}}if(P.instances.tracking!=null){P.instances.tracking.track(P.Tracking.eventTypes.ERROR,{error:error,logId:logId})}if(P.WKPrint.isPrintPage()===true){console.log("Global error in print page: "+errorText)}if(pageReloading===false&&data.noPopup===false){if(console!=null){console.log(errorText)}}}catch(e){if(console!=null){console.log(e,e.stack)}}$(window).trigger(P.Ajax.noPendingRequestsTrigger)}function formattedDate(){var d=new Date;var y=d.getFullYear();var m=d.getMonth()+1;if(m<10){m="0"+m}var day=d.getDate();if(day<10){day="0"+day}return y+"-"+m+"-"+day}P.Debug=function(){this.defaultLevel=P.Debug.ERROR;this.prefix="DEBUG";this.customLabel=false};P.Debug.ALL=0;P.Debug.ERROR=1;P.Debug.WARN=2;P.Debug.INFO=3;P.Debug.DEBUG=4;P.Debug.DEBUG2=5;P.Debug.DEBUG3=6;P.Debug.DEBUG4=7;P.Debug.labels=["ALL","ERROR","WARN","INFO","DEBUG","DEBUG2","DEBUG3","DEBUG4"];P.Debug.prototype.override=function(text){this.defaultLevel=P.Debug.ALL;this.customLabel=text};P.Debug.prototype.trace=function(level,text){this.log(level,text,true)};P.Debug.prototype.log=function(level,text,trace){var currentLevel=this.getCookie("developerControlPanelDebugLevel");if(currentLevel===null){currentLevel=this.defaultLevel}currentLevel=P.Debug[currentLevel];if(typeof console!=="undefined"&&level<=currentLevel){var spaces="     ";var label=P.Debug.labels[level];if(this.customLabel!==false){label=this.customLabel}spaces=spaces.substring(0,spaces.length-label.length);prefix=this.prefix+"["+label+spaces+"] - ";var theLog=function(text){console.log(text)};if(trace!==null){if(typeof trace==="object"){theLog=function(text){console.log(text+"\n"+trace.stack)}}else if(trace===true){theLog=function(text){console.trace(text)}}}if(typeof text!=="object"){text=text.split("/\n|\r\n/");for(var i in text){theLog(prefix+text[i])}}else{theLog(prefix+text)}}};P.Debug.prototype.getCookie=function(name){var c=document.cookie;var index=c.indexOf(name+"=");if(index===-1){return null}index=c.indexOf("=",index)+1;var endstr=c.indexOf(";",index);if(endstr==-1){endstr=c.length}return unescape(c.substring(index,endstr))};P.instances.debug=new P.Debug;P.WKPrint=function(){if(P.instances.wkprint!=null){throw"The wkprint object is already instantiated. (Talk to Daniel)"}this.format=P.WKPrint.FORMAT_PDF;this.orientation=P.WKPrint.PORTRAIT;this.encoding=P.WKPrint.ENCODING_NONE;this.waitEvent="waitEvent";this.triggered=false;this.notificationDownload=false;this.formattedDate=$.jsDate.strftime(new Date,"%Y-%m-%d");this.actions=[]};P.WKPrint.PORTRAIT="P";P.WKPrint.LANDSCAPE="L";P.WKPrint.FORMAT_PNG="p";P.WKPrint.FORMAT_JPG="j";P.WKPrint.FORMAT_PDF="pdf";P.WKPrint.ENCODING_NONE="n";P.WKPrint.ENCODING_BASE64="b";P.WKPrint.printFormat="printFormat";P.WKPrint.originalLocation=window.location.href;P.WKPrint.prototype.addAction=function(action){console.log("Added WKPrint action: "+action);this.actions[action]=true};P.WKPrint.prototype.removeAction=function(action){if(this.actions[action]!=null){console.log("Removed WKPrint action: "+action);this.actions[action]=false;this.checkActions()}else{throw"No such WKPrint action: "+action}};P.WKPrint.prototype.checkActions=function(){for(var i in this.actions){if(this.actions[i]===true){return false}}console.log("All WKPrint actions done");this._triggerWaitEvent();return true};P.WKPrint.prototype.setEncoding=function(encoding){this.encoding=encoding};P.WKPrint.prototype.setPrintCallback=function(callback){this.printCallback=callback};P.WKPrint.prototype.setDelay=function(delay){this.delay=delay};P.WKPrint.prototype.setAdditionalParams=function(params){this.additionalParams=params};P.WKPrint.prototype.setFileName=function(fileName,addDate){this.fileName=fileName;if(addDate!=null&&addDate===true){this.fileName+=" "+this.formattedDate}};P.WKPrint.prototype.setFormat=function(format){this.format=format};P.WKPrint.prototype.setOrientation=function(orientation){this.orientation=orientation
};P.WKPrint.prototype.setUrl=function(url){this.url=url};P.WKPrint.prototype.setWaitEvent=function(waitEvent){this.waitEvent=waitEvent};P.WKPrint.prototype.setNotificationDownload=function(notificationDownload){this.notificationDownload=notificationDownload};P.WKPrint.prototype.setPrePrint=function(prePrint){this.prePrint=prePrint};P.WKPrint.prototype.print=function(){var self=this;if(this.url==null){throw"No url specified"}if(this.fileName==null){this.fileName="Policymap Print "+this.formattedDate}var url=this.url+"&orientation="+this.orientation+"&fileFormat="+this.format+"&filename="+this.fileName;var json={policymap:{credentials:{id:1},parameters:{ty:"data",t:"wprnt"},wprnt:{format:this.format,filename:this.fileName,orientation:this.orientation,url:this.url,waitEvent:this.waitEvent}}};if(!isNaN(this.width)){json.policymap.wprnt.width=this.width}if(!isNaN(this.height)){json.policymap.wprnt.height=this.height}if(this.notificationDownload===true){json.policymap.wprnt.notificationDownload=true}var url=PEnvironment.dataServicesUrl;var callback=this.printCallback;var success=function(response){if(response.wprnt==null){response.wprnt=[500,"There was an error"]}if(callback!=null){callback(response.wprnt)}};json=JSON.stringify(json);var data={servicesJSON:json};ajax.call({url:url,dataType:"json",type:"post",data:data,success:success})};P.WKPrint.prototype.download=function(filename,mimeType,content){var d=document.createElement("a");d.setAttribute("href","data:"+mimeType+";base64,"+content);d.setAttribute("download",filename);d.click()};P.WKPrint.prototype.printThisPage=function(){this.url=window.location.href;if(this.additionalParams!=null){this.url=this.url+"&additionalParams="+this.additionalParams}this.print()};P.WKPrint.prototype.isPrintPage=function(){return P.WKPrint.isPrintPage()};P.WKPrint.isPrintPage=function(){return P.WKPrint.originalLocation.indexOf(P.WKPrint.printFormat)!==-1};P.WKPrint.prototype.triggerWaitEvent=function(){var self=this;console.log("triggerWaitEvent called explicitly. You should change your code so WKPrint action tracking is used instead.");if(this.checkActions()===false&&this.triggered===false){var checkTimer=function(){if(self.checkActions()===false){setTimeout(checkTimer,1e3)}};this.triggered=true;setTimeout(checkTimer,1e3);return}};P.WKPrint.prototype._triggerWaitEvent=function(){var self=this;console.log("_triggerWaitEvent: Now waiting for images...");$("body").waitForImages({finished:function(){$(".pie-chart").find(".jqplot-grid-canvas").remove();var $m=$("#map");if($m.length>0){$m.waitForImages(function(){self.setWindowStatus()})}else{self.setWindowStatus()}},each:function(loaded,count,success){var success=success?"loaded":"failed to load";var src=$(this).attr("src");if(src==null){src=$(this).css("backgroundImage")}loaded++;if(P.instances.allImgs!=null&&P.instances.allImgs.length===1){$.each(P.instances.allImgs,function(i,img){console.log("Still pending: "+img.src)})}console.log("Image "+loaded+"/"+count+" "+success+" - "+src)},waitForAll:true})};P.WKPrint.prototype.setWindowStatus=function(){var self=this;var reallySetStatus=function(){if(self.prePrint!=null&&typeof self.prePrint==="function"){console.log("Pre-print callback being run");self.prePrint()}var extraText="";if(window.top!=window.self){extraText="IN THE IFRAME "}console.log("\n\n======================== WINDOW.STATUS SET "+extraText+"HERE!! ==================================\n\n");window.status=self.waitEvent};if(this.delay!=null){console.log("Delay is set. Starting delay timer for "+this.delay+" seconds");var count=this.delay+1;var delayTimer=function(){count--;if(count>0){console.log("Setting window.status in "+count+" seconds");setTimeout(delayTimer,1e3)}else{reallySetStatus()}};delayTimer()}else{reallySetStatus()}};(function(){var root=this;var previousUnderscore=root._;var ArrayProto=Array.prototype,ObjProto=Object.prototype,FuncProto=Function.prototype;var push=ArrayProto.push,slice=ArrayProto.slice,toString=ObjProto.toString,hasOwnProperty=ObjProto.hasOwnProperty;var nativeIsArray=Array.isArray,nativeKeys=Object.keys,nativeBind=FuncProto.bind,nativeCreate=Object.create;var Ctor=function(){};var _=function(obj){if(obj instanceof _)return obj;if(!(this instanceof _))return new _(obj);this._wrapped=obj};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=_}exports._=_}else{root._=_}_.VERSION="1.8.3";var optimizeCb=function(func,context,argCount){if(context===void 0)return func;switch(argCount==null?3:argCount){case 1:return function(value){return func.call(context,value)};case 2:return function(value,other){return func.call(context,value,other)};case 3:return function(value,index,collection){return func.call(context,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(context,accumulator,value,index,collection)}}return function(){return func.apply(context,arguments)}};var cb=function(value,context,argCount){if(value==null)return _.identity;if(_.isFunction(value))return optimizeCb(value,context,argCount);if(_.isObject(value))return _.matcher(value);return _.property(value)};_.iteratee=function(value,context){return cb(value,context,Infinity)};var createAssigner=function(keysFunc,undefinedOnly){return function(obj){var length=arguments.length;if(length<2||obj==null)return obj;for(var index=1;index<length;index++){var source=arguments[index],keys=keysFunc(source),l=keys.length;for(var i=0;i<l;i++){var key=keys[i];if(!undefinedOnly||obj[key]===void 0)obj[key]=source[key]}}return obj}};var baseCreate=function(prototype){if(!_.isObject(prototype))return{};if(nativeCreate)return nativeCreate(prototype);Ctor.prototype=prototype;var result=new Ctor;Ctor.prototype=null;return result};var property=function(key){return function(obj){return obj==null?void 0:obj[key]}};var MAX_ARRAY_INDEX=Math.pow(2,53)-1;var getLength=property("length");var isArrayLike=function(collection){var length=getLength(collection);return typeof length=="number"&&length>=0&&length<=MAX_ARRAY_INDEX};_.each=_.forEach=function(obj,iteratee,context){iteratee=optimizeCb(iteratee,context);var i,length;if(isArrayLike(obj)){for(i=0,length=obj.length;i<length;i++){iteratee(obj[i],i,obj)}}else{var keys=_.keys(obj);for(i=0,length=keys.length;i<length;i++){iteratee(obj[keys[i]],keys[i],obj)}}return obj};_.map=_.collect=function(obj,iteratee,context){iteratee=cb(iteratee,context);var keys=!isArrayLike(obj)&&_.keys(obj),length=(keys||obj).length,results=Array(length);for(var index=0;index<length;index++){var currentKey=keys?keys[index]:index;results[index]=iteratee(obj[currentKey],currentKey,obj)}return results};function createReduce(dir){function iterator(obj,iteratee,memo,keys,index,length){for(;index>=0&&index<length;index+=dir){var currentKey=keys?keys[index]:index;memo=iteratee(memo,obj[currentKey],currentKey,obj)}return memo}return function(obj,iteratee,memo,context){iteratee=optimizeCb(iteratee,context,4);var keys=!isArrayLike(obj)&&_.keys(obj),length=(keys||obj).length,index=dir>0?0:length-1;if(arguments.length<3){memo=obj[keys?keys[index]:index];index+=dir}return iterator(obj,iteratee,memo,keys,index,length)}}_.reduce=_.foldl=_.inject=createReduce(1);_.reduceRight=_.foldr=createReduce(-1);_.find=_.detect=function(obj,predicate,context){var key;if(isArrayLike(obj)){key=_.findIndex(obj,predicate,context)}else{key=_.findKey(obj,predicate,context)}if(key!==void 0&&key!==-1)return obj[key]};_.filter=_.select=function(obj,predicate,context){var results=[];predicate=cb(predicate,context);_.each(obj,function(value,index,list){if(predicate(value,index,list))results.push(value)});return results};_.reject=function(obj,predicate,context){return _.filter(obj,_.negate(cb(predicate)),context)};_.every=_.all=function(obj,predicate,context){predicate=cb(predicate,context);var keys=!isArrayLike(obj)&&_.keys(obj),length=(keys||obj).length;for(var index=0;index<length;index++){var currentKey=keys?keys[index]:index;if(!predicate(obj[currentKey],currentKey,obj))return false}return true};_.some=_.any=function(obj,predicate,context){predicate=cb(predicate,context);var keys=!isArrayLike(obj)&&_.keys(obj),length=(keys||obj).length;for(var index=0;index<length;index++){var currentKey=keys?keys[index]:index;if(predicate(obj[currentKey],currentKey,obj))return true}return false};_.contains=_.includes=_.include=function(obj,item,fromIndex,guard){if(!isArrayLike(obj))obj=_.values(obj);if(typeof fromIndex!="number"||guard)fromIndex=0;return _.indexOf(obj,item,fromIndex)>=0};_.invoke=function(obj,method){var args=slice.call(arguments,2);var isFunc=_.isFunction(method);return _.map(obj,function(value){var func=isFunc?method:value[method];return func==null?func:func.apply(value,args)})};_.pluck=function(obj,key){return _.map(obj,_.property(key))};_.where=function(obj,attrs){return _.filter(obj,_.matcher(attrs))};_.findWhere=function(obj,attrs){return _.find(obj,_.matcher(attrs))};_.max=function(obj,iteratee,context){var result=-Infinity,lastComputed=-Infinity,value,computed;if(iteratee==null&&obj!=null){obj=isArrayLike(obj)?obj:_.values(obj);for(var i=0,length=obj.length;i<length;i++){value=obj[i];if(value>result){result=value}}}else{iteratee=cb(iteratee,context);_.each(obj,function(value,index,list){computed=iteratee(value,index,list);if(computed>lastComputed||computed===-Infinity&&result===-Infinity){result=value;lastComputed=computed}})}return result};_.min=function(obj,iteratee,context){var result=Infinity,lastComputed=Infinity,value,computed;if(iteratee==null&&obj!=null){obj=isArrayLike(obj)?obj:_.values(obj);for(var i=0,length=obj.length;i<length;i++){value=obj[i];if(value<result){result=value}}}else{iteratee=cb(iteratee,context);_.each(obj,function(value,index,list){computed=iteratee(value,index,list);if(computed<lastComputed||computed===Infinity&&result===Infinity){result=value;lastComputed=computed}})}return result};_.shuffle=function(obj){var set=isArrayLike(obj)?obj:_.values(obj);var length=set.length;var shuffled=Array(length);for(var index=0,rand;index<length;index++){rand=_.random(0,index);if(rand!==index)shuffled[index]=shuffled[rand];shuffled[rand]=set[index]}return shuffled};_.sample=function(obj,n,guard){if(n==null||guard){if(!isArrayLike(obj))obj=_.values(obj);return obj[_.random(obj.length-1)]}return _.shuffle(obj).slice(0,Math.max(0,n))};_.sortBy=function(obj,iteratee,context){iteratee=cb(iteratee,context);return _.pluck(_.map(obj,function(value,index,list){return{value:value,index:index,criteria:iteratee(value,index,list)}}).sort(function(left,right){var a=left.criteria;var b=right.criteria;if(a!==b){if(a>b||a===void 0)return 1;if(a<b||b===void 0)return-1}return left.index-right.index}),"value")};var group=function(behavior){return function(obj,iteratee,context){var result={};iteratee=cb(iteratee,context);_.each(obj,function(value,index){var key=iteratee(value,index,obj);behavior(result,value,key)});return result}};_.groupBy=group(function(result,value,key){if(_.has(result,key))result[key].push(value);else result[key]=[value]});_.indexBy=group(function(result,value,key){result[key]=value});_.countBy=group(function(result,value,key){if(_.has(result,key))result[key]++;else result[key]=1});_.toArray=function(obj){if(!obj)return[];if(_.isArray(obj))return slice.call(obj);if(isArrayLike(obj))return _.map(obj,_.identity);return _.values(obj)};_.size=function(obj){if(obj==null)return 0;return isArrayLike(obj)?obj.length:_.keys(obj).length};_.partition=function(obj,predicate,context){predicate=cb(predicate,context);var pass=[],fail=[];_.each(obj,function(value,key,obj){(predicate(value,key,obj)?pass:fail).push(value)});return[pass,fail]};_.first=_.head=_.take=function(array,n,guard){if(array==null)return void 0;if(n==null||guard)return array[0];return _.initial(array,array.length-n)};_.initial=function(array,n,guard){return slice.call(array,0,Math.max(0,array.length-(n==null||guard?1:n)))};_.last=function(array,n,guard){if(array==null)return void 0;if(n==null||guard)return array[array.length-1];return _.rest(array,Math.max(0,array.length-n))};_.rest=_.tail=_.drop=function(array,n,guard){return slice.call(array,n==null||guard?1:n)};_.compact=function(array){return _.filter(array,_.identity)};var flatten=function(input,shallow,strict,startIndex){var output=[],idx=0;for(var i=startIndex||0,length=getLength(input);i<length;i++){var value=input[i];if(isArrayLike(value)&&(_.isArray(value)||_.isArguments(value))){if(!shallow)value=flatten(value,shallow,strict);var j=0,len=value.length;output.length+=len;while(j<len){output[idx++]=value[j++]}}else if(!strict){output[idx++]=value}}return output};_.flatten=function(array,shallow){return flatten(array,shallow,false)};_.without=function(array){return _.difference(array,slice.call(arguments,1))};_.uniq=_.unique=function(array,isSorted,iteratee,context){if(!_.isBoolean(isSorted)){context=iteratee;iteratee=isSorted;isSorted=false}if(iteratee!=null)iteratee=cb(iteratee,context);var result=[];var seen=[];for(var i=0,length=getLength(array);i<length;i++){var value=array[i],computed=iteratee?iteratee(value,i,array):value;if(isSorted){if(!i||seen!==computed)result.push(value);seen=computed}else if(iteratee){if(!_.contains(seen,computed)){seen.push(computed);result.push(value)}}else if(!_.contains(result,value)){result.push(value)}}return result};_.union=function(){return _.uniq(flatten(arguments,true,true))};_.intersection=function(array){var result=[];var argsLength=arguments.length;for(var i=0,length=getLength(array);i<length;i++){var item=array[i];if(_.contains(result,item))continue;for(var j=1;j<argsLength;j++){if(!_.contains(arguments[j],item))break}if(j===argsLength)result.push(item)}return result};_.difference=function(array){var rest=flatten(arguments,true,true,1);return _.filter(array,function(value){return!_.contains(rest,value)})};_.zip=function(){return _.unzip(arguments)};_.unzip=function(array){var length=array&&_.max(array,getLength).length||0;var result=Array(length);for(var index=0;index<length;index++){result[index]=_.pluck(array,index)}return result};_.object=function(list,values){var result={};for(var i=0,length=getLength(list);i<length;i++){if(values){result[list[i]]=values[i]}else{result[list[i][0]]=list[i][1]}}return result};function createPredicateIndexFinder(dir){return function(array,predicate,context){predicate=cb(predicate,context);var length=getLength(array);var index=dir>0?0:length-1;for(;index>=0&&index<length;index+=dir){if(predicate(array[index],index,array))return index}return-1}}_.findIndex=createPredicateIndexFinder(1);_.findLastIndex=createPredicateIndexFinder(-1);_.sortedIndex=function(array,obj,iteratee,context){iteratee=cb(iteratee,context,1);var value=iteratee(obj);var low=0,high=getLength(array);while(low<high){var mid=Math.floor((low+high)/2);if(iteratee(array[mid])<value)low=mid+1;else high=mid}return low};function createIndexFinder(dir,predicateFind,sortedIndex){return function(array,item,idx){var i=0,length=getLength(array);if(typeof idx=="number"){if(dir>0){i=idx>=0?idx:Math.max(idx+length,i)}else{length=idx>=0?Math.min(idx+1,length):idx+length+1}}else if(sortedIndex&&idx&&length){idx=sortedIndex(array,item);return array[idx]===item?idx:-1}if(item!==item){idx=predicateFind(slice.call(array,i,length),_.isNaN);return idx>=0?idx+i:-1}for(idx=dir>0?i:length-1;idx>=0&&idx<length;idx+=dir){if(array[idx]===item)return idx}return-1}}_.indexOf=createIndexFinder(1,_.findIndex,_.sortedIndex);_.lastIndexOf=createIndexFinder(-1,_.findLastIndex);_.range=function(start,stop,step){if(stop==null){stop=start||0;start=0}step=step||1;var length=Math.max(Math.ceil((stop-start)/step),0);var range=Array(length);for(var idx=0;idx<length;idx++,start+=step){range[idx]=start}return range};var executeBound=function(sourceFunc,boundFunc,context,callingContext,args){if(!(callingContext instanceof boundFunc))return sourceFunc.apply(context,args);var self=baseCreate(sourceFunc.prototype);var result=sourceFunc.apply(self,args);if(_.isObject(result))return result;return self};_.bind=function(func,context){if(nativeBind&&func.bind===nativeBind)return nativeBind.apply(func,slice.call(arguments,1));if(!_.isFunction(func))throw new TypeError("Bind must be called on a function");var args=slice.call(arguments,2);var bound=function(){return executeBound(func,bound,context,this,args.concat(slice.call(arguments)))};return bound};_.partial=function(func){var boundArgs=slice.call(arguments,1);var bound=function(){var position=0,length=boundArgs.length;var args=Array(length);for(var i=0;i<length;i++){args[i]=boundArgs[i]===_?arguments[position++]:boundArgs[i]}while(position<arguments.length)args.push(arguments[position++]);return executeBound(func,bound,this,this,args)};return bound};_.bindAll=function(obj){var i,length=arguments.length,key;if(length<=1)throw new Error("bindAll must be passed function names");for(i=1;i<length;i++){key=arguments[i];obj[key]=_.bind(obj[key],obj)}return obj};_.memoize=function(func,hasher){var memoize=function(key){var cache=memoize.cache;var address=""+(hasher?hasher.apply(this,arguments):key);if(!_.has(cache,address))cache[address]=func.apply(this,arguments);return cache[address]};memoize.cache={};return memoize};_.delay=function(func,wait){var args=slice.call(arguments,2);return setTimeout(function(){return func.apply(null,args)},wait)};_.defer=_.partial(_.delay,_,1);_.throttle=function(func,wait,options){var context,args,result;var timeout=null;var previous=0;if(!options)options={};var later=function(){previous=options.leading===false?0:_.now();timeout=null;result=func.apply(context,args);if(!timeout)context=args=null};return function(){var now=_.now();if(!previous&&options.leading===false)previous=now;var remaining=wait-(now-previous);context=this;args=arguments;if(remaining<=0||remaining>wait){if(timeout){clearTimeout(timeout);timeout=null}previous=now;result=func.apply(context,args);if(!timeout)context=args=null}else if(!timeout&&options.trailing!==false){timeout=setTimeout(later,remaining)}return result}};_.debounce=function(func,wait,immediate){var timeout,args,context,timestamp,result;var later=function(){var last=_.now()-timestamp;if(last<wait&&last>=0){timeout=setTimeout(later,wait-last)}else{timeout=null;if(!immediate){result=func.apply(context,args);if(!timeout)context=args=null}}};return function(){context=this;args=arguments;timestamp=_.now();var callNow=immediate&&!timeout;if(!timeout)timeout=setTimeout(later,wait);if(callNow){result=func.apply(context,args);context=args=null}return result}};_.wrap=function(func,wrapper){return _.partial(wrapper,func)};_.negate=function(predicate){return function(){return!predicate.apply(this,arguments)}};_.compose=function(){var args=arguments;var start=args.length-1;return function(){var i=start;var result=args[start].apply(this,arguments);while(i--)result=args[i].call(this,result);return result}};_.after=function(times,func){return function(){if(--times<1){return func.apply(this,arguments)}}};_.before=function(times,func){var memo;return function(){if(--times>0){memo=func.apply(this,arguments)}if(times<=1)func=null;return memo}};_.once=_.partial(_.before,2);var hasEnumBug=!{toString:null}.propertyIsEnumerable("toString");var nonEnumerableProps=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];function collectNonEnumProps(obj,keys){var nonEnumIdx=nonEnumerableProps.length;var constructor=obj.constructor;var proto=_.isFunction(constructor)&&constructor.prototype||ObjProto;var prop="constructor";if(_.has(obj,prop)&&!_.contains(keys,prop))keys.push(prop);while(nonEnumIdx--){prop=nonEnumerableProps[nonEnumIdx];if(prop in obj&&obj[prop]!==proto[prop]&&!_.contains(keys,prop)){keys.push(prop)}}}_.keys=function(obj){if(!_.isObject(obj))return[];if(nativeKeys)return nativeKeys(obj);var keys=[];for(var key in obj)if(_.has(obj,key))keys.push(key);if(hasEnumBug)collectNonEnumProps(obj,keys);return keys};_.allKeys=function(obj){if(!_.isObject(obj))return[];var keys=[];for(var key in obj)keys.push(key);if(hasEnumBug)collectNonEnumProps(obj,keys);return keys};_.values=function(obj){var keys=_.keys(obj);var length=keys.length;var values=Array(length);for(var i=0;i<length;i++){values[i]=obj[keys[i]]}return values};_.mapObject=function(obj,iteratee,context){iteratee=cb(iteratee,context);var keys=_.keys(obj),length=keys.length,results={},currentKey;for(var index=0;index<length;index++){currentKey=keys[index];results[currentKey]=iteratee(obj[currentKey],currentKey,obj)}return results};_.pairs=function(obj){var keys=_.keys(obj);var length=keys.length;var pairs=Array(length);for(var i=0;i<length;i++){pairs[i]=[keys[i],obj[keys[i]]]}return pairs};_.invert=function(obj){var result={};var keys=_.keys(obj);for(var i=0,length=keys.length;i<length;i++){result[obj[keys[i]]]=keys[i]}return result};_.functions=_.methods=function(obj){var names=[];for(var key in obj){if(_.isFunction(obj[key]))names.push(key)}return names.sort()};_.extend=createAssigner(_.allKeys);_.extendOwn=_.assign=createAssigner(_.keys);_.findKey=function(obj,predicate,context){predicate=cb(predicate,context);var keys=_.keys(obj),key;for(var i=0,length=keys.length;i<length;i++){key=keys[i];if(predicate(obj[key],key,obj))return key}};_.pick=function(object,oiteratee,context){var result={},obj=object,iteratee,keys;if(obj==null)return result;if(_.isFunction(oiteratee)){keys=_.allKeys(obj);iteratee=optimizeCb(oiteratee,context)}else{keys=flatten(arguments,false,false,1);iteratee=function(value,key,obj){return key in obj};obj=Object(obj)}for(var i=0,length=keys.length;i<length;i++){var key=keys[i];var value=obj[key];if(iteratee(value,key,obj))result[key]=value}return result};_.omit=function(obj,iteratee,context){if(_.isFunction(iteratee)){iteratee=_.negate(iteratee)}else{var keys=_.map(flatten(arguments,false,false,1),String);iteratee=function(value,key){return!_.contains(keys,key)}}return _.pick(obj,iteratee,context)};_.defaults=createAssigner(_.allKeys,true);_.create=function(prototype,props){var result=baseCreate(prototype);if(props)_.extendOwn(result,props);return result};_.clone=function(obj){if(!_.isObject(obj))return obj;return _.isArray(obj)?obj.slice():_.extend({},obj)};_.tap=function(obj,interceptor){interceptor(obj);return obj};_.isMatch=function(object,attrs){var keys=_.keys(attrs),length=keys.length;if(object==null)return!length;var obj=Object(object);for(var i=0;i<length;i++){var key=keys[i];if(attrs[key]!==obj[key]||!(key in obj))return false}return true};var eq=function(a,b,aStack,bStack){if(a===b)return a!==0||1/a===1/b;if(a==null||b==null)return a===b;if(a instanceof _)a=a._wrapped;if(b instanceof _)b=b._wrapped;var className=toString.call(a);if(className!==toString.call(b))return false;switch(className){case"[object RegExp]":case"[object String]":return""+a===""+b;case"[object Number]":if(+a!==+a)return+b!==+b;return+a===0?1/+a===1/b:+a===+b;case"[object Date]":case"[object Boolean]":return+a===+b}var areArrays=className==="[object Array]";if(!areArrays){if(typeof a!="object"||typeof b!="object")return false;var aCtor=a.constructor,bCtor=b.constructor;if(aCtor!==bCtor&&!(_.isFunction(aCtor)&&aCtor instanceof aCtor&&_.isFunction(bCtor)&&bCtor instanceof bCtor)&&("constructor"in a&&"constructor"in b)){return false}}aStack=aStack||[];bStack=bStack||[];var length=aStack.length;while(length--){if(aStack[length]===a)return bStack[length]===b}aStack.push(a);bStack.push(b);if(areArrays){length=a.length;if(length!==b.length)return false;while(length--){if(!eq(a[length],b[length],aStack,bStack))return false}}else{var keys=_.keys(a),key;length=keys.length;if(_.keys(b).length!==length)return false;while(length--){key=keys[length];if(!(_.has(b,key)&&eq(a[key],b[key],aStack,bStack)))return false}}aStack.pop();bStack.pop();return true};_.isEqual=function(a,b){return eq(a,b)};_.isEmpty=function(obj){if(obj==null)return true;if(isArrayLike(obj)&&(_.isArray(obj)||_.isString(obj)||_.isArguments(obj)))return obj.length===0;return _.keys(obj).length===0};_.isElement=function(obj){return!!(obj&&obj.nodeType===1)};_.isArray=nativeIsArray||function(obj){return toString.call(obj)==="[object Array]"};_.isObject=function(obj){var type=typeof obj;return type==="function"||type==="object"&&!!obj};_.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(name){_["is"+name]=function(obj){return toString.call(obj)==="[object "+name+"]"}});if(!_.isArguments(arguments)){_.isArguments=function(obj){return _.has(obj,"callee")}}if(typeof/./!="function"&&typeof Int8Array!="object"){_.isFunction=function(obj){return typeof obj=="function"||false}}_.isFinite=function(obj){return isFinite(obj)&&!isNaN(parseFloat(obj))};_.isNaN=function(obj){return _.isNumber(obj)&&obj!==+obj};_.isBoolean=function(obj){return obj===true||obj===false||toString.call(obj)==="[object Boolean]"};_.isNull=function(obj){return obj===null};_.isUndefined=function(obj){return obj===void 0};_.has=function(obj,key){return obj!=null&&hasOwnProperty.call(obj,key)};_.noConflict=function(){root._=previousUnderscore;return this};_.identity=function(value){return value};_.constant=function(value){return function(){return value}};_.noop=function(){};_.property=property;_.propertyOf=function(obj){return obj==null?function(){}:function(key){return obj[key]}};_.matcher=_.matches=function(attrs){attrs=_.extendOwn({},attrs);return function(obj){return _.isMatch(obj,attrs)}};_.times=function(n,iteratee,context){var accum=Array(Math.max(0,n));iteratee=optimizeCb(iteratee,context,1);for(var i=0;i<n;i++)accum[i]=iteratee(i);return accum};_.random=function(min,max){if(max==null){max=min;min=0}return min+Math.floor(Math.random()*(max-min+1))};_.now=Date.now||function(){return(new Date).getTime()};var escapeMap={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"};var unescapeMap=_.invert(escapeMap);var createEscaper=function(map){var escaper=function(match){return map[match]};var source="(?:"+_.keys(map).join("|")+")";var testRegexp=RegExp(source);var replaceRegexp=RegExp(source,"g");return function(string){string=string==null?"":""+string;return testRegexp.test(string)?string.replace(replaceRegexp,escaper):string}};_.escape=createEscaper(escapeMap);_.unescape=createEscaper(unescapeMap);_.result=function(object,property,fallback){var value=object==null?void 0:object[property];if(value===void 0){value=fallback}return _.isFunction(value)?value.call(object):value};var idCounter=0;_.uniqueId=function(prefix){var id=++idCounter+"";return prefix?prefix+id:id};_.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var noMatch=/(.)^/;var escapes={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"};var escaper=/\\|'|\r|\n|\u2028|\u2029/g;var escapeChar=function(match){return"\\"+escapes[match]};_.template=function(text,settings,oldSettings){if(!settings&&oldSettings)settings=oldSettings;settings=_.defaults({},settings,_.templateSettings);var matcher=RegExp([(settings.escape||noMatch).source,(settings.interpolate||noMatch).source,(settings.evaluate||noMatch).source].join("|")+"|$","g");var index=0;var source="__p+='";text.replace(matcher,function(match,escape,interpolate,evaluate,offset){source+=text.slice(index,offset).replace(escaper,escapeChar);index=offset+match.length;if(escape){source+="'+\n((__t=("+escape+"))==null?'':_.escape(__t))+\n'"}else if(interpolate){source+="'+\n((__t=("+interpolate+"))==null?'':__t)+\n'"}else if(evaluate){source+="';\n"+evaluate+"\n__p+='"}return match});source+="';\n";if(!settings.variable)source="with(obj||{}){\n"+source+"}\n";source="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+source+"return __p;\n";try{var render=new Function(settings.variable||"obj","_",source)}catch(e){e.source=source;throw e}var template=function(data){return render.call(this,data,_)};var argument=settings.variable||"obj";template.source="function("+argument+"){\n"+source+"}";return template};_.chain=function(obj){var instance=_(obj);instance._chain=true;return instance};var result=function(instance,obj){return instance._chain?_(obj).chain():obj};_.mixin=function(obj){_.each(_.functions(obj),function(name){var func=_[name]=obj[name];_.prototype[name]=function(){var args=[this._wrapped];push.apply(args,arguments);return result(this,func.apply(_,args))}})};_.mixin(_);_.each(["pop","push","reverse","shift","sort","splice","unshift"],function(name){var method=ArrayProto[name];_.prototype[name]=function(){var obj=this._wrapped;method.apply(obj,arguments);if((name==="shift"||name==="splice")&&obj.length===0)delete obj[0];return result(this,obj)}});_.each(["concat","join","slice"],function(name){var method=ArrayProto[name];_.prototype[name]=function(){return result(this,method.apply(this._wrapped,arguments))}});_.prototype.value=function(){return this._wrapped};_.prototype.valueOf=_.prototype.toJSON=_.prototype.value;_.prototype.toString=function(){return""+this._wrapped};if(typeof define==="function"&&define.amd){define("underscore",[],function(){return _})}}).call(this);function populateAggregation(aggregation){aggregation.set(0,[PPlaceType.STATE]);aggregation.set(3,[PPlaceType.COUNTY]);aggregation.set(6,[PPlaceType.ZIP]);aggregation.set(9,[PPlaceType.CENSUSTRACT]);aggregation.set(10,[PPlaceType.BLOCKGROUP]);aggregation.set(0,[PPlaceType.BLOCKGROUP],105);aggregation.set(0,[PPlaceType.CENSUSTRACT],110);aggregation.set(0,[PPlaceType.COUNTY_SUBDIVISION],115);aggregation.set(0,[PPlaceType.ZIP],120);aggregation.set(0,[PPlaceType.SCHOOL],125);aggregation.set(0,[PPlaceType.CONGRESSIONAL],130);aggregation.set(0,[PPlaceType.CITY],135);aggregation.set(0,[PPlaceType.CDBG],140);aggregation.set(0,[PPlaceType.COUNTY],145);aggregation.set(0,[PPlaceType.MD],150);aggregation.set(0,[PPlaceType.CBSA],155);aggregation.set(0,[PPlaceType.STATE],160);aggregation.set(0,[PPlaceType.COUNTY,PPlaceType.CITY],165);aggregation.set(0,[PPlaceType.STATE,PPlaceType.CENSUSTRACT],170);aggregation.set(0,[PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],200);aggregation.set(12,[PPlaceType.BLOCKGROUP],200);aggregation.set(0,[PPlaceType.COUNTY,PPlaceType.CENSUSTRACT],210);aggregation.set(8,[PPlaceType.CENSUSTRACT],210);aggregation.setAvail([PPlaceType.COUNTY,PPlaceType.CENSUSTRACT],210);aggregation.set(0,[PPlaceType.STATE,PPlaceType.ZIP],220);aggregation.set(5,[PPlaceType.ZIP],220);aggregation.set(0,[PPlaceType.STATE,PPlaceType.COUNTY],230);aggregation.set(5,[PPlaceType.COUNTY],230);aggregation.set(0,[PPlaceType.STATE,PPlaceType.CBSA],240);aggregation.set(3,[PPlaceType.CBSA],240);aggregation.set(0,[PPlaceType.COUNTY,PPlaceType.CENSUSTRACT],250);aggregation.set(8,[PPlaceType.CENSUSTRACT],250);aggregation.set(0,[PPlaceType.CDBG,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],300);aggregation.set(8,[PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],300);aggregation.set(12,[PPlaceType.BLOCKGROUP],300);aggregation.set(0,[PPlaceType.COUNTY,PPlaceType.ZIP,PPlaceType.CENSUSTRACT],310);aggregation.set(8,[PPlaceType.ZIP,PPlaceType.CENSUSTRACT],310);aggregation.set(11,[PPlaceType.CENSUSTRACT],310);aggregation.set(0,[PPlaceType.STATE,PPlaceType.CBSA,PPlaceType.COUNTY],320);aggregation.set(3,[PPlaceType.CBSA,PPlaceType.COUNTY],320);aggregation.set(5,[PPlaceType.COUNTY],320);aggregation.set(0,[PPlaceType.STATE,PPlaceType.COUNTY,PPlaceType.CENSUSTRACT],330);aggregation.set(5,[PPlaceType.COUNTY,PPlaceType.CENSUSTRACT],330);aggregation.set(8,[PPlaceType.CENSUSTRACT],330);aggregation.set(0,[PPlaceType.COUNTY,PPlaceType.ZIP,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],400);aggregation.set(8,[PPlaceType.ZIP,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],400);aggregation.set(11,[PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],400);aggregation.set(12,[PPlaceType.BLOCKGROUP],400);aggregation.setAvail([PPlaceType.COUNTY,PPlaceType.ZIP,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],400);aggregation.set(0,[PPlaceType.STATE,PPlaceType.COUNTY,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],410);
aggregation.set(5,[PPlaceType.COUNTY,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],410);aggregation.set(8,[PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],410);aggregation.set(12,[PPlaceType.BLOCKGROUP],410);aggregation.setAvail([PPlaceType.STATE,PPlaceType.COUNTY,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],410);aggregation.set(0,[PPlaceType.STATE,PPlaceType.COUNTY,PPlaceType.ZIP,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],420);aggregation.set(5,[PPlaceType.COUNTY,PPlaceType.ZIP,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],420);aggregation.set(8,[PPlaceType.ZIP,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],420);aggregation.set(12,[PPlaceType.BLOCKGROUP],420);aggregation.set(0,[PPlaceType.STATE,PPlaceType.CBSA,PPlaceType.COUNTY,PPlaceType.CENSUSTRACT],430);aggregation.set(3,[PPlaceType.CBSA,PPlaceType.COUNTY,PPlaceType.CENSUSTRACT],430);aggregation.set(5,[PPlaceType.COUNTY,PPlaceType.CENSUSTRACT],430);aggregation.set(8,[PPlaceType.CENSUSTRACT],430);aggregation.set(0,[PPlaceType.STATE,PPlaceType.CBSA,PPlaceType.COUNTY,PPlaceType.CITY],440);aggregation.set(3,[PPlaceType.CBSA,PPlaceType.COUNTY,PPlaceType.ZIP],440);aggregation.set(5,[PPlaceType.COUNTY,PPlaceType.ZIP],440);aggregation.set(8,[PPlaceType.ZIP],440);aggregation.set(0,[PPlaceType.STATE,PPlaceType.SCHOOL],450);aggregation.set(4,[PPlaceType.SCHOOL],450);aggregation.set(0,[PPlaceType.STATE,PPlaceType.COUNTY,PPlaceType.CENSUSTRACT],460);aggregation.set(5,[PPlaceType.COUNTY,PPlaceType.CENSUSTRACT],460);aggregation.set(8,[PPlaceType.CENSUSTRACT],460);aggregation.setAvail([PPlaceType.STATE,PPlaceType.COUNTY,PPlaceType.CENSUSTRACT],460);aggregation.set(0,[PPlaceType.CBSA,PPlaceType.COUNTY,PPlaceType.ZIP],470);aggregation.set(5,[PPlaceType.COUNTY,PPlaceType.ZIP],470);aggregation.set(8,[PPlaceType.ZIP],470);aggregation.set(0,[PPlaceType.COUNTY,PPlaceType.BLOCKGROUP],480);aggregation.set(12,[PPlaceType.BLOCKGROUP],480);aggregation.set(0,[PPlaceType.COUNTY,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],490);aggregation.set(8,[PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP],490);aggregation.set(12,[PPlaceType.BLOCKGROUP],490);aggregation.set(0,[PPlaceType.STATE,PPlaceType.ZIP],500);aggregation.set(5,[PPlaceType.STATE,PPlaceType.COUNTY,PPlaceType.ZIP],500);aggregation.set(8,[PPlaceType.ZIP],500);aggregation.set(0,[PPlaceType.BLOCK],510);aggregation.dataset={};aggregation.dataset.CLARITAS=420;aggregation.dataset.CLARITAS_R=410;aggregation.dataset.ACS=410;aggregation.dataset.ACS_TRAVEL_TIME=330;aggregation.dataset.HOMESALE=400;aggregation.dataset.FOODSTAMPS=230;aggregation.dataset.HMDA=330;aggregation.dataset.CCBPD=440;aggregation.dataset.FEC=220;aggregation.dataset.IRS=220;aggregation.dataset.SSI=230;aggregation.dataset.NJRA=110;aggregation.dataset.USPS=210;aggregation.dataset.OA=410;aggregation.dataset.HUDHP=110;aggregation.dataset.HUDSUB=330;aggregation.dataset.CRABF=330;aggregation.dataset.RELIGION=230;aggregation.dataset.MNREPORT=250;aggregation.dataset.IMMIGRATION=460}function checkEmails(selector,checkNull){j=selector;if(j.inputError==null){setupInputError(j,"Invalid email address")}var emails=j.val();if(emails.length==0){if(checkNull){return j.doit()}return j.undoit()}emails=emails.replace(/ /g,"");emails=emails.split(",");for(var i=0;i<emails.length;++i){if(/^([A-Za-z0-9_\-\.\+])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(emails[i])===false){return j.doit()}}return j.undoit()}function checkPrintFormat(j,click){if(j.inputError==null){setupInputError(j,"Please select PDF, PNG, JPG, or all three.")}var pdfChecked=data.pdfInput.is(":checked");var pngChecked=data.pngInput.is(":checked");var jpgChecked=data.jpgInput.is(":checked");if(pdfChecked||pngChecked||jpgChecked){return j.undoit()}else if(!click){return j.doit()}}function setupInputError(j,errorText){j.inputError=errorText;j.poshytip({content:errorText,showOn:"none",className:"tip-yellowsimple",showTimeout:1,alignTo:"target",alignX:"center",alignY:"top",offsetX:0,offsetY:10,fade:false,slide:false});j.doit=function(){this.poshytip("show");return false};j.undoit=function(){this.poshytip("hide");return true}}function genericPrePrint(callback){if(map!=null){var indicator=map.getIndicator();if(indicator){var jsonbreaks=indicator.createCustomBreaksJSON(session.get("nb")?session.get("nb"):DEFAULT_NUMBREAKS,true);if(jsonbreaks){var obj={};obj[indicator.id]=jsonbreaks;ajax.call({url:PEnvironment.stringstoreUrl+"?str="+MochiKit.Base.serializeJSON(obj),context:this,success:callback})}}}return callback()}function genericPrint(data,callback){var linkManager=new PLinkManager;data.link.name=data.name;if(data.template=="map"||data.template=="analytic"){data.parms=genMapJpgLink();if(data.printType=="png"){data.parms+="&fillmap=false";var newWidth,newHeight;if(data.link.url.indexOf("or=landscape")!=-1){newWidth=PrintSizes.map.landscape.width;newHeight=PrintSizes.map.landscape.height}else if(data.link.url.indexOf("or=portrait")!=-1){newWidth=PrintSizes.map.portrait.width;newHeight=PrintSizes.map.portrait.height}if(newWidth&&newHeight){data.parms=data.parms.replace(/imgwidth=\d+/,"imgwidth="+newWidth);data.parms=data.parms.replace(/imgheight=\d+/,"imgheight="+newHeight)}}else{data.parms+="&fillmap=true"}}if(data.action=="print"){if(data.printType=="jpg"){linkManager.printJPG(data.link,callback,data.parms,data.printTemplate)}else if(data.printType=="png"){linkManager.printPNG(data.link,callback,data.parms,data.printTemplate)}else if(data.printType=="pdf"){linkManager.printPDF(data.link,callback,data.parms,data.printTemplate,data.printService)}else if(data.printType=="csv"){linkManager.printCSV(data.link,callback,data.printTemplate)}}else if(data.action=="email"){linkManager.emailLink(data.link,callback,data.emails,data.message,data.emailFromValue)}else if(data.action=="save"){linkManager.add(data.link,callback,data.printTemplate)}}function genericPrintStatusMessage(data,status,msg){var text;data.header=null;if(data.status!=null){data.previousStatus=data.status}data.status=status;if(status==307){text="Retrieved saved "+data.printType.toUpperCase()+" "+data.template+".";setWindowLocation(msg)}else if(status==202||status==200){var myPolicyMapText='<span class="alertDialogMyPolicyMap my-policymap-title">'+dnf.getName("myPolicyMap")+"</span>";text=msg.replace(/My PolicyMap/g,myPolicyMapText)}else if(status==242){data.noPopup=true}else if(status==403&&PEnvironment.isPolicyMap){setWindowLocation("/redirect.jsp")}else{var action=data.action=="print"?"printing":"saving";if(data.printType=="email"){text="There was a problem sending the email: "+msg}else if(data.printType=="map"){text="There was a problem "+action+" the map: "+msg}else{text="There was a problem "+action+" the "+data.printType+" "+data.template+": "+msg}}var addMessage=true;if(data.statusMessages==null){data.statusMessages=[]}else{for(var i=0;i<data.statusMessages.length;i++){if(data.statusMessages[i]==text){addMessage=false;break}}}if(addMessage){if(data.okText==null){data.okText=text}else if(text!=null){data.okText+="<br><br>"+text}data.statusMessages.push(text)}return data}function genericPrintCheck(data){data.name=$("#editTitleInput").val();if(data.action=="print"){if(data.template=="map"||data.template=="analytic"){if($("input[name='orientation']:checked")){data.link.url+="&or="+$("input[name='orientation']:checked").val();printOrientation=$("input[name='orientation']:checked").val()}}else if(data.template=="chart"){data.parms+="&or=landscape"}data.name=$("#editTitleInput").val();var pdfChecked=$("#pdfCheckbox").is(":checked");var pngChecked=$("#pngCheckbox").is(":checked");var jpgChecked=$("#jpgCheckbox").is(":checked");var islChecked=$("input[name='island']:checked").val();if(islChecked=="region"){islandPrintEnabled=true;data.link.url+="&island=true"}else{islandPrintEnabled=false}var printTypes=[];if(pdfChecked||data.printType=="pdf"){printTypes.push("pdf")}if(pngChecked||data.printType=="png"){printTypes.push("png")}if(jpgChecked||data.printType=="jpg"){printTypes.push("jpg")}if(printTypes.length>0){sendPrintRequests(data,printTypes)}else{checkPrintFormat(data.pdfInput);return false}}else{genericPrePrint(function(){genericPrint(data,function(status,msg){data=genericPrintStatusMessage(data,status,msg);genericAlertDialog({template:"generic",data:data})})})}return true}function sendPrintRequests(data,printTypes){if(printTypes.length>0){genericPrePrint(function(){data.printType=printTypes.shift();genericPrint(data,function(status,msg){data=genericPrintStatusMessage(data,status,msg);sendPrintRequests(data,printTypes)})})}else{islandPrintEnabled=false;genericAlertDialog({template:"generic",data:data})}}function checkPlaceInd(){var place=null;var ind=null;var pins=null;if(PEnvironment.pageName=="tables"){if(global_places.length>0){place=global_places[0]}if(global_indicators.length>0){ind=global_indicators[0]}}else{if(mapstates.currentplace&&mapstates.currentplace.getType()){place=mapstates.currentplace}if(map.getIndicator()){ind=map.getIndicator()}}if(P.instances.table&&P.instances.table.getOverlaySets().length>0){pins=P.instances.table.getOverlaySets()}else if(map&&map.getOverlaySets().length>0){pins=map.getOverlaySets()}return{place:place,ind:ind,pins:pins}}function genericAlertDialog(object){if(object.data==null){data={};data.action="";data.cancelButton="Cancel";data.emailFrom=false;data.emailTo=false;data.emailMultiTo=false;data.emailToMessage=false;data.format=false;data.island=false;data.setName=false;data.okButton="Save";data.orientation=false;data.print=false;data.printTemplate="PolicyMapMapPage";data.printType="";data.checkForCustomBreaks=false;data.warning=object.warning;data.redirect=object.redirect}if(data.noPopup!=null){return}data.template=object.template;if(object.action!=null){data.action=object.action}if(object.printService!=null){data.printService=object.printService}if(data.template=="chart"){var p=checkPlaceInd();var place=p.place;var ind=p.ind;if(place&&ind){if(data.action=="print"){data.title="Print";var indicators=P.instances.table.cube.getIndicators();var indicator=indicators[0];var periods=P.instances.table.cube.getPeriods();var aPeriods=new String(periods).split(",");var period=aPeriods[0];var places=[];var predefined_places=[];var getplaces=P.instances.table.cube.getPlaces();var stuff="";var dataCount=0;for(var i=0;i<getplaces.length;++i){var place=getplaces[i];places.push(place);if(place.getType()!=PPlaceType.CUSTOM&&place.getType()!=PPlaceType.POLYGON){predefined_places.push(place)}}for(var i=0;i<aPeriods.length;++i){var year=aPeriods[i];for(var j=0;j<getplaces.length;++j){var place=getplaces[j];var value=cube.values[year][place.id][indicator.id];var color="#"+cube.charts[0].ogColors[j%8].getColor();if(value==null){continue}stuff+="&p_"+dataCount+"="+encodeURIComponent(place.getLabel()+place.getDisplayState()+" ("+place.getType().getName()+")")+"&d_"+dataCount+"="+encodeURIComponent(value)+"&y_"+dataCount+"="+year+"&c_"+dataCount+"="+encodeURIComponent(color);++dataCount}}var ticks="";for(var i=0;i<P.instances.chart.plotkitLayout.yticks.length;i++){if(i>0&&P.instances.chart.plotkitLayout.yticks[i][1]==P.instances.chart.plotkitLayout.yticks[i-1][1]){break}ticks+=P.instances.chart.plotkitLayout.yticks[i][1].replace(/[^\d&^\.^\-]/g,"")+","}ticks="&ticks="+encodeURIComponent(ticks.substr(0,ticks.length-1));var originalTableHtml=document.getElementById("mainTable").innerHTML;var colorRegEx=/background\-color\: rgb\([0-9]{1,3}, [0-9]{1,3}, [0-9]{1,3}\)/;var colorMatch;var i=0;while(originalTableHtml.match(colorRegEx)){colorMatch=originalTableHtml.match(colorRegEx);originalTableHtml=originalTableHtml.replace(colorMatch,"background-color: #"+cube.charts[0].ogColors[i%8].getColor());i++}originalTableHtml=originalTableHtml.replace("See Values</a>)","</a>");originalTableHtml=originalTableHtml.replace("(<a onclick","<a onclick");var title="?title="+encodeURIComponent(indicator.getFullDisplayName());var dataSize="&ds="+dataCount;var description="&desc="+encodeURIComponent(indicator.getDescription());var tableTitle="&tt="+encodeURIComponent(indicator.getLabel());var tableHtml="&table="+encodeURIComponent('<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><div id="mainTable" class="mainTable" style="width: 100%;">'+originalTableHtml+"</div></body></html>");var sources="&sources="+encodeURIComponent(indicator.getSourceList());var aggregate="&a="+encodeURIComponent(P.instances.table.calculateColumn(indicator,period));var dataType="&dt="+indicator.getMeasurement();var unit="&ut="+encodeURIComponent(indicator.unit);data.link=new PChartLink(predefined_places,indicators,periods,session.data,custom_places,ppolygon);data.parms="http://BarChartPage/"+title+sources+aggregate+stuff+ticks+dataSize+tableTitle+tableHtml+dataType+description+unit;data.header="Your table will be available shortly. It may take a few minutes to generate.<br /><br />It will also be saved to <span class='alertDialogMyPolicyMap my-policymap-title'>"+dnf.getName("myPolicyMap")+"</span>.";data.format=true;data.print=true;if(PEnvironment.isPolicyMap){data.okButton="Print"}data.printTemplate=aPeriods.length>1?"TrendChartPage":"BarChartPage";data.name=data.link.name;data.okCallback=function(){return genericPrintCheck(data)}}else if(data.action=="save"){data.title="Save";var places=[];var getplaces=P.instances.table.cube.getPlaces();for(var i=0;i<getplaces.length;i++){if(getplaces[i].getType()!=PPlaceType.CUSTOM&&getplaces[i].getType()!=PPlaceType.POLYGON){places.push(getplaces[i])}}var indicators=P.instances.table.cube.getIndicators();var periods=P.instances.table.cube.getPeriods();data.header='Your chart will be saved to <span class="alertDialogMyPolicyMap my-policymap-title">'+dnf.getName("myPolicyMap")+"</span>.";data.link=new PChartLink(places,indicators,periods,session.data,custom_places,ppolygon);data.name=data.link.name;data.okCallback=function(){return genericPrintCheck(data)}}}else{if(place&&!ind){data.warning="To "+data.action+" a table, choose data above. To make a comparative table, add other locations and click GO."}else if(!place&&ind){data.warning="To "+data.action+" a table, add a location. To make a comparative table, add other locations and click GO."}else if(!place&&!ind){data.warning="To "+data.action+" a table, first add a location and choose data above. To make a comparative table, add other locations and click GO."}data.okButton=null;data.cancelButton="OK"}}else if(data.template=="csv"&&data.action=="save"){var p=checkPlaceInd();if(p.place&&p.ind||p.pins){data.title="Save";data.header="Your list will be saved to <span class='alertDialogMyPolicyMap my-policymap-title'>"+dnf.getName("myPolicyMap")+"</span>.";if(PEnvironment.pageName=="tables"){var indicators=P.instances.table.cube.getIndicators();var periods=P.instances.table.cube.getPeriods();var getplaces=P.instances.table.cube.getPlaces();var places=[];for(var i=0;i<getplaces.length;++i){var place=getplaces[i];places.push(place)}}else{var indicators=[];var periods=[];if(p.ind){indicators=[p.ind];periods=p.ind.getPeriods()}var places=[p.place]}data.link=new PChartLink(places,indicators,periods,session.data,custom_places,ppolygon,"list");data.name=data.link.name;data.printTemplate="SiteList";data.printType="csv";data.okCallback=function(){return genericPrintCheck(data)}}else{if(place&&!ind){data.warning="To save a table, choose data above. To make a comparative table, add other locations and click GO."}else if(!place&&ind){data.warning="To save a table, add a location. To make a comparative table, add other locations and click GO."}else if(!place&&!ind){data.warning="To save a table, first add a location and choose data above. To make a comparative table, add other locations and click GO."}data.okButton=null;data.cancelButton="OK"}}else if(data.template=="ranks"&&data.action=="print"){data.title="Print";var p=checkPlaceInd();var indicators=P.instances.table.cube.getIndicators();var periods=P.instances.table.cube.getPeriods();var getplaces=P.instances.table.cube.getPlaces();var places=[];for(var i=0;i<getplaces.length;++i){var place=getplaces[i];places.push(place)}data.link=new PChartLink(places,indicators,periods,session.data,custom_places,ppolygon,"ranks");data.name=data.link.name;data.printTemplate="RankingBoxPage";data.header="Your ranking print will be available shortly. It may take a few minutes to generate.<br /><br />It will also be saved to <span class='alertDialogMyPolicyMap my-policymap-title'>"+dnf.getName("myPolicyMap")+"</span>.";data.format=true;data.print=true;data.okButton="Print";var indicator="?ind="+P.instances.rRanks.ind.getID();var period="&per="+P.instances.rRanks.period;var place="&p="+P.instances.rRanks.place.getID();var placeType="&pt="+P.instances.rRanks.place.getType().getPluralName()+", "+boundaryMatrix.getDisplayYearForDefinitionId(P.instances.rRanks.place.getDefinitionId());var displayName="&dn="+P.instances.rRanks.ind.fullDisplayNames[P.instances.rRanks.ind.curPerIndex];var source="&s="+P.instances.rRanks.ind.getSourceList();data.parms="http://RankingBoxPage/"+indicator+period+place+placeType+displayName+source;data.okCallback=function(){return genericPrintCheck(data)}}else if(data.template=="generic"){data.cancelButton="OK";data.print=false;data.island=false;data.emailFrom=false;data.emailTo=false;data.emailMultiTo=false;data.emailToMessage=false;data.format=false;data.okButton=null;data.okCallback=null;data.orientation=false;data.name=null;data.checkForCustomBreaks=false}else if((data.template=="map"||data.template=="analytic")&&data.action=="email"){data.title="Email";var indicator=map.getIndicator();var period=session.get("period");var legend=null;var indicators=[];if(PEnvironment.pageName=="analytics"){for(var i=0;legend=map.getLegendMerger().getLegend(i);i++){if(legend.getIndicator()){indicators.push([legend.getIndicator(),legend.getIndicator().getPeriod()])}}}else if(indicator){indicators.push([indicator,period])}var good=true;if(session.get("o")){var o=session.get("o").split(",");for(var i=0;i<o.length;i++){if(isNonPublicDataset(o[i])){data.warning="Currently maps of proprietary data cannot be emailed.";good=false;break}}}if(session.get("cp")){data.warning="Currently maps with custom regions cannot be emailed.";good=false}if(pMapLayer.UMTRANSIT&&pMapLayer.UMTRANSIT.isOn()){data.warning="Currently maps of proprietary data cannot be emailed.";good=false}for(var i=0;i<indicators.length;i++){if(isNonPublicIndicator(indicators[i][0],indicators[i][1])){data.warning="Currently maps of proprietary data cannot be emailed.";good=false;break}}if(good){var f=function(cb){if(PEnvironment.isPolicyMap||!isAutoLoginUser()){data.emailFromValue="no-reply"}else{data.emailFromValue=productProperty.getValue("site_license_mail_from");data.emailFrom=true}data.emailTo=true;data.emailMultiTo=true;data.emailToMessage=true;data.okButton="Send";data.printType="email";data.link=new PMapLink(cb);var centerPoint=map.getCenterLatLng();data.link.url+="&cx="+centerPoint.x+"&cy="+centerPoint.y;data.link.url+="&cz="+map.getZoom();data.okCallback=function(){if(data.emailFrom){good=checkEmails(data.emailFromInput,true);if(good==false){return false}data.emailFromValue=data.emailFromInput.val()}var emails=data.emailToInput.val();emails=emails.replace(/ /g,"");data.emails=emails.split(",");data.message=data.emailToMessageTextarea.val();return genericPrintCheck(data)};addAlerterContent(data)};data.checkForCustomBreaks=true;checkIfCustomBreaks(f)}else{data.okButton=null;data.cancelButton="OK"}}else if((data.template=="map"||data.template=="analytic")&&data.action=="print"){data.title="Print";var f=function(cb){var displayType=data.template;if(displayType=="analytic"){displayType="3-Layer Map"}if(session.get("cp")){place=session.get("cp").join(",")}else if(session.get("place")&&map.infoWindowType=="address"){place=session.get("place")}else if(mapstates.currentplace&&mapstates.currentplace.getType()){place=mapstates.currentplace}data.header="Your "+displayType+" will be available shortly. It may take a few minutes to generate.<br /><br />It will also be saved to <span class='alertDialogMyPolicyMap my-policymap-title'>"+dnf.getName("myPolicyMap")+"</span>.";if(typeof P.instances.googleMap!="undefined"&&P.instances.googleMap.showing)data.header+="<br /><br />Please note: aerials can not be printed, due to licensing restrictions. You will receive a shaded map only.";data.format=true;data.orientation=true;data.print=true;data.okButton="Print";data.link=new PMapLink(cb);data.name=data.link.name;if(data.template=="map"){data.printTemplate="PolicyMapMapPage";if(session.get("i")&&(session.get("p")||session.get("cp"))){data.island=true}}else if(data.template=="analytic"){data.printTemplate="PolicyMapAnalyticsPage"}data.okCallback=function(){return genericPrintCheck(data)};addAlerterContent(data)};data.checkForCustomBreaks=true;checkIfCustomBreaks(f)}else if((data.template=="map"||data.template=="analytic")&&data.action=="save"){data.title="Save";var f=function(cb){var displayType=data.template;if(displayType=="analytic"){displayType="3-Layer Map"}if(custom_place){place=custom_place}else if(session.get("place")&&map.infoWindowType=="address"){place=session.get("place")}else if(mapstates.currentplace&&mapstates.currentplace.getType()){place=mapstates.currentplace}data.printType="map";data.header="Your "+displayType+' will be saved to <span class="alertDialogMyPolicyMap my-policymap-title">'+dnf.getName("myPolicyMap")+"</span>.";data.link=new PMapLink(cb);data.name=data.link.name;data.okCallback=function(){return genericPrintCheck(data)};addAlerterContent(data)};data.checkForCustomBreaks=true;checkIfCustomBreaks(f)}else if(data.template=="analytic"&&data.action=="download-places"){data.title="Download Places";data.header="Your list of places will be available shortly. It may take a few minutes to generate.<br /><br />Your list will be saved to <span class='alertDialogMyPolicyMap my-policymap-title'>"+dnf.getName("myPolicyMap")+"</span>.";data.name="3-Layer Map List";data.limitState=true;data.okButton="Download";data.okCallback=function(){data.name=$("#editTitleInput").val();var listLink=new PAnalyticListLink;listLink.setName(data.name);var selectedState=$("#stateSelect").val();if(selectedState!="ALL"){var selectedStateText=$("#stateSelect option:selected").text();listLink.addListParm("st",searchStates.getByFIPS(selectedState).abbreviation);listLink.setName(listLink.name+" ("+selectedStateText+")")}saveAnalyticList(listLink)}}else if(data.template=="analytic"&&data.action=="download-points"){data.title="Download Points";data.header="Your list of points will be available shortly. It may take a few minutes to generate.<br /><br />Your list will be saved to <span class='alertDialogMyPolicyMap my-policymap-title'>"+dnf.getName("myPolicyMap")+"</span>.";data.name="3-Layer Map Point List";data.limitState=true;data.limitPoints=true;data.okButton="Download";data.okCallback=function(){data.name=$("#editTitleInput").val();var listLink=new PAnalyticListLink;listLink.setName(data.name);var pointSetIndex=$("#pointSelect").val();var pointSet=data.pointSets[pointSetIndex];var pointSetId=pointSet.id;if(pointSetId==86500||pointSetId==129600||pointSetId==130350){alerter.popup(pointSet.name+" is not available for download in 3-Layer Maps.","OK");return}var oldSets=[];var dlSets=[];var storeSet=function(set){if(set.type=="old"){oldSets.push(set.id)}else if(set.type=="dl"){dlSets.push(set.id)}};for(var i=0;i<pointSet.children.length;i++){storeSet(pointSet.children[i])}storeSet(pointSet);if(oldSets.length>0){var oldSetsJoined=oldSets.join(":");listLink.addLinkParm("o",oldSetsJoined);listLink.addListParm("o",oldSetsJoined)}if(dlSets.length>0){var dlSetsJoined=dlSets.join(":");listLink.addLinkParm("dlo",dlSetsJoined);listLink.addListParm("dlo",dlSetsJoined)}var selectedState=$("#stateSelect").val();if(selectedState!="ALL"){var selectedStateText=$("#stateSelect option:selected").text();listLink.addListParm("st",searchStates.getByFIPS(selectedState).abbreviation);listLink.setName(listLink.name+" ("+selectedStateText+")")}listLink.addListParm("points","t");saveAnalyticList(listLink)}}else if(data.template=="report"&&data.action=="print"){if(data.printService!=null&&data.printService==P.constants.webKitPrintService){data.link=new PReportLink;data.name=data.link.name;data.printType="pdf";data.header="Your report will be available momentarily. It will also be saved to <span class='alertDialogMyPolicyMap my-policymap-title'>"+dnf.getName("myPolicyMap")+"</span>.";data.okButton="Print";data.okCallback=function(){return genericPrintCheck(data)}}else{if(ajax.activeRequests){data.warning="Please wait until the report finishes loading before printing.";data.okButton=null;data.cancelButton="OK"}else{data.link=new PReportLink;data.name=data.link.name;if(isCompTypeReport()){data.parms="http://HudReportPage/?"}else{data.parms="http://ReportPage/?"}data.parms+="html="+encodeURIComponent("<html>"+document.body.parentNode.innerHTML+"</html>");var mapParms="";mapParms+="lat="+encodeURIComponent(map.getCenter().lat());mapParms+="&long="+encodeURIComponent(map.getCenter().lng());mapParms+="&scale="+encodeURIComponent(map.getScale());mapParms+="&imgwidth="+encodeURIComponent($("#map").width());mapParms+="&imgheight="+encodeURIComponent($("#map").height());var mapLayers=PMapType.NORMAL.getMapLayers();if(mapLayers!=null&&mapLayers.length>0){mapParms+="&layers=";for(var i=0;i<mapLayers.length;i++){mapParms+=encodeURIComponent(mapLayers[i].name+",")}mapParms=mapParms.slice(0,-3)}var getParms=getUrlParams();if(getParms.cpid){mapParms+="&cpid="+getParms.cpid}else{if(getParms.area=="polygon"||getParms.area=="pradius"){mapParms+="&bid="+getParms.bid+"&pname="+encodeURIComponent(getParms.name)+"&plat="+getParms.plat+"&plng="+getParms.plng}if(getParms.pid||getParms.radius&&getParms.location){var boundary=new Array(new Object);if(getParms.pid){mapParms+="&ps=";boundary[0].id=getParms.pid}else if(getParms.radius&&getParms.location){mapParms+="&rs=";var locPoint=new PMarker(map.radiuscenter).getPoint();boundary[0].radius=getParms.radius;boundary[0].lat=locPoint.lat();boundary[0].lng=locPoint.lng()}boundary[0].f=new Object;boundary[0].f.r=243;boundary[0].f.g=161;boundary[0].f.b=46;boundary[0].f.a=178;mapParms+=encodeURIComponent(MochiKit.Base.serializeJSON(boundary))}}data.header="Your report will be available momentarily. It will also be saved to <span class='alertDialogMyPolicyMap my-policymap-title'>"+dnf.getName("myPolicyMap")+"</span>.";data.parms+="&mparms="+encodeURIComponent(mapParms);data.print=true;data.printType="pdf";data.printTemplate="ReportPage";if(isCompTypeReport()){data.parms+="&hudparms="+encodeURIComponent(currentReport.hudmaps);data.printTemplate="HudReportPage"}if(PEnvironment.isPolicyMap){data.okButton="Print"}data.okCallback=function(){return genericPrintCheck(data)}}}}else if(data.template=="report"&&data.action=="save"){if(ajax.activeRequests){data.warning="Please wait until the report finishes loading before saving.";data.okButton=null;data.cancelButton="OK"}else{data.header='Your report will be saved to <span class="alertDialogMyPolicyMap my-policymap-title">'+dnf.getName("myPolicyMap")+"</span>";data.link=new PReportLink;data.name=data.link.name;data.okCallback=function(){return genericPrintCheck(data)}}}else if(data.template=="report-wf"&&data.action=="save"){if(ajax.activeRequests){data.warning="Please wait until the report finishes loading before printing.";data.okButton=null;data.cancelButton="OK"}else{data.header='Your report will be saved to <span class="alertDialogMyPolicyMap my-policymap-title">'+dnf.getName("myPolicyMap")+"</span>. Your print is getting generated and should be ready soon.";data.link=new PReportLink;data.name=data.link.name;data.okCallback=function(){return genericPrintCheck(data)}}}else if(data.template=="mypolicymap"&&data.action=="shareregion"){data.title="Share Region";data.cpid=object.cpid;data.regionname=object.regionname;data.emailTo=true;data.emailMultiTo=false;data.emailToMessage=true;if(PEnvironment.isPolicyMap){data.header='Sharing a region allows you to send a region you have created to another PolicyMap subscriber. The subscriber will be notified via email and the region will appear in their <span class="my-custom-regions-title">'+dnf.getName("myCustomRegions")+'</span> and <span class="alertDialogMyPolicyMap my-policymap-title">'+dnf.getName("myPolicyMap")+"</span>. To continue, please enter the email address of the PolicyMap subscriber you wish to share the following region with."}else{data.header='Sharing a region allows you to send a region you have created to another site license user. The region will appear in their <span class="my-custom-regions-title">'+dnf.getName("myCustomRegions")+'</span> and <span class="alertDialogMyPolicyMap my-policymap-title">'+dnf.getName("myPolicyMap")+"</span>. To continue, please enter the email address of the site license user you wish to share the following region with."}data.okButton="Send";data.okCallback=function(){good=checkEmails(data.emailToInput,true);if(good==false){return false}var emails=data.emailToInput.val();data.emails=emails.replace(/ /g,"");data.message=data.emailToMessageTextarea.val();var message=$("textarea[id=message]").val();var f=function(msg){alerter.popup(msg,"OK")};polycreator.sharePoly(data.cpid,data.emails,data.message,f);return}}else if(data.template=="mypolicymap"&&data.action=="rename"){data.setName=true;data.id=object.id;if(object.type=="region"){data.oldName=object.regionname}else{data.oldName=object.name}data.type=object.type;var niceType=data.type;if(niceType=="region"){niceType="custom region";data.setNameLength=64}else if(niceType=="analytic"){niceType="3-layer map"}else if(niceType=="analyticslist"){niceType="3-layer map list"}else if(niceType=="tablelist"){niceType="table list"}data.header="Please enter a new name for this "+niceType+".";data.okButton="Rename";var responseAlert=function(msg){if(msg=="OK"){updateItemTitle(data.id,data.type,data.newName)}else{alerter.popup(msg,"OK")}};data.okCallback=function(){data.newName=data.setNameInput.val();if(data.type=="region"){polycreator.renamePoly(object.id,data.newName,responseAlert)}else{linkManager.renameLink(object.id,data.newName,responseAlert)}return}}else if(data.template=="login"){data.title="Login"}else if(data.template=="embed"){data.okButton="Embed";data.title="Embed Interactive Map";var good=true;if(session.get("o")){var o=session.get("o").split(",");for(var i=0;i<o.length;i++){if(isNonPublicDataset(o[i])){data.warning="Currently maps of proprietary data cannot be embedded.";good=false;break}}}if(session.get("dlo")){var dlo=session.get("dlo").split(",");var nonPublic=[];for(var i=0;i<dlo.length;i++){var dloSet=getActiveOverlaySetByIdAndType(dlo[i],"dl");if(dloSet!=null&&dloSet.perm!=2){nonPublic.push(dloSet.name)}}if(nonPublic.length>0){data.warning="The following datasets are not public and cannot be used in an embedded map: "+nonPublic.join(", ");good=false}}if(session.get("cp")){data.warning="Currently maps with custom regions cannot be embedded.";good=false}if(pMapLayer.UMTRANSIT&&pMapLayer.UMTRANSIT.isOn()){data.warning="Currently maps of proprietary data cannot be embedded.";good=false}var indicator=map.getIndicator();var period=session.get("period");if(indicator!=null&&isNonPublicIndicator(indicator,period)){data.warning="Currently maps of proprietary data cannot be embedded.";good=false}if(good){data.embed=true;data.okCallback=function(){var embedOptions={imgwidth:Math.min($("#aParmsWidth").val(),2e3),imgheight:Math.min($("#aParmsHeight").val(),2e3),etitle:$("#embedmap_title_yes").is(":checked"),elegend:$("#embedmap_legend_yes").is(":checked")};var embed=function(cb){var link=new PMapLink(cb,"embed");link.url+="&ew="+embedOptions.imgwidth+"&eh="+embedOptions.imgheight;if(embedOptions.elegend==true)link.url+="&elegend="+embedOptions.elegend;if(embedOptions.etitle==true)link.url+="&etitle="+embedOptions.etitle;link.url+="&etype=embedmap_dyn";linkManager.embed(link,function(status,msg,lqid){if(status==200){text="Your map image has been created.  To embed this map, please copy and paste the following link to your source code:<br/><br/>";
var link="<div style=&quot;text-align:center&quot;>"+"<iframe src=&quot;http://"+PEnvironment.wwwUrl+"/embedmap_dyn?lqid="+lqid+"&quot; named=&quot;embeddedmap&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; frameborder=&quot;0&quot; width=&quot;"+embedOptions.imgwidth+"&quot; height=&quot;"+embedOptions.imgheight+"&quot; >Click here to interact with map.</iframe>"+"<div style=&quot;font:13px arial,geneva,helvetica,sans-serif&quot;>Data mapped by <a style=&quot;text-decoration:underline&quot; target=&quot;_blank&quot; href=&quot;http://www.policymap.com/&quot;>PolicyMap</a>, an online GIS mapping tool.</div></div>";text+='<input id="embed_link" type="text" value="'+link+'" size="30" />';alerter.popup(text,"OK");jQuery("#embed_link").focus(function(){this.select()})}else{alerter.popup(msg,"OK")}},parms,"EmbedMap",embedOptions.action)};var parms=map.printImage().split("?")[1];embedOptions.action="embeddyn";if(!indicator&&map.getOverlaySets().length>0){embedOptions.title=createSitesMapTitle()}if(indicator){var jsonbreaks=indicator.createCustomBreaksJSON(session.get("nb")?session.get("nb"):DEFAULT_NUMBREAKS,true);if(jsonbreaks){var obj={};obj[indicator.id]=jsonbreaks;ajax.call({url:PEnvironment.stringstoreUrl+"?str="+MochiKit.Base.serializeJSON(obj),context:this,success:embed})}else{embed()}}else{embed()}}}else{data.okButton=null;data.cancelButton="OK"}}else if(data.template=="subscriber"){data.title="Available to subscribers only";data.buttons=[];if(object.customText!=null){data.customText=object.customText}}else if(data.template=="subscriber-widget"){data.title="This data is available in PolicyMap to subscribers";data.buttons=[]}else if(data.template=="subscriber-uploaded-data"||data.template=="subscriber-saved-work"||data.template=="subscriber-max-reports"){data.title="Subscription required";data.buttons=[]}else if(data.template=="custom-region"){data.title="Custom Region";data.header="Select the type of custom region you wish to build:"}else if(data.template=="coming-soon"){data.header="This feature is currently not available for beta testing.";data.buttons=[]}if(!data.checkForCustomBreaks){addAlerterContent(data)}}function addAlerterContent(data){var content=$("<div/>");content.attr("id","alertDialogContent");if(PEnvironment.isSiteLicense){if(data.action=="print"||data.action=="save"){}else if(data.action!="shareregion"){data.header=null}}var $theTable=$("<div/>");$theTable.addClass("alertDialogMainDiv");var counter=0;if(data.title!=null){var $titleDiv=$("<div/>");$titleDiv.addClass("alertDialogTitle");$titleDiv.text(data.title);$theTable.append($titleDiv);var $hr=$("<div/>");$hr.addClass("alertDialogHR");$theTable.append($hr)}if(data.header!=null){var $headerDiv=$("<div/>");$headerDiv.addClass("alertDialogHeader");$headerDiv.html(data.header);$theTable.append($headerDiv)}if(data.warning!=null){var $warningDiv=$("<div/>");$warningDiv.addClass("alertDialogWarning");$warningDiv.text(data.warning);$theTable.append($warningDiv)}var $middleDiv=$("<div/>");$theTable.append($middleDiv);if(data.template=="mypolicymap"&&data.action=="shareregion"){var $row=$("<div/>");$row.addClass("alertDialogHeaderExtra");$middleDiv.append($row);var $label=$("<div/>");$label.addClass("alertDialogStaggerContentSolo");$label.text("Region: "+data.regionname);$row.append($label)}if(data.name!=null){var $row=$("<div/>");$row.addClass("alertDialogBackground"+counterCheck(counter++));$middleDiv.append($row);var $label=$("<div/>");$label.addClass("alertDialogStaggerName");$label.text("Name: ");$row.append($label);var $content=$("<div/>");$content.addClass("alertDialogStaggerContent");$row.append($content);var $nameTitleText=$("<span />");$nameTitleText.attr("id","nameTitleText");$nameTitleText.text(data.name);$content.append($nameTitleText);var $nameTitle=$("<input/>");$nameTitle.attr({type:"text",name:"edit_report_title",id:"editTitleInput",value:data.name});$nameTitle.css("width","315px");var setTitle=function(e){$nameTitle.hide();$nameTitleText.text($nameTitle.val());$nameTitleText.show();$editTitleSpan.show();e.stopPropagation();e.preventDefault();return false};$nameTitle.bind("keyup",function(e){if(e.keyCode==13){setTitle(e)}});$nameTitle.bind("blur",function(e){setTitle(e)});$nameTitle.hide();$content.append($nameTitle);var $editTitleSpan=$("<span/>");$editTitleSpan.attr("id","editTitleSpan");var $editTitleLink=$("<span/>");$editTitleLink.addClass("simulink");$editTitleLink.text("change name");$editTitleLink.click(function(e){$nameTitleText.hide();$editTitleSpan.hide();$nameTitle.show();$nameTitle.focus();e.stopPropagation();e.preventDefault();return false});$editTitleSpan.append($("<span> (</span>"),$editTitleLink,$("<span>)</span>"));$content.append($editTitleSpan)}else if(data.okText!=null){var $row=$("<div/>");$row.addClass("alertDialogBackground"+counterCheck(counter++));$middleDiv.append($row);var $okText=$("<div/>");$okText.html(data.okText);$row.append($okText)}if(data.setName==true){var $row=$("<div/>");$row.addClass("alertDialogBackground"+counterCheck(counter++));$middleDiv.append($row);var $label=$("<div/>");$label.addClass("alertDialogStaggerName");$label.text("Name: ");$row.append($label);var $content=$("<div/>");$content.addClass("alertDialogStaggerContent");$row.append($content);data.setNameInput=$("<input/>");data.setNameInput.attr({type:"text",id:"setNameInput"});data.setNameInput.css("width","315px");if(data.setNameLength){data.setNameInput.attr("maxlength",data.setNameLength)}if(data.oldName!=null){data.setNameInput.val(data.oldName)}$content.append(data.setNameInput)}if(data.emailFrom==true){var fromAddress="";var fromDisabled=false;if(productProperty.exists("site_license_mail_from")){fromAddress=productProperty.getValue("site_license_mail_from");fromDisabled=true}var $emailFromDiv=$("<div />");$emailFromDiv.addClass("alertDialogBackground"+counterCheck(counter++));var $emailFromSpan=$("<div/>");$emailFromSpan.addClass("alertDialogStaggerSolo");$emailFromSpan.html("From:");$emailFromDiv.append($emailFromSpan);data.emailFromInput=$("<input/>");$(data.emailFromInput).attr({type:"text",id:"emailFromInput",value:fromAddress,disabled:fromDisabled});$(data.emailFromInput).bind("blur",function(){checkEmails(data.emailFromInput)});$(data.emailFromInput).on("remove",function(){$(this).poshytip("destroy")});$emailFromDiv.append(data.emailFromInput);$theTable.append($emailFromDiv)}if(data.emailTo==true){var $emailToDiv=$("<div />");$emailToDiv.addClass("alertDialogBackground"+counterCheck(counter++));var $emailToSpan=$("<div/>");$emailToSpan.addClass("alertDialogStaggerSolo");if(data.emailMultiTo){$emailToSpan.html("Email To: (Use commas to separate multiple addresses)")}else{$emailToSpan.html("Email To:")}$emailToDiv.append($emailToSpan);data.emailToInput=$("<input/>");data.emailToInput.attr({type:"text",id:"emailToInput"});data.emailToInput.css("width","475px");data.onLoad=function(){$(data.emailToInput).focus()};data.emailToInput.bind("blur",function(){checkEmails(data.emailToInput)});data.emailToInput.on("remove",function(){$(this).poshytip("destroy")});$emailToDiv.append(data.emailToInput);$theTable.append($emailToDiv)}if(data.emailToMessage==true){var emailMessageDiv=$("<div />");emailMessageDiv.addClass("alertDialogBackground"+counterCheck(counter++));var emailToMessageSpan=$("<span/>");$(emailToMessageSpan).addClass("alertDialogText");var emailToMessageHTML="Message: (Optional) ";$(emailToMessageSpan).html(emailToMessageHTML);emailMessageDiv.append(emailToMessageSpan);var br=$("<br/>");emailMessageDiv.append(br);data.emailToMessageTextarea=$("<textarea/>");data.emailToMessageTextarea.css("width","475px");$(data.emailToMessageTextarea).attr({cols:"60",rows:"5",id:"emailToMessageTextarea"});$(data.emailToMessageTextarea).bind("keyup",function(e){$(emailToMessageSpan).html(emailToMessageHTML+" - "+data.emailToMessageTextarea.val().length+" characters")});emailMessageDiv.append(data.emailToMessageTextarea);$theTable.append(emailMessageDiv)}if(data.format==true){var pdfString="PDF";var pngString="High Resolution (PNG)";var jpgString="Low Resolution (JPG)";if(data.template=="chart"||data.template=="ranks"){pngString="PNG";jpgString="JPG"}var $row=$("<div/>");$row.addClass("alertDialogBackground"+counterCheck(counter++));$middleDiv.append($row);var $label=$("<div/>");$label.addClass("alertDialogStaggerName");$label.html("Format:");$row.append($label);var $content=$("<div/>");$content.addClass("alertDialogStaggerContent");$row.append($content);var $pdf=$("<div/>");data.pdfInput=$("<input/>");$(data.pdfInput).attr({id:"pdfCheckbox",name:"printType",type:"radio"});$pdf.append($(data.pdfInput));var $pdfLabel=$("<label/>");$pdfLabel.attr("for","pdfCheckbox");$pdfLabel.text(pdfString);$pdf.append($pdfLabel);$content.append($pdf);var $png=$("<div/>");data.pngInput=$("<input/>");$(data.pngInput).attr({id:"pngCheckbox",name:"printType",type:"radio"});$png.append($(data.pngInput));var $pngLabel=$("<label/>");$pngLabel.attr("for","pngCheckbox");$pngLabel.text(pngString);$png.append($pngLabel);$content.append($png);var $jpg=$("<div/>");data.jpgInput=$("<input/>");$(data.jpgInput).attr({id:"jpgCheckbox",name:"printType",type:"radio"});$jpg.append($(data.jpgInput));var $jpgLabel=$("<label/>");$jpgLabel.attr("for","jpgCheckbox");$jpgLabel.text(jpgString);$jpg.append($jpgLabel);$content.append($jpg);$(data.pdfInput).bind("click",function(){checkPrintFormat(data.pdfInput,true)});$(data.pngInput).bind("click",function(){checkPrintFormat(data.pdfInput,true)});$(data.jpgInput).bind("click",function(){checkPrintFormat(data.pdfInput,true)});$(data.pdfInput).on("remove",function(){$(this).poshytip("destroy")});$(data.pngInput).on("remove",function(){$(this).poshytip("destroy")});$(data.jpgInput).on("remove",function(){$(this).poshytip("destroy")})}if(data.format==true&&data.orientation==true){var $row=$("<div/>");$row.addClass("alertDialogBackground"+counterCheck(counter++));$middleDiv.append($row);var $label=$("<div/>");$label.addClass("alertDialogStaggerName");$label.text("Orientation:");$row.append($label);var $content=$("<div/>");$content.addClass("alertDialogStaggerContent");$row.append($content);$landscapeInput=$("<input/>");$landscapeInput.attr({id:"landscape",name:"orientation",type:"radio",value:"landscape",checked:"checked"});$content.append($landscapeInput);var $landscapeLabel=$("<label/>");$landscapeLabel.attr("for","landscape");$landscapeLabel.text("Landscape");$content.append($landscapeLabel);$portraitInput=$("<input/>");$portraitInput.attr({id:"portrait",name:"orientation",type:"radio",value:"portrait"});$content.append($portraitInput);var $portraitLabel=$("<label/>");$portraitLabel.attr("for","portrait");$portraitLabel.text("Portrait");$content.append($portraitLabel)}if(data.island==true){var $row=$("<div />");$row.addClass("alertDialogBackground"+counterCheck(counter++));$middleDiv.append($row);var $label=$("<div />");$label.addClass("alertDialogStaggerName");$label.text("Shading:");$row.append($label);var $content=$("<div />");$content.addClass("alertDialogStaggerContent");$row.append($content);$allDiv=$("<div />");$allInput=$("<input/>");$allInput.attr({id:"shadeAll",name:"island",type:"radio",value:"",checked:"checked"});$allDiv.append($allInput);var $allLabel=$("<label />");$allLabel.attr("for","shadeAll");$allLabel.text("Shade entire map");$allDiv.append($allLabel);$content.append($allDiv);$islandDiv=$("<div />");$islandInput=$("<input />");$islandInput.attr({id:"shadeIsland",name:"island",type:"radio",value:"region"});$islandDiv.append($islandInput);var $islandLabel=$("<label />");$islandLabel.attr("for","shadeIsland");$islandLabel.text("Only shade selected region(s)");$islandDiv.append($islandLabel);$content.append($islandDiv)}if(data.limitState==true){var $limitStateDiv=$("<div />");$limitStateDiv.addClass("alertDialogBackground"+counterCheck(counter++));var $limitStateLabel=$("<div/>");$limitStateLabel.addClass("alertDialogStaggerName");$limitStateLabel.text("Limit results to:");$limitStateDiv.append($limitStateLabel);data.limitStateSelect=$("<select />");data.limitStateSelect.attr("id","stateSelect");data.limitStateSelect.addClass("alertDialogStaggerContent");data.limitStateSelect.css("width","315px");var $stateOptions=searchStates.getOptions();if(data.action=="download-places"){var $allStates=$("<option />");$allStates.val("ALL");$allStates.attr("title","All States");$allStates.text("All States");data.limitStateSelect.append($allStates)}data.limitStateSelect.append($stateOptions);$limitStateDiv.append(data.limitStateSelect);$theTable.append($limitStateDiv)}if(data.limitPoints==true){var $limitPointsDiv=$("<div />");$limitPointsDiv.addClass("alertDialogBackground"+counterCheck(counter++));var $limitPointsLabel=$("<div/>");$limitPointsLabel.addClass("alertDialogStaggerName");$limitPointsLabel.html("Download points from:");$limitPointsDiv.append($limitPointsLabel);data.limitPointSelect=$("<select />");data.limitPointSelect.attr("id","pointSelect");data.limitPointSelect.addClass("alertDialogStaggerContent");data.limitPointSelect.css("width","315px");data.pointSets=map.getOverlaySets(true,true);_.each(data.pointSets,function(set,i){var newOption=$("<option />");newOption.attr("value",i);newOption.text(set.name);data.limitPointSelect.append(newOption)});$limitPointsDiv.append(data.limitPointSelect);$theTable.append($limitPointsDiv)}if(data.template=="login"){var $row=$("<div/>");$middleDiv.append($row);var $blurbHolder=$("<div/>");$blurbHolder.addClass("alertDialogStaggerName alertDialogLoginBlurbHolder");var $blurb=$("<div/>");$blurbHolder.append($blurb);$blurb.addClass("alertDialogLoginBlurb");if(PEnvironment.isPolicyMap){$blurb.text("Not yet a subscriber? See our ");$a=$("<a/>");$a.attr("href","/pricing.html");$a.text("subscriber options");$blurb.append($a)}else{$blurb.text("Please enter your username and password.")}$row.append($blurbHolder);var $content=$("<div/>");$content.addClass("alertDialogStaggerContent alertDialogLoginFields");$row.append($content);var $form=$("<form/>");$form.addClass("login-form");$form.attr({id:"loginForm",method:"post",action:function(){return}});$content.append($form);var $user=$("<div/>");$form.append($user);var $userInput=$("<input/>");$userInput.attr({type:"text",name:"login_user",placeholder:"Username/Email",id:"username"});$userInput.css("width","290px");$user.append($userInput);data.onLoad=function(){$userInput.focus()};var $password=$("<div/>");$form.append($password);var $passwordInput=$("<input/>");$passwordInput.attr({type:"password",name:"login_password",id:"_password",placeholder:"Password"});$passwordInput.css("width","290px");$password.append($passwordInput);$userInput.on("keydown",function(e){if($(this).data("error")==true){$(this).removeClass("error-condition");$(this).poshytip("hide");$(this).data("error",false)}if(e.keyCode==13){$passwordInput.focus()}e.stopPropagation()});$userInput.poshytip({content:"This is not a valid email address. Please try again.",showOn:"none",className:"tip-yellowsimple",showTimeout:1,alignTo:"target",alignX:"center",alignY:"top",offsetX:0,offsetY:0,fade:false,slide:false});$userInput.data("error",false);$userInput.on("remove",function(){$(this).poshytip("destroy")});$passwordInput.poshytip({content:"Please supply a password.",showOn:"none",className:"tip-yellowsimple",showTimeout:1,alignTo:"target",alignX:"right",alignY:"center",offsetX:10,offsetY:0,fade:false,slide:false});$passwordInput.data("error",false);$passwordInput.on("remove",function(){$(this).poshytip("destroy")});var errorTip=function(element,message){element.addClass("error-condition");element.data("error",true);element.select();element.focus();element.poshytip("update",message);element.poshytip("show")};var resetErrorTip=function(element){element.removeClass("error-condition");element.poshytip("hide")};var checkEmailLength=function(){if($userInput.val().length>0){return true}return false};var checkEmail=function(){var val=$userInput.val();if(!validateEmailAddressValue(val)){errorTip($userInput,"This is not a valid email address. Please try again.");return false}else{resetErrorTip($userInput);return true}};var checkPasswordLength=function(){if($passwordInput.val().length>0){return true}return false};var checkPassword=function(){if(!checkPasswordLength()){errorTip($passwordInput,"Please supply a password");return false}return true};$userInput.on("blur",function(e){if(checkEmailLength()){checkEmail()}});var checkBoth=function(){if(!checkEmail()){return false}if(!checkPassword()){return false}return true};$passwordInput.on("keydown",function(e){if(e.keyCode==13){if(checkBoth()){$("#okCallbackButton").click()}}});var okCallback=function(){if(checkBoth()){var callback=function(result){if(result.s==true){if(data.redirect!=null){session.put("redirect",data.redirect)}session.load()}else{showLoginPopup("The username or password was invalid. Please try again.")}};nrLoginSubmit($("#username").val(),$("#_password").val(),callback);return true}return false};var forgotCallback=function(){var emailAddress=$("#username").val();var errorText="";if(emailAddress==""){errorText='Please input your email address and hit the "Forgot your password?" button again.'}else if(validateEmailAddressValue(emailAddress)!=true){errorText='This is not a valid email address. Please input your email address here and hit the "Forgot your password?" button again.'}if(errorText!=""){$("#username").addClass("error-condition");$("#username").data("error",true);$("#username").select();$("#username").focus();$("#username").poshytip("update",errorText);$("#username").poshytip("show");return false}else{var requestError=function(){alerter.popup("There was an error resetting your password. Please check the email address that you provided. If you continue to have issues, please contact us at 1-866-923-MAPS.","OK")};ajax.call({url:PEnvironment.resetURL+"?reg_email="+encodeURIComponent(emailAddress),success:function(status){if(status==null||status.s==null||status.s!=true){requestError()}else{alerter.popup("Your PolicyMap password has been reset. Please check your email at <span class='alertDialogBold'>"+emailAddress+"</span> and login via the link in the email.","OK")}},error:function(){requestError()}});return true}};data.buttons=[{label:"Login",callback:okCallback,type:"ok"},{label:"Forgot your password?",callback:forgotCallback,className:"alertDialogAlertButtonsForgotPassword"}];var $hr=$("<div/>");$hr.addClass("alertDialogHR");$theTable.append($hr)}if(data.embed){var mapsize=map.getSize();var imgwidth=mapsize.width;var imgheight=mapsize.height;counter++;$row=$("<div/>");$row.addClass("alertDialogBackground"+counterCheck(counter++));$middleDiv.append($row);$content=$("<div/>");$content.addClass("alertDialogStaggerContentSolo");$row.append($content);var $width=$("<span/>");$width.text("Width");$content.append($width);var $widthInput=$("<input/>");$widthInput.attr({type:"text",name:"aParmsWidth",id:"aParmsWidth",size:4,value:imgwidth});$content.append($widthInput);var $x=$("<span/>");$x.text("x");$content.append($x);var $heightInput=$("<input/>");$heightInput.attr({type:"text",name:"aParmsHeight",id:"aParmsHeight",size:4,value:imgheight});$content.append($heightInput);$height=$("<span/>");$height.text("Height");$content.append($height);$row=$("<div/>");$row.addClass("alertDialogBackground"+counterCheck(counter++));$middleDiv.append($row);$content=$("<div/>");$content.addClass("alertDialogStaggerContentSolo");$row.append($content);$mapTitle=$("<input/>");$mapTitle.attr({id:"embedmap_title_yes",name:"embedtitle",type:"checkbox",checked:"checked"});$content.append($mapTitle);var $mapTitleLabel=$("<label/>");$mapTitleLabel.attr("for","embedmap_title_yes");$mapTitleLabel.text("Include Map Title?");$content.append($mapTitleLabel);$row=$("<div/>");$row.addClass("alertDialogBackground"+counterCheck(counter++));$middleDiv.append($row);$content=$("<div/>");$content.addClass("alertDialogStaggerContentSolo");$row.append($content);$mapLegend=$("<input/>");$mapLegend.attr({id:"embedmap_legend_yes",name:"embedlegend",type:"checkbox",checked:"checked"});$content.append($mapLegend);var $mapLegendLabel=$("<label/>");$mapLegendLabel.attr("for","embedmap_legend_yes");$mapLegendLabel.text("Include Map Legend?");$content.append($mapLegendLabel)}if(data.template=="subscriber"){var $row=$("<div/>");$middleDiv.append($row);var $blurb=$("<div/>");$blurb.addClass("alertDialogSubscribeBlurb");$row.append($blurb);if(data.customText){$blurb.append(data.customText)}else{$a=$("<a/>");$a.on("click",function(){showLoginPopup();return false});$a.text("Login");$blurb.append($a);$blurb.append(" to access, or see ");$a=$("<a/>");$a.attr("href","/pricing.html");$a.attr("target","_blank");$a.text("subscriber options");$blurb.append($a);$blurb.append(".")}}if(data.template=="subscriber-widget"){var $row=$("<div/>");$middleDiv.append($row);var $blurb=$("<div/>");$blurb.addClass("alertDialogSubscribeBlurb");$row.append($blurb);$a=$("<a/>");$a.attr("href","/pricing.html");$a.attr("target","_blank");$a.text("Click here");$blurb.append($a);$blurb.append(" if you're like to learn more.")}if(data.template=="subscriber-uploaded-data"){var $row=$("<div/>");$middleDiv.append($row);var $blurb=$("<div/>");$blurb.addClass("alertDialogSubscribeBlurb");$row.append($blurb);$a=$("<a/>");$a.attr("href","/pricing.html");$a.attr("target","_blank");$a.text("Subscribe");$blurb.append($a);$blurb.append(" to access your uploaded data.")}if(data.template=="subscriber-saved-work"){var $row=$("<div/>");$middleDiv.append($row);var $blurb=$("<div/>");$blurb.addClass("alertDialogSubscribeBlurb");$row.append($blurb);$a=$("<a/>");$a.attr("href","/pricing.html");$a.attr("target","_blank");$a.text("Subscribe");$blurb.append($a);$blurb.append(" to access your saved work.")}if(data.template=="subscriber-max-reports"){var $row=$("<div/>");$middleDiv.append($row);var $blurb=$("<div/>");$blurb.addClass("alertDialogSubscribeBlurb");$row.append($blurb);$blurb.append("You have reached the maximum report generations for a trial user. ");$a=$("<a/>");$a.attr("href","/pricing.html");$a.attr("target","_blank");$a.text("Subscribe");$blurb.append($a);$blurb.append(" to generate more reports.")}if(data.template=="custom-region"){var $row=$("<div/>");$row.addClass("alertDialogBackground"+counterCheck(counter++));$middleDiv.append($row);var $label=$("<div/>");$label.addClass("alertDialogStaggerName");$label.html("Type:");$row.append($label);var $content=$("<div/>");$content.addClass("alertDialogStaggerContent");$row.append($content);if(polycreator.options.turnDrawOn){var $custom=$("<div/>");data.customInput=$("<input/>");$(data.customInput).attr({id:"drawcustom",name:"customregiontype",type:"radio",value:"1",checked:""});$custom.append($(data.customInput));var $customLabel=$("<label/>");$customLabel.attr("for","drawcustom");$customLabel.text("Drawn Custom Region");$custom.append($customLabel);$content.append($custom)}if(polycreator.options.turnAssembleOn){var $aCustom=$("<div/>");data.aCustomInput=$("<input/>");$(data.aCustomInput).attr({id:"assemblecustom",name:"customregiontype",type:"radio",value:"2"});$aCustom.append($(data.aCustomInput));var $aCustomLabel=$("<label/>");$aCustomLabel.attr("for","assemblecustom");$aCustomLabel.text("Assembled Custom Region");$aCustom.append($aCustomLabel);$content.append($aCustom)}if(polycreator.options.turnRadiusOn){var $radius=$("<div/>");data.radiusInput=$("<input/>");$(data.radiusInput).attr({id:"circlecustom",name:"customregiontype",type:"radio",value:"3"});$radius.append($(data.radiusInput));var $radiusLabel=$("<label/>");$radiusLabel.attr("for","circlecustom");$radiusLabel.text("Radius Region");$radius.append($radiusLabel);$content.append($radius)}data.okButton="OK";data.okCallback=function(){selectCustomRegionType($("input[name=customregiontype]:checked").val())};data.cancelCallback=function(){cancelCustomRegion()}}content.append($theTable);if(data.cancelCallback==null){data.cancelCallback=function(){return true}}if(typeof data.onLoad=="function"){content.onLoad=data.onLoad}if(data.buttons==null){alerter.popup(content,data.cancelButton,data.okButton,data.okCallback,data.cancelCallback)}else{var newContent={content:content,buttons:data.buttons};alerter.popup(newContent)}}function checkIfCustomBreaks(f){var indicator=map.getIndicator();if(indicator){var jsonbreaks=indicator.createCustomBreaksJSON(session.get("nb")?session.get("nb"):DEFAULT_NUMBREAKS,true);if(jsonbreaks){var obj={};obj[indicator.id]=jsonbreaks;ajax.call({url:PEnvironment.stringstoreUrl+"?str="+MochiKit.Base.serializeJSON(obj),context:this,success:f})}else{f()}}else{f()}}function isCompTypeReport(){if(currentReport.reportType=="hud"||currentReport.reportType=="wellsfargo"){return true}else{return false}}function counterCheck(counter){if(counter%2==0){return"On"}return"Off"}function isNonPublicIndicator(ind,period){var badInds=[9633216,9633236,9633244,9633249,9633251,9633212,9633248,9633247,9633250,9633243,9633242,9633234,9633233,9633231,9633229,9633239,9633223,9633219,9633252,9633253,9633214,9633213,9633200,9633232,9633202,9633203,9633204,9633205,9633206,9633207,9633208,9633215,9633218,9633220,9633222,9633225,9633224,9633235,9633210,9633201,9633230,9633211,9633228,9633227,9633246,9633241,9633238,9633237,9633226,9633217,9633209,9633240,9633245,9633221];var indId=parseInt(ind.getID());return $.inArray(indId,badInds)!=-1||ind.containsSource(/nielsen/i,true)&&period!=2e3||ind.containsSource(/boxwood means/i,true)||ind.containsSource(/greatschools/i,true)}function isNonPublicDataset(datasetId){var badDatasets=[89600,89550,86500,130350];datasetId=parseInt(datasetId);return $.inArray(datasetId,badDatasets)!=-1}function analyticsOnLoad(){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=site&act=g",dataType:"json",success:function(dlsets){if(dlsets&&dlsets.site){dlpinsets=dlsets.site}else{dlpinsets={mysites:[],public:{}}}analyticsOnReady()},error:function(){dlpinsets={mysites:[],public:{}};analyticsOnReady()}})}function analyticsOnReady(){function initializeGlobals(){P.instances.wkprint.setOrientation(P.WKPrint.LANDSCAPE);map=new PMap(document.getElementById("map"));map.getLegend().setNumberOfBreaks(DEFAULT_NUMBREAKS);map.mapOptions=new TrfMapBoundaries($(".map-boundaries-menu"));map.addControl(new PLargeMapControl);map.enableDoubleClickZoom();map.enableScrollWheelZoom();map.disableKeyboard();printTemplate="PolicyMapAnalyticsPage";pmToolbar=new Toolbar;pmToolbar.disable("embed","(Not Available)");legendContainer=new Array;indicatorLegend=new Array;legendMerger=new PLegendMerger(map);sitelegends=new PTRFSiteLegendGroup(map);PEvent.addListener(map,"click",function(overlay,point){debug.log(P.Debug.DEBUG,point);PMIdentificationModule.clickHandler(overlay,point)});PEvent.addListener(map,"dblclick",function(){P.instances.map.cancelIdentify=true;P.instances.map.closeInfoWindow()})}function resizeMapContainer($container){$mapContainer.css("height",$window.height()-$mapContainer.offset().top-$(".content__footer").height());if(P.instances.map!==undefined&&P.instances.map.kamap!==undefined){P.instances.map.kamap.resize();P.instances.map.setCenter(P.instances.map.getCenter());if(initialLoad==true){initialLoad=false;initializeMapLocation()}}$window.trigger(P.events.MAP_RESIZED)}function intializeCustomRegions(){polygonOptions=new PPolyCreatorOptions;polygonOptions.poly.weight=1;polygonOptions.poly.opacity=.5;polyCreator=polycreator=new PPolyCreator(polygonOptions);polyCreator.boundaryWidget=new PPolyCreatorBoundaryWidget(polyCreator);polyCreator.circleWidget=new PPolyCreatorCircleWidget(polyCreator);polyCreator.assembleInfoWidget=new PPolyCreatorAssembleInfoWidget(polyCreator);trfCustomRegions=new TrfCustomRegionsMenu(polyCreator,session);trfCustomRegions.once("change",function loadRegionFromSession(){if(session.get("cp")&&isSubscriber()){_.each(session.get("cp"),function(customRegionId){trfCustomRegions.addCustomRegionById(customRegionId)})}})}function addOverlaySetFiltersFromSession(overlaySet){if(overlaySet!=null){var filters=session.getFilters(overlaySet);if(filters){if(filters[0]&&filters[0].values[0]=="COLORCODE"){var ftrs=[];var displayfilters=overlaySet.displayfiltergroups[filters[0].name];var m=displayfilters.length;for(var j=0;j<m;j++){if(displayfilters[j].values[0]!="COLORCODE")ftrs.push(displayfilters[j])}overlaySet.setFiltersByIcons(ftrs,overlaySet.colorcodes);overlaySet.filtergroups[filters[0].name]=[];overlaySet.filtergroups[filters[0].name].push(filters[0])}else overlaySet.setFilters(filters)}for(var i=0;i<overlaySet.children.length;i++){addOverlaySetFiltersFromSession(overlaySet.children[i])}}return overlaySet}function getOverlaySetsFromSession(){var promises=[];if(session.get("o")){var oldOverlaySetIds=session.get("o").split(",");_.each(oldOverlaySetIds,function(oldOverlaySetId){var addFiltersToOverlaySetPromise=getOverlaySet(oldOverlaySetId,"old").then(addOverlaySetFiltersFromSession);promises.push(addFiltersToOverlaySetPromise)})}if(session.get("dlo")){var dataLoaderOverlaySetIds=session.get("dlo").split(",");_.each(dataLoaderOverlaySetIds,function(dataLoaderOverlaySetId){var addFiltersToOverlaySetPromise=getOverlaySet(dataLoaderOverlaySetId,"dl").then(addOverlaySetFiltersFromSession);promises.push(addFiltersToOverlaySetPromise)});if(_.size(dataLoaderOverlaySetIds)===1&&session.get("dloz")&&!session.get("o")){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=site&act=b&did="+dataLoaderOverlaySetIds[0],success:function(response){var coords=response.site;if(coords.minx&&coords.miny&&coords.maxx&&coords.maxy){var sw=new PLatLng(coords.miny,coords.minx);var ne=new PLatLng(coords.maxy,coords.maxx);map.setCenterBounds(new PLatLngBounds(sw,ne));session.remove("dloz")}}})}}$.when.apply($,promises).then(function addOverlaySetsToMap(){var sets=[];for(var i=0;i<arguments.length;i++){if(arguments[i]==null){continue}var curSet=arguments[i];sets.push(curSet);for(var j=0;j<curSet.children.length;j++){sets.push(curSet.children[j])}}if(sets.length>0){map.setOverlaySets(sets);labelManager.updateMapLabels();var params=getUrlParams();if(params["iwx"]&&params["iwy"]&&params["iwtype"]=="identify"){PMIdentificationModule.showInfoWindow(params)}}})}function initializeAnalyticsLegends(){var $analyticsLegend=$(".legend--analytics");$analyticsLegend.find(".legend__toggle-icon").click(function toggleLegendSize(){if($analyticsLegend.hasClass("is-minimized")){$(this).removeClass("is-minimized");$analyticsLegend.removeClass("is-minimized")}else{$(this).addClass("is-minimized");$analyticsLegend.addClass("is-minimized")}});$legends.each(function(index){var $legend=$(this);var editButton=$legend.find(".legend__edit-button");editButton.click(function(event){event.preventDefault();$(this).toggleClass("is-active");$legend.find(".legend__indicators").toggle()});var pLegend=new PLegend;indicatorLegend.push(new PTRFIndicatorLegend(null,pLegend,{enableToggle:true,enableShade:true,enableRange:true,instanceId:"m"+index,editButton:editButton}))});indElms=$legends;for(var i=0;i<indElms.length;i++){indElms[i]=$(indElms[i]);var indToggle=indicatorLegend[i].getIndicatorToggle();var indicatorShade=indicatorLegend[i].getIndicatorShade();indicatorShade.disableDefault=true;var indicatorRange=indicatorLegend[i].getIndicatorRange();var indicatorValues=indicatorLegend[i].getIndicatorValues();legendContainer[i]=new PLegendContainer(indElms[i]);indicatorLegend[i].addListener("refresh",legendContainer[i].enable,legendContainer[i]);indicatorLegend[i].addListener("refresh",placeZoomSliderMarker,legendContainer[i]);indicatorLegend[i].addListener("clear",legendContainer[i].disable,legendContainer[i]);indicatorLegend[i].addListener("clear",placeZoomSliderMarker,legendContainer[i]);var trfLegendIndicators=new TrfAnalyticsLegendIndicators(indElms[i]);indToggle.addListener("refresh",trfLegendIndicators.refresh,trfLegendIndicators);indToggle.addListener("clear",trfLegendIndicators.clear,trfLegendIndicators);
var rangeWidget=new PRangeWidget(indElms[i].find("#slider_container"));rangeWidget.addListener("update",indicatorRange.setRange,indicatorRange);rangeWidget.init();indicatorRange.addListener("refresh",rangeWidget.updateRange,rangeWidget);indicatorRange.addListener("enable",rangeWidget.enable,rangeWidget);indicatorRange.addListener("disable",rangeWidget.disable,rangeWidget);indicatorLegend[i].addListener("clear",rangeWidget.resetRange,rangeWidget);legendContainer[i].addListener("disable",rangeWidget.disable,rangeWidget);var valuesWidget=new PValuesWidget(indElms[i].find("#values_container"));valuesWidget.addListener("update",indicatorValues.toggleValues,indicatorValues);indicatorValues.addListener("load",valuesWidget.refresh,valuesWidget);indicatorValues.addListener("enable",valuesWidget.enable,valuesWidget);indicatorValues.addListener("disable",valuesWidget.disable,valuesWidget);indicatorValues.addListener("clear",valuesWidget.clear,valuesWidget);legendContainer[i].addListener("disable",valuesWidget.disable,valuesWidget);var indInfo=new PIndicatorInfoWidget(indElms[i].find(".legend__title"));indInfo.index=i;indicatorLegend[i].addListener("refresh",indInfo.update,indInfo);indicatorLegend[i].addListener("clear",indInfo.clear,indInfo);var trfLegendShadeBy=new TrfLegendShadeBy(indElms[i].find(".legend__shading__shaded-by"),indElms[i].find(".legend__title__source__content"),indElms[i].find("#legend__shading__ranges"));indicatorShade.addListener("refresh",trfLegendShadeBy.update,trfLegendShadeBy);indicatorShade.addListener("clear",trfLegendShadeBy.clear,trfLegendShadeBy);trfLegendShadeBy.addListener("change",indicatorShade.changeShade,indicatorShade);legendContainer[i].init();legendContainer[i].disable();legendMerger.addLegend(indicatorLegend[i])}map.setLegendMerger(legendMerger);dataPointsLegend=new TrfDataPointsLegend($("#data-points-legend"),map);$(".legend__indicators select").chosen({disable_search_threshold:15,width:"122px"});$(".legend").draggable({containment:"parent",handle:"h2, .legend-content",scroll:false,stack:"#map, .legend, #theInsideLayer",zIndex:Strata.OVER_MAP0,drag:function(){if($(this).position().left!==0){$(this).removeClass("legend--docked")}$(this).css("height","auto")}})}function analyticsRun(){taxonomyMenu=new TaxonomyMenu($(".taxonomy"),$(".taxonomy-menu"),debug,map);$window.on(P.events.MAP_CHECK_RESIZE,resizeMapContainer);$(".small-map-message").draggable({containment:"#map",scroll:false,stack:"#map, .legend, #theInsideLayer",drag:function(){if($(".small-map-message").css("bottom")==="0px"){$(".small-map-message").css("bottom","auto")}}});$(".map-options__reset").click(resetMapAlert);$(".map-options__clear-location").click(function(event){event.preventDefault();clearLocationAlert()});PEvent.addListener(polyCreator,"addpoly",function(points){polyCreator.showSaveInfoWindow(points[0])});PEvent.addListener(polyCreator,"savepoly",function(places){polyCreator.addSavedPoly(places)});$(".map-options__map-boundaries__current-overlays-toggle").click(function(event){event.preventDefault();mapOptions(this,true)});map.addListener("setindicator",function(){updateLegendPositionOnMap();var tmpLeg;for(var i=0;tmpLeg=legendMerger.getLegend(i);i++){var leg=tmpLeg.legend;leg.clearStoredScale();if(leg.getBoundaryType()&&tmpLeg.getIndicatorShade().getOldBoundaryTypeId()!=leg.getBoundaryType().id){tmpLeg.getIndicatorShade().setOldBoundaryTypeId(leg.getBoundaryType().id)}}taxonomyMenu.hide();mapRefreshed()});map.addListener("removeindicator",function(){taxonomyMenu.resetActiveRootNodes()});PEvent.addListener(map,"zoomstart",function(){for(var i=0;i<3;i++){var legend=legendMerger.getLegend(i);legend.refresh()}});PEvent.addListener(map,"zoomend",function(){session.put("curZoom",map.getZoom());labelManager.updateMapLabels();map.mapOptions.populate();var tmpLeg;for(var i=0;tmpLeg=legendMerger.getLegend(i);i++){var leg=tmpLeg.legend;if(leg.getBoundaryType()&&tmpLeg.getIndicatorShade().getOldBoundaryTypeId()!=leg.getBoundaryType().id){tmpLeg.getIndicatorShade().setOldBoundaryTypeId(leg.getBoundaryType().id)}}mapRefreshed();navteqCounter()});PEvent.addListener(P.instances.map,"moveend",function(){session.put("curLat",P.instances.map.getCenter().lat());session.put("curLng",P.instances.map.getCenter().lng());session.put("curZoom",P.instances.map.getZoom());labelManager.updateMapLabels();navteqCounter()});taxonomyMenu.on("show",function(){P.instances.map.mapOptions.hide();trfCustomRegions.hide()});trfCustomRegions.on("show",function(){P.instances.map.mapOptions.hide();taxonomyMenu.hide()});P.instances.map.mapOptions.on("show",function(){trfCustomRegions.hide();taxonomyMenu.hide()});taxonomyMenu.once("change",function(){var pLatLng=map.getCenter();session.checkUrl();if(session.get("curLat")&&session.get("curLng")&&session.get("curZoom")){map.setCenter(new PLatLng(session.get("curLat"),session.get("curLng")),session.get("curZoom"))}if(typeof ria!=="undefined"){if(session.get("m0i")&&ria[session.get("m0i")]!==void 0){selectIndicators.call({prefLegend:0},session.get("m0i"));if(session.get("m0r0")&&session.get("m0r1")){indicatorLegend[0].getIndicatorRange().setRange([parseFloat(session.get("m0r0")),parseFloat(session.get("m0r1"))])}}if(session.get("m1i")&&ria[session.get("m1i")]!==void 0){selectIndicators.call({prefLegend:1},session.get("m1i"));if(session.get("m1r0")&&session.get("m1r1")){indicatorLegend[1].getIndicatorRange().setRange([parseFloat(session.get("m1r0")),parseFloat(session.get("m1r1"))])}}if(session.get("m2i")&&ria[session.get("m2i")]!==void 0){selectIndicators.call({prefLegend:2},session.get("m2i"));if(session.get("m2r0")&&session.get("m2r1")){indicatorLegend[2].getIndicatorRange().setRange([parseFloat(session.get("m2r0")),parseFloat(session.get("m2r1"))])}}getOverlaySetsFromSession();map.mapOptions.loadMapOptionsFromSession()}});showExpiryAlertFunction();var urlParams=getUrlParams();if(urlParams["ques"]&&urlParams["ans"]){if(urlParams["p"])selectPlace(urlParams["p"]);showAnswer(decodeURIComponent(urlParams["ques"]),decodeURIComponent(urlParams["ans"]))}}if(typeof index_delayed!="undefined"){index_delayed()}var $mapContainer=$("#map");var $window=$(window);var $legends=$(".analytics-legend__item");var dataPointsLegend;var initialLoad=true;var polygonOptions;var polyCreator;var trfCustomRegions;var debug=new P.Debug;var taxonomyMenu;var $wizard=$(".wizard");initializeSearchForm();initializeGlobals();initializeAnalyticsLegends();disableWheelScrollPropogation(".taxonomy-menu__data-layers__column, .taxonomy-menu__shared-data__content, .my-data-menu__favorites__content, .my-data-menu__shared-data__content, .legend__content, .custom-regions-menu__content, .map-boundaries__national-boundaries__content, .map-boundaries__provincial-boundaries__content, .legend__data-points__category-item__filter-groups, .legend__data-points__category-item__filters");disableWheelScrollPropogation(".taxonomy-menu__data__submenu",".taxonomy-menu__data__submenu__content");resizeMapContainer();intializeCustomRegions();$window.resize(resizeMapContainer);var showAnalyticsWizard=function(){if(!(P.WKPrint.isPrintPage()===true)){return}if(!session.get("m0i")&&!session.get("m1i")&&!session.get("m2i")&&(!session.get("hide3LayerMapWizard")||session.get("hide3LayerMapWizard")!=="true")){if(getSession("hide3LayerMapWizard")){}else{$wizard.fadeIn("slow")}$wizard.find(".rounded-button").one("click",function(){if($wizard.find(".wizard__form__checkbox").prop("checked")){session.put("hide3LayerMapWizard",true);setSession("hide3LayerMapWizard",1)}$wizard.fadeOut()})}else{if(getSession("hide3LayerMapWizard")){}else{$wizard.fadeIn("slow")}}};if(!isSubscriber()){$("#header, #content, .content__footer").addClass("is-shaded");$(window).on(P.events.LOGGED_IN,function(){debug.log(P.Debug.INFO,"login detected");analyticsRun();$("#header, #content, .content__footer").removeClass("is-shaded")});if(productProperty.getValue("auto_login")){showAnalyticsWizard()}else{subscribeAlert()}}else{showAnalyticsWizard();analyticsRun()}}$(document).ready(function(){$("#wizard_on").click(function(){$(this).hide();$(".wizard").fadeIn("slow");deleteSession("hide3LayerMapWizard")});$("#3dlayermapwizardgetstarted").click(function(){$(".wizard").fadeOut("slow");if($(".wizard").find(".wizard__form__checkbox").prop("checked")){setSession("hide3LayerMapWizard",1)}$("#wizard_on").show()})});function alertSA(indicators,sites,place,question,answer){if(session.get("p")!=void 0||session.get("o")!=void 0||session.get("m0i")!=void 0||session.get("m1i")!=void 0||session.get("m2i")!=void 0){alerter.popup("Displaying a Sample Quick 3-Layer Map will clear any data layers or sites currently being displayed and change the map's location.<br /><br />Do you wish to continue?","No","Yes",function(){selectSA(indicators,sites,place,question,answer);return true})}else{selectSA(indicators,sites,place,question,answer)}}function selectSA(indicators,sites,placeId,question,answer){var indicatorIds=_.chain(indicators).pluck("id").first(3).value();$(".analytics-wizard").hide();resetAnalytics();PIndicatorLoader.load(indicatorIds,function(inds){for(var i=0;i<inds.length;i++){var legend=legendMerger.getLegend(i);var mva=false;if(indicators[i].mvaLayers!=null&&indicators[i].mvaLayers!=""&&indicators[i].mvaLayers!="null"){mva=true}if(mva){var values=[];for(var j=0;j<indicators[i].mvaLayers.length;j++){values.push(indicators[i].mvaLayers.charAt(j))}session.put("m"+i+"v","["+values+"]")}session.put("m"+i+"i",indicators[i].id);legend.setIndicatorList(inds,null,i);if(indicators[i].timeFrame!=null&&indicators[i].timeFrame!=0){legend.getIndicator().setPeriod(indicators[i].timeFrame)}if(!mva){if(indicators[i].lowVal!=null&&indicators[i].lowVal!=0||indicators[i].highVal!=null&&indicators[i].highVal!=0){legend.getIndicatorRange().setRange([indicators[i].lowVal,indicators[i].highVal])}}legend.refresh()}if(sites!=null){}if(placeId){placeLoader.load([placeId],function(places){if(places.length>0){var addr=null;clearPolygons(map);var place=places[0];if(place instanceof PPlace){if(place&&place.getIdentifier()=="US"){var point=new PLatLng(P.constants.USA_LAT,P.constants.USA_LNG);map.setCenter(point,P.constants.USA_ZOOM)}else{map.setCenterBounds(place.getBounds())}mapstates.currentplace=place;map.infoWindowType="place"}}else{map.setCenter(new PLatLng(getDefaultMapLat(),getDefaultMapLng()),getDefaultMapZoom())}})}showAnswer(question,answer)})}function updateTitle(check){if(legendMerger.getIndicatorCount()>check)$("#maptitle").html("Purple Areas Show Intersections of Data Layers");else $("#maptitle").html("")}function Wizard(container){this.container=container;this.step=0;this.closed=true;var cont=this.container.find("#continue");if(isSubscriber()){cont[0].self=this;cont.bind("click",function(){this.self.next.call(this.self)});var off=this.container.find("#off");off[0].self=this;off.bind("click",function(){this.self.closeWizard.call(this.self)});var done=this.container.find("#done");done[0].self=this;done.bind("click",function(){this.self.step=6;this.self.next()})}else{cont.attr("disabled",true);disableMenu();var urlParams=getUrlParams();var emailed=false;for(var props in urlParams){emailed=true;break}if(emailed){var text="Analytics are available to subscribers only, but you can explore this map sent to you by one of our subscribers. Log in with your free registered user account to click on the map and see data values.";subscribeAlert(text)}else{subscribeAlert()}}}Wizard.prototype={start:function(){this.closed=false;showMapMessage(false);var pos=$("#map").position();this.container.height($("#map").height()-10).width($("#map").width()-10).css({left:pos["left"]+5+"px",top:pos["top"]+5+"px"});this.container.fadeIn(1e3);$(".disabledoption").show();$(".bottomicons").find("a").hide();$(".remove_layer").attr("disabled",true);this.container.find("#continue").attr("value","Continue");this.step=legendMerger.getIndicatorCount()*2;if(this.step==2||this.step==4)this.step++;this.next()},next:function(){if(!this.closed){this.step++;if(this.step==1){disableMenu();var step1=this.container.find("#step1");step1.fadeTo(1e3,1).fadeIn(2e3);if(isSubscriber())this.container.find("#continue").attr("disabled",false).attr("value","Continue");this.container.find("#done").hide()}else if(this.step==2){enableMenu();this.container.find("#arrow1").show().fadeTo(2e3,1).animate({left:"0px",top:"0px"});var step2=this.container.find("#step2");this.container.find("#step1").fadeOut(1e3,function(){step2.fadeIn(1e3)});this.container.find("#continue").attr("disabled",true).attr("value","Continue");this.container.find("#done").hide()}else if(this.step==3){disableMenu();this.hideArrow("#arrow1");this.container.find("#arrow2").show().fadeTo(3e3,1).animate({left:"0px",top:"0px"});var step3=this.container.find("#step3");this.container.find("#step2").fadeOut(1e3,function(){step3.fadeIn(1e3)});this.container.find("#continue").attr("disabled",false).attr("value","Continue");this.container.find("#done").hide()}else if(this.step==4){enableMenu();this.hideArrow("#arrow2");this.container.find("#arrow1").show().fadeTo(2e3,1).animate({left:"0px",top:"0px"});var step4=this.container.find("#step4");this.container.find("#step3").fadeOut(1e3,function(){step4.fadeIn(1e3)});this.container.find("#continue").attr("disabled",true).attr("value","Continue");this.container.find("#done").hide()}else if(this.step==5){disableMenu();this.hideArrow("#arrow1");this.container.find("#arrow3").show().fadeTo(3e3,1).animate({left:"0px",top:"0px"});var step5=this.container.find("#step5");this.container.find("#step4").fadeOut(1e3,function(){step5.fadeIn(1e3)});this.container.find("#continue").attr("disabled",false).attr("value","Continue to Add a Third Data Layer");this.container.find("#done").show()}else if(this.step==6){enableMenu();this.hideArrow("#arrow3");this.container.find("#arrow1").show().fadeTo(2e3,1).animate({left:"0px",top:"0px"});var step6=this.container.find("#step6");this.container.find("#step5").fadeOut(1e3,function(){step6.fadeIn(1e3)});this.container.find("#continue").attr("disabled",true).attr("value","Finish");this.container.find("#done").hide()}else if(this.step==7){enableMenu();var step7=this.container.find("#step7");if(this.container.find("#done").css("display")!="none"){this.hideArrow("#arrow3");this.container.find("#done").hide();this.container.find("#step5").fadeOut(1e3,function(){step7.fadeIn(1e3)})}else{this.hideArrow("#arrow1");this.container.find("#step6").fadeOut(1e3,function(){step7.fadeIn(1e3)})}this.container.find("#continue").attr("disabled",false).attr("value","Close")}else{this.closeWizard()}}},hideArrow:function(elmSelector){var arrow=$(elmSelector);var w=arrow.width();var h=arrow.height();if(w>0&&h>0)arrow.fadeOut(1e3,function(){arrow.css({left:w+"px",top:h+"px"})})},hideAllSteps:function(){this.container.find("#step1").fadeOut(1e3);this.container.find("#step2").fadeOut(1e3);this.container.find("#step3").fadeOut(1e3);this.container.find("#step4").fadeOut(1e3);this.container.find("#step5").fadeOut(1e3);this.container.find("#step6").fadeOut(1e3);this.container.find("#step7").fadeOut(1e3)},hideAllArrows:function(){this.hideArrow("#arrow1");this.hideArrow("#arrow2");this.hideArrow("#arrow3")},closeWizard:function(){this.closed=true;mapRefreshed();this.hideArrow("#arrow1");this.hideArrow("#arrow2");this.hideArrow("#arrow3");this.container.fadeOut();$("#nav li ul, #continue").show();$(".bottomicons").find("a").show();var tmpLeg=null;for(var i=0;tmpLeg=legendMerger.getLegend(i);i++)if(tmpLeg.containsIndicator())$(".remove_layer")[i].disabled=false;$(".disabledoption, #step1, #step2, #step3, #step4, #step5, #step6, #step7, #done").hide()}};function unsupportedIndicator(callback){var text="We're sorry, but at this time PolicyMap Analytics cannot use this data layer as input.";alerter.popup(text,"OK")}function resetAnalytics(){for(var i=0;i<3;i++)legendMerger.clearIndicator(i);resetMap()}function showMapMessage(message){var $container=$(".map-message");var minRequireZoomLevel=analyticRenderZoomLevel();if(message){if(map.getZoom()>=minRequireZoomLevel){$container.fadeOut()}else{if($container[0].setup!=true){$container.bind("dblclick",function(e){map.kaToolCust.ondblclick(e)});$container.bind("mouseup",function(e){if(e.button==2)map.kaToolCust.onmouseup(e)});$container.bind("contextmenu",function(e){return false});$container[0].setup=true}var mapElm=$("#map");var pos=mapElm.position();$container.find(".map-message__content").html(message);$container.fadeIn()}}else{$container.fadeOut()}}function showSmallMapMessage(message){var $container=$(".small-map-message");var $close=$container.find(".small-map-message__close-icon");$close.off("click");$close.click(function(event){$.data($container[0],"is-disabled",true);$container.fadeOut(1e3)});if(message&&!$.data($container[0],"is-disabled")){$container.find(".small-map-message__content").html(message);$container.fadeIn(1e3)}else{$container.fadeOut(1e3)}}function hideSmallMapMessage(){var $container=$(".small-map-message");if($container.length>0){$.data($container[0],"is-disabled",false);$container.fadeOut(1e3)}}function mapRefreshed(){var minRequireZoomLevel=analyticRenderZoomLevel();var tmpLeg;var c=getAnalyticsColorLabel();var msg=c+" areas on the map show locations where all criteria are met.";if(map.getZoom()<minRequireZoomLevel){showMapMessage("Zoom in to view the results.<br /><span class='map_message_content_smalltext'>The arrow on the zoom bar to the right indicates where data is viewable on the map.</span>");hideSmallMapMessage()}else if(minRequireZoomLevel===0){for(var i=0;tmpLeg=legendMerger.getLegend(i);i++){var leg=tmpLeg.legend;if(leg.getIndicator()){showSmallMapMessage(msg);showMapMessage(false);return}}hideSmallMapMessage();showMapMessage(false)}else{showSmallMapMessage(msg);showMapMessage(false)}}function analyticRenderZoomLevel(){var totalZooms=16;var minZoom=0;for(var i=0;i<legendMerger.getIndicatorCount();i++){var currentLegend=legendMerger.getLegend(i).legend;var currentType=currentLegend.getBoundaryType();if(currentLegend==null||currentType==null||currentLegend.allowTypeAlways(currentType)){continue}var foundType=false;for(var j=minZoom;j<totalZooms;j++){var zoomTypes=currentLegend.typeconfig.getTypeByAbsoluteZoom(j);if(zoomTypes instanceof Array){for(k=0;k<zoomTypes.length;k++){if(zoomTypes[k]==currentType){foundType=true;break}}}else{if(zoomTypes==currentType){foundType=true}}if(foundType==true){if(j>minZoom){minZoom=j}break}}}return minZoom}function placeZoomSliderMarker(){var totalZooms=map.getCurrentMapType().getScales().length;var barHeight=8;var zoomLevel=analyticRenderZoomLevel();if(zoomLevel==0){zoomMarker=$("#zoommarker");if(zoomMarker.length>0){zoomMarker.fadeOut()}return}var whichBar=totalZooms-zoomLevel;var zoomSlider=$("#zoomTrack");var zoomSliderPos=getObjectPosition(zoomSlider[0]);var zoomMarkerLeft=zoomSliderPos[0]+zoomSlider.width();var zoomMarkerTop=zoomSliderPos[1]+barHeight*(whichBar-1)-4;var zoomMarker=$("#zoommarker");if(zoomMarker.length==0){zoomMarker=$("<div />");zoomMarker.attr("id","zoommarker");zoomMarker.css({display:"none",position:"absolute","z-index":Strata.MAP_CONTROLS});zoomMarkerImage=$("<img />");zoomMarkerImage.attr("src","/images/analytic_zoom_marker.png");zoomMarker.append(zoomMarkerImage);$("body").append(zoomMarker)}else{zoomMarker.hide()}zoomMarker.css({left:zoomMarkerLeft,top:zoomMarkerTop});zoomMarker.fadeIn()}function downloadAnalyticAlert(){if(legendMerger.getIndicatorCount()==0){alerter.popup("At least one indicator is required to perform a download.","OK");return}var alertText="<div class='alertDialogTitle'>Download</div><div class='alertDialogHR'></div><div id='analyticDownloadTypeInputs' style='margin: 20px 0px 10px 5px;'><input id='analyticDownloadTypePlaces' type='radio' name='analyticDownloadType' value='places' checked> <label for='analyticDownloadTypePlaces' style='margin-right: 35px;'>Download Places</label><input id='analyticDownloadTypePoints' type='radio' name='analyticDownloadType' value='points'> <label id='analyticDownloadTypePointsLabel' for='analyticDownloadTypePoints'>Download Points</label></div><br />Download Places: Downloads a list of all the purple locations on the map where criteria are met.<br /><br />Download Points: Downloads all the points in a point dataset that sit within the purple areas on the map.";alerter.popup(alertText,"Cancel","Download",function(){var printType=$("input[name='analyticDownloadType']:checked");genericAlertDialog({template:"analytic",action:"download-"+printType.val()})});if(map.getOverlaySets(true,true).length<1){$("#analyticDownloadTypePoints").attr("disabled",true);$("#analyticDownloadTypePointsLabel").css("color","#ccc")}}function bindChangeListNameEvents(listLink){var changeNameInput=$("#changeNameInput");var changeNameLink=$("#changeNameLink");changeNameInput.bind("blur",function(e){toggleChangeListName(listLink)});changeNameInput.bind("change",function(e){listLink.name=changeNameInput.val()});changeNameInput.bind("keyup",function(e){if(e.keyCode==13){changeNameInput.blur()}});changeNameLink.bind("click",function(e){toggleChangeListName(listLink)})}function toggleChangeListName(listLink){var nameSection=$("#nameSection");var changeNameInput=$("#changeNameInput");if(nameSection.is(":visible")){nameSection.hide();changeNameInput.show();changeNameInput.focus()}else{$("#listLinkName").text(listLink.name);changeNameInput.hide();nameSection.show()}}function saveAnalyticList(listLink){var f=function(errCode,message){if(errCode==202){alerter.popup("<div class='alertDialogTitle'>Your file is being processed</div><div class='alertDialogHR'></div><br />"+message,"OK")}else if(errCode==242){}else if(errCode==307){alerter.popup("Retrieving saved list.","OK");setWindowLocation(message)}else if(errCode==403){alerter.popup("Please login to use this feature.","OK")}else if(errCode>=200&&errCode<300){alerter.popup(message,"OK")}else{alerter.popup("There was a problem saving the list. Please contact support.","OK")}};linkManager.printCSV(listLink,f,"AnalyticsList",listLink.parms)}function getAnalyticsHexColor(){var c="5D4770";if(isCBClone()&&P.CloneOptions.analytics_color){c=P.CloneOptions.analytics_color}return c}function getAnalyticsColorLabel(){var l="Purple";if(isCBClone()&&P.CloneOptions.analytics_color_label){l=P.CloneOptions.analytics_color_label}return l}AutoSuggest=function(){this.itemList=null;this.selectedItem=null;this.currentRequest=0;this.eventTypes=new Object;this.eventTypes.select="select";this.eventManager=new _eventManager;for(var event in this.eventTypes){this.eventManager.registerEventID(event)}};AutoSuggest.prototype.attach=function(textbox,type){var self=this;var callCatchKey=function(e){e=e||window.event;if(e){self.catchKey(textbox,type,e)}};PEvent.addListener(textbox,"keydown",function(e){callCatchKey(e)});PEvent.addListener(textbox,"input",function(e){callCatchKey(e)});PEvent.addListener(textbox,"propertychange",function(e){callCatchKey(e)})};AutoSuggest.prototype.catchKey=function(textbox,type,e){if(!$(textbox).is(":visible")){return}e=e||window.event;var keyCode=e.keyCode;var keyType=e.type;var asDropdown=this.getAutoSuggest();if(keyType=="keydown"&&keyCode==27){this.removeAutoSuggest()}else if(keyType=="keydown"&&keyCode==9){this.removeAutoSuggest()}else if(keyType=="keydown"&&asDropdown&&(keyCode==38||keyCode==40)){if(this.itemList&&this.itemList.length>0&&this.itemList[0]&&this.itemList[0].name&&this.itemList[0].name!="NA"){var selectedLi=document.getElementById("as"+this.selectedItem);switch(keyCode){case 38:if(selectedLi==null){this.selectedItem=this.itemList.length-1}else{document.getElementById("as"+this.selectedItem).className="";this.selectedItem--;if(this.selectedItem<0){this.selectedItem=this.itemList.length-1}}break;case 40:if(this.selectedItem==null){this.selectedItem=0}else{document.getElementById("as"+this.selectedItem).className="";this.selectedItem++;if(this.selectedItem>this.itemList.length-1){this.selectedItem=0}}break}document.getElementById("as"+this.selectedItem).className="selected"}}else if(keyType=="keydown"&&keyCode==13){if(this.selectedItem!=null){var itemSelected=this.itemList[this.selectedItem];this.clicked(itemSelected,type,textbox)}else if(this.getAutoSuggest()!=null){this.removeAutoSuggest()}}else if(keyType=="input"||keyType=="propertychange"||keyType=="keydown"&&!asDropdown&&(keyCode==38||keyCode==40)){var searchString=textbox.value;if(type=="p"){searchString=searchString.split(",",1)[0];if(/^\d+.*\s/.test(searchString)){this.removeAutoSuggest();return}}var minChars=3;var maxChars=null;if(type=="p"){var placeTypeCode=this.getPlaceTypeCode(textbox);if(placeTypeCode=="ct"){minChars=10}else if(placeTypeCode=="bg"){minChars=11}}else if(type=="d"){if(datasetSearch.currentDataset&&(datasetSearch.currentDataset.id==112350||datasetSearch.currentDataset.id==112450)){minChars=1}}searchStringLen=searchString.length;if(searchStringLen>=minChars&&(maxChars==null||searchStringLen<=maxChars)){this.build(textbox,type,searchString)}else{this.removeAutoSuggest()}}};AutoSuggest.prototype.build=function(textbox,type,searchString){this.removeAutoSuggest();if(type=="p"){var placeTypeCode=this.getPlaceTypeCode(textbox);var placeState="";if(placeTypeCode=="s"){placeState="&st="+this.search.textboxState.options[this.search.textboxState.selectedIndex].title}if(placeTypeCode){this.currentRequest++;ajax.call({url:PEnvironment.autosuggestUrl+"?rid="+this.currentRequest+"&t=p&s="+encodeURIComponent(searchString)+"&pt="+placeTypeCode+placeState,dataType:"json",context:this,success:function(response){if(response==null||response.rid==null||response.results==null){return}var rid=response.rid;if(response.rid!=this.currentRequest){return}var places=response.results;this.itemList=places;var placesList="";var placeYears=function(place){var years=[];for(var i=0;i<place.bounds.length;i++){if(place.bounds[i].year&&place.bounds[i].year!=""){years.push(place.bounds[i].year)}}var numYears=years.length;var yearString="";if(numYears>0){years.sort();if(numYears>1){years[numYears-1]=" and "+years[numYears-1];if(numYears>2){for(var i=0;i<numYears-1;i++){years[i]+=", "}}}yearString='<span class="years">'+years.join("")+" boundary</span>"}return yearString};if(places.length<1){placesList+="No results found."}else{placesList+="<ul>";if(placeTypeCode=="p"||placeTypeCode=="ct"||placeTypeCode=="bg"){for(var i=0;i<places.length;i++){var curPlace=places[i];var curPlaceType=getPlaceTypeById(curPlace.typeId);if(curPlace.bounds==null||curPlace.bounds.length<1){continue}var placeName=curPlace.name;if(curPlaceType!=PPlaceType.STATE&&curPlaceType!=PPlaceType.COUNTRY){placeName+=", "+curPlace.state}placesList+='<li id="as'+i+'">'+placeName+" ("+curPlaceType.getName()+")"+placeYears(curPlace)+"</li>"}}else if(placeTypeCode=="s"){for(var i=0;i<places.length;i++){var curPlace=places[i];if(curPlace.bounds==null||curPlace.bounds.length<1){continue}placesList+='<li id="as'+i+'">'+curPlace.name+"</li>"}}placesList+="</ul>"}var suggest=this.createDivWithEvents(placesList,type,textbox);document.body.appendChild(suggest)}})}}else if(type=="d"){var set=datasetSearch.getCurrentDataset();if(set==null){return}var setId=set.id;var setType=set.type;this.currentRequest++;var didArg="";if(setType=="old"){didArg="&did="+setId}else{didArg="&dlid="+setId}ajax.call({url:PEnvironment.autosuggestUrl+"?rid="+this.currentRequest+"&t=d"+didArg+"&dt="+setType+"&s="+encodeURIComponent(searchString),dataType:"json",context:this,success:function(response){if(response==null||response.rid==null||response.results==null){return}var rid=response.rid;if(response.rid!=this.currentRequest){return}var sites=response.results;this.itemList=sites;var sitesList="";if(sites.length<1){sitesList+="No results found."}else{sitesList+="<ul>";for(var i=0;i<sites.length;i++){sitesList+='<li id="as'+i+'">'+sites[i].name+" ("+sites[i].col+")</li>"}sitesList+="</ul>"}var suggest=this.createDivWithEvents(sitesList,type,textbox);suggest.className="smallText";document.body.appendChild(suggest)}})}};AutoSuggest.prototype.createDivWithEvents=function(ulHtml,type,textbox){var suggest=document.createElement("div");suggest.id="autosuggest";var textboxpos=getObjectPosition(textbox);suggest.style.width=textbox.offsetWidth-10+"px";if(PEnvironment.pageName=="citi-reports"){suggest.style.width="400px"}suggest.style.top=textboxpos[1]+textbox.offsetHeight+"px";suggest.style.left=textboxpos[0]+"px";suggest.innerHTML=ulHtml;var liList=suggest.getElementsByTagName("li");this.selectedItem=null;var as=this;for(var i=0;i<liList.length;i++){PEvent.addListener(liList[i],"click",function(num){return function(e){as.clicked(as.itemList[num],type,textbox)}}(i));PEvent.addListener(liList[i],"mouseover",function(num){return function(e){as.mouseover(num)}}(i))}document.body.onclick=function(e){e=e||window.event;var clickedObject=e.target||e.srcElement;if(clickedObject!=textbox){as.removeAutoSuggest()}};return suggest};AutoSuggest.prototype.mouseover=function(itemNum){if(this.selectedItem==null||this.selectedItem!=itemNum){if(this.selectedItem!=null){document.getElementById("as"+this.selectedItem).className=""}document.getElementById("as"+itemNum).className="selected";this.selectedItem=itemNum}};AutoSuggest.prototype.clicked=function(item,type,textbox){this.removeAutoSuggest();if(type=="p"){textbox.value=item.value;var placeTypeCode=this.getPlaceTypeCode(textbox);if(placeTypeCode=="p"||placeTypeCode=="s"||placeTypeCode=="ct"||placeTypeCode=="bg"){var matrixOrder=boundaryMatrix.getMatrixOrder(true);var typeId=item.typeId;var defs=[];for(var i=0;i<matrixOrder.length;i++){var curMatrixId=matrixOrder[i];if(boundaryMatrix.isTypeIdInMatrix(typeId,curMatrixId)){defs.push(boundaryMatrix.getDefinitionIdForTypeId(typeId,curMatrixId))}}defLoop:for(var i=0;i<defs.length;i++){var matchDef=defs[i];boundaryLoop:for(var j=0;j<item.bounds.length;j++){if(matchDef==item.bounds[j].defId){selectPlace(item.bounds[j].bid,true);break defLoop}}}}}else if(type=="d"){textbox.value=item.name;datasetSearch.loadSite(item)}this.eventManager.triggerEvent("select")};AutoSuggest.prototype.getAutoSuggest=function(){return document.getElementById("autosuggest")};AutoSuggest.prototype.removeAutoSuggest=function(){var suggest=this.getAutoSuggest();if(suggest!=null){document.body.removeChild(suggest);this.removeAutoSuggest()}else{this.selectedItem=null;this.itemList=null}};AutoSuggest.prototype.getSelectedItem=function(){return this.selectedItem};AutoSuggest.prototype.getPlaceTypeCode=function(textbox){var placeTypeCode=null;if(this.search.textbox.id=="as_searchthemap"||this.search.textbox.id==""){placeTypeCode="p"}else if(this.search.textbox.id=="as_school"){placeTypeCode="s"}else if(this.search.textbox.id=="as_census"){placeTypeCode="ct"}else if(this.search.textbox.id=="as_block"){placeTypeCode="bg"}return placeTypeCode};AutoSuggest.prototype.addListener=function(eventId,func){this.eventManager.registerForEvent(eventId,[],func)};BoundaryMatrix=function(data){this.data=JSON.parse(data);this.matrixOrder=this.data.matrixOrder;delete this.data.matrixOrder};BoundaryMatrix.prototype.validateMatrixId=function(matrixId){if(!this.data[matrixId]){throw"Matrix ID: "+matrixId+" not present."}};BoundaryMatrix.prototype.getCurrentMatrixId=function(overrideDefaultMatrixId){var currentMatrixId=this.matrixOrder[0];if(PEnvironment.pageName=="maps"||PEnvironment.pageName=="widget"){var curInd=map.getIndicator();if(curInd!=null){currentMatrixId=curInd.matrixIds[curInd.curPerIndex]}else if(overrideDefaultMatrixId!=null){currentMatrixId=overrideDefaultMatrixId}}else if(PEnvironment.pageName=="tables"){if(global_indicators&&global_indicators.length>0){curInd=global_indicators[0];currentMatrixId=curInd.matrixIds[curInd.curPerIndex]}else if(overrideDefaultMatrixId!=null){currentMatrixId=overrideDefaultMatrixId}}return currentMatrixId};BoundaryMatrix.prototype.getMatrixOrder=function(currentMatrixFirst,overrideDefaultMatrixId){var currentMatrixId=this.getCurrentMatrixId(overrideDefaultMatrixId);
if(!currentMatrixFirst||this.matrixOrder[0]==currentMatrixId){return this.matrixOrder}var newMatrixOrder=this.matrixOrder.slice(0);var index=$.inArray(currentMatrixId,newMatrixOrder);newMatrixOrder.splice(index,1);newMatrixOrder.unshift(currentMatrixId);return newMatrixOrder};BoundaryMatrix.prototype.getMatrixId=function(matrixId){if(matrixId!=null){this.validateMatrixId(matrixId)}else{matrixId=this.getCurrentMatrixId()}return matrixId};BoundaryMatrix.prototype.getDefinitionIdForTypeId=function(boundaryTypeId,matrixId){if(boundaryTypeId==null){throw"No argument specified"}matrixId=this.getMatrixId(matrixId);return this.getDefinitionForTypeId(boundaryTypeId,matrixId,true)};BoundaryMatrix.prototype.getDefinitionForTypeId=function(boundaryTypeId,matrixId,idOnly){if(boundaryTypeId==null){throw"No argument specified"}matrixId=this.getMatrixId(matrixId);var returnArray=$.isArray(boundaryTypeId);if(!returnArray){boundaryTypeId=[boundaryTypeId]}var defs=[];for(var i=0;i<boundaryTypeId.length;i++){var curTypeId=boundaryTypeId[i];if(this.data[matrixId][curTypeId]){if(idOnly){if(returnArray){defs.push(this.data[matrixId][curTypeId].boundaryDefinitionId)}else{return this.data[matrixId][curTypeId].boundaryDefinitionId}}else{var def=$.extend({},this.data[matrixId][curTypeId]);if(returnArray){defs.push(def)}else{return def}}}}if(!returnArray||defs.length<1){throw"No definition found in matrix id "+matrixId+" for type id "+boundaryTypeId}return defs};BoundaryMatrix.prototype.getTypeIdForDefinitionId=function(boundaryDefinitionId){if(boundaryDefinitionId==null){throw"No argument specified"}return this._getPropertyByDefinitionId(boundaryDefinitionId,"typeId")};BoundaryMatrix.prototype.getDisplayNameForDefinitionId=function(boundaryDefinitionId){if(boundaryDefinitionId==null){throw"No argument specified"}return this._getPropertyByDefinitionId(boundaryDefinitionId,"displayName")};BoundaryMatrix.prototype.getSimpleNameForDefinitionId=function(boundaryDefinitionId){if(boundaryDefinitionId==null){throw"No argument specified"}return this._getPropertyByDefinitionId(boundaryDefinitionId,"simpleName")};BoundaryMatrix.prototype.getDisplayYearForDefinitionId=function(boundaryDefinitionId){if(boundaryDefinitionId==null){throw"No argument specified"}return this._getPropertyByDefinitionId(boundaryDefinitionId,"displayYear")};BoundaryMatrix.prototype.getMatrixIdForDefinitionId=function(boundaryDefinitionId){if(boundaryDefinitionId==null){throw"No argument specified"}return this._getPropertyByDefinitionId(boundaryDefinitionId,"matrixId")};BoundaryMatrix.prototype.getAllMatrixIdsForDefinitionId=function(boundaryDefinitionId){if(boundaryDefinitionId==null){throw"No argument specified"}return this._getPropertyByDefinitionId(boundaryDefinitionId,"allMatrixIdsForDefinition")};BoundaryMatrix.prototype.getAllBoundaryDefinitionIdsForTypeId=function(boundaryTypeId){if(boundaryTypeId==null){throw"No argument specified"}return this.getAllBoundaryDefinitionsForTypeId(boundaryTypeId,true)};BoundaryMatrix.prototype.getAllBoundaryDefinitionsForTypeId=function(boundaryTypeId,idsOnly){if(boundaryTypeId==null){throw"No argument specified"}var defs=[];var addedDefs=[];for(var i=0;i<this.matrixOrder.length;i++){var curMatrixId=this.matrixOrder[i];var curMatrix=this.data[curMatrixId];for(curTypeId in curMatrix){if(curTypeId==boundaryTypeId){var defId=curMatrix[curTypeId].boundaryDefinitionId;if(!addedDefs[defId]){if(idsOnly){defs.push(defId)}else{var curMatrixIdArray=new Array;curMatrixIdArray["matrixid"]=curMatrixId;var def=$.extend({},curMatrix[curTypeId],curMatrixIdArray);defs.push(def)}addedDefs[defId]=true}break}}}return defs};BoundaryMatrix.prototype.getAllBoundaryTypeIdsForMatrix=function(matrixId){matrixId=this.getMatrixId(matrixId);var matrix=[];for(var i in this.data[matrixId]){matrix.push(parseInt(i))}return matrix};BoundaryMatrix.prototype.isTypeIdInMatrix=function(boundaryTypeId,matrixId){if(boundaryTypeId==null){throw"No argument specified"}matrixId=this.getMatrixId(matrixId);if(this.data[matrixId][boundaryTypeId]){return true}else{return false}};BoundaryMatrix.prototype.isDefinitionIdInMatrix=function(boundaryDefinitionId,matrixId){if(boundaryDefinitionId==null){throw"No argument specified"}matrixId=this.getMatrixId(matrixId);var matrix=this.data[matrixId];for(typeId in matrix){if(matrix[typeId].boundaryDefinitionId==boundaryDefinitionId){return true}}return false};BoundaryMatrix.prototype._getPropertyByDefinitionId=function(boundaryDefinitionId,propertyName){var allMatrixIds=[];var matrixOrder=this.getMatrixOrder(true);for(var i=0;i<matrixOrder.length;i++){var matrixId=matrixOrder[i];var curMatrix=this.data[matrixId];for(typeId in curMatrix){if(curMatrix[typeId].boundaryDefinitionId==boundaryDefinitionId){if(propertyName=="typeId"){return typeId}else if(propertyName=="matrixId"){return matrixId}else if(propertyName=="allMatrixIdsForDefinition"){allMatrixIds.push(matrixId)}else{return curMatrix[typeId][propertyName]}}}}if(propertyName=="allMatrixIdsForDefinition"){return allMatrixIds}throw"Definition "+boundaryDefinitionId+" not found."};ChrisVeness={};ChrisVeness.distVincenty=function(p1,p2){var a=6378137,b=6356752.3142,f=1/298.257223563;var L=p2.lon-p1.lon;var U1=Math.atan((1-f)*Math.tan(p1.lat));var U2=Math.atan((1-f)*Math.tan(p2.lat));var sinU1=Math.sin(U1),cosU1=Math.cos(U1);var sinU2=Math.sin(U2),cosU2=Math.cos(U2);var lambda=L,lambdaP=2*Math.PI;var iterLimit=20;while(Math.abs(lambda-lambdaP)>1e-12&&--iterLimit>0){var sinLambda=Math.sin(lambda),cosLambda=Math.cos(lambda);var sinSigma=Math.sqrt(cosU2*sinLambda*(cosU2*sinLambda)+(cosU1*sinU2-sinU1*cosU2*cosLambda)*(cosU1*sinU2-sinU1*cosU2*cosLambda));if(sinSigma==0)return 0;var cosSigma=sinU1*sinU2+cosU1*cosU2*cosLambda;var sigma=Math.atan2(sinSigma,cosSigma);var sinAlpha=cosU1*cosU2*sinLambda/sinSigma;var cosSqAlpha=1-sinAlpha*sinAlpha;var cos2SigmaM=cosSigma-2*sinU1*sinU2/cosSqAlpha;if(isNaN(cos2SigmaM))cos2SigmaM=0;var C=f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha));lambdaP=lambda;lambda=L+(1-C)*f*sinAlpha*(sigma+C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)))}if(iterLimit==0)return NaN;var uSq=cosSqAlpha*(a*a-b*b)/(b*b);var A=1+uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));var B=uSq/1024*(256+uSq*(-128+uSq*(74-47*uSq)));var deltaSigma=B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));var s=b*A*(sigma-deltaSigma);s=s.toFixed(3);return parseFloat(s)};ChrisVeness.destVincenty=function(p1,brng,dist){var a=6378137,b=6356752.3142,f=1/298.257223563;var s=dist;var alpha1=ChrisVeness.llToRad(brng);var sinAlpha1=Math.sin(alpha1),cosAlpha1=Math.cos(alpha1);var tanU1=(1-f)*Math.tan(p1.lat);var cosU1=1/Math.sqrt(1+tanU1*tanU1),sinU1=tanU1*cosU1;var sigma1=Math.atan2(tanU1,cosAlpha1);var sinAlpha=cosU1*sinAlpha1;var cosSqAlpha=1-sinAlpha*sinAlpha;var uSq=cosSqAlpha*(a*a-b*b)/(b*b);var A=1+uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));var B=uSq/1024*(256+uSq*(-128+uSq*(74-47*uSq)));var sigma=s/(b*A),sigmaP=2*Math.PI;while(Math.abs(sigma-sigmaP)>1e-12){var cos2SigmaM=Math.cos(2*sigma1+sigma);var sinSigma=Math.sin(sigma),cosSigma=Math.cos(sigma);var deltaSigma=B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));sigmaP=sigma;sigma=s/(b*A)+deltaSigma}var tmp=sinU1*sinSigma-cosU1*cosSigma*cosAlpha1;var lat2=Math.atan2(sinU1*cosSigma+cosU1*sinSigma*cosAlpha1,(1-f)*Math.sqrt(sinAlpha*sinAlpha+tmp*tmp));var lambda=Math.atan2(sinSigma*sinAlpha1,cosU1*cosSigma-sinU1*sinSigma*cosAlpha1);var C=f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha));var L=lambda-(1-C)*f*sinAlpha*(sigma+C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)));var revAz=Math.atan2(sinAlpha,-tmp);return new PLatLng(lat2*180/Math.PI,(p1.lon+L)*180/Math.PI)};ChrisVeness.LatLong=function(degLat,degLong){this.lat=ChrisVeness.llToRad(degLat);this.lon=ChrisVeness.llToRad(degLong)};ChrisVeness.distHaversine=function(p1,p2){var R=6371;var dLat=p2.lat-p1.lat;var dLong=p2.lon-p1.lon;var a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(p1.lat)*Math.cos(p2.lat)*Math.sin(dLong/2)*Math.sin(dLong/2);var c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));var d=R*c;return d*1e3};ChrisVeness.distCosineLaw=function(p1,p2){var R=6371;var d=Math.acos(Math.sin(p1.lat)*Math.sin(p2.lat)+Math.cos(p1.lat)*Math.cos(p2.lat)*Math.cos(p2.lon-p1.lon))*R;return d*1e3};function PLatLngRad(degLat,degLong){this.lat=ChrisVeness.llToRad(degLat);this.lon=ChrisVeness.llToRad(degLong)}ChrisVeness.llToRad=function(llDeg){if(!isNaN(llDeg))return llDeg*Math.PI/180;llDeg=llDeg.replace(/[\s]*$/,"");var dir=llDeg.slice(-1).toUpperCase();if(!/[NSEW]/.test(dir))return NaN;llDeg=llDeg.slice(0,-1);var dms=llDeg.split(/[\s:,��'\'?\"]/);if(dms[dms.length-1]=="")dms.length--;switch(dms.length){case 3:var deg=dms[0]/1+dms[1]/60+dms[2]/3600;break;case 2:var deg=dms[0]/1+dms[1]/60;break;case 1:if(/[NS]/.test(dir))llDeg="0"+llDeg;var deg=llDeg.slice(0,3)/1+llDeg.slice(3,5)/60+llDeg.slice(5)/3600;break;default:return NaN}if(/[WS]/.test(dir))deg=-deg;return deg*Math.PI/180};function loadCitiPlace(){if(session.get("_userid")==null){autoLogin(function(){startCitiPlace()})}else{startCitiPlace()}}function startCitiPlace(){var alertImages=["/images/map-dialog-bg.gif","/images/map-dialog-button-bg.gif","/images/trans60.png"];$(alertImages).each(function(){$("<img/>")[0].src=this});if(typeof citi_checkContentLoaded=="function"){citi_checkContentLoaded()}PEnvironment.pageName="citi-reports";PEnvironment.citiScrolls={};PEnvironment.tooManySchoolDistricts=[];var func=loadCitiReport;var params=getUrlParams();var id=params["p"];if(P.WKPrint.isPrintPage()===true){addCitiPrintStyle()}if(!id){func()}else{PEnvironment.citiPageUrlParams={};PEnvironment.citiPrintObj={};var url=window.location.pathname;var arr=url.split("/");var pagename=arr[2].split(".")[0];var rType=arr[1];PEnvironment.citiReportPage=pagename;PEnvironment.citiReportType=rType;PEnvironment.citiLoadCount=0;placeLoader.load([id],function(places){var place=places[0];$("#report-header").append('<div class="district-name">'+place.getLabel()+"</div>");place.getPlacesContaining(PPlaceType.STATE,null,null,function(states){var state;for(var i=0;i<states.length;i++){if(place.getState()==states[i].getState()){state=states[i]}}var tractsNeeded=true;var districtPlace=place;if(place.getType()==PPlaceType.SENATE){place=state;tractsNeeded=false}updateCitiBoundaryTypeText(place);place.getAggregates(PPlaceType.COUNTY,null,null,function(counties){var f=function(tracts00,tracts10){var obj={};obj.reportType=rType;obj.place=place;obj.districtPlace=districtPlace;obj.state=state;obj.tracts00=tracts00;obj.tracts10=tracts10;obj.counties=counties;var nation=new PPlace(1061338);nation.label="United States";nation.typeid=1;obj.nation=nation;obj.nationStates=[new PPlace(545667),new PPlace(545669),new PPlace(545670),new PPlace(545671),new PPlace(545672),new PPlace(545673),new PPlace(545674),new PPlace(545675),new PPlace(545676),new PPlace(545677),new PPlace(545679),new PPlace(545680),new PPlace(545681),new PPlace(545682),new PPlace(545683),new PPlace(545684),new PPlace(545685),new PPlace(545686),new PPlace(545687),new PPlace(545688),new PPlace(545689),new PPlace(545690),new PPlace(545691),new PPlace(545692),new PPlace(545693),new PPlace(545694),new PPlace(545695),new PPlace(545696),new PPlace(545697),new PPlace(545698),new PPlace(545699),new PPlace(545700),new PPlace(545701),new PPlace(545702),new PPlace(545703),new PPlace(545704),new PPlace(545705),new PPlace(545706),new PPlace(545707),new PPlace(545708),new PPlace(545709),new PPlace(545710),new PPlace(545711),new PPlace(545712),new PPlace(545713),new PPlace(545714),new PPlace(545715),new PPlace(545716),new PPlace(545717),new PPlace(545668),new PPlace(545678)];func(obj)};if(tractsNeeded){place.getAggregates(PPlaceType.CENSUSTRACT,1,null,function(tracts00){place.getAggregates(PPlaceType.CENSUSTRACT,2,null,function(tracts10){f(tracts00,tracts10)},50,null,null,null,50,null,null,null,"id,identifier,label,typeid,state")},50,null,null,null,50,null,null,null,"id,identifier,label,typeid,state")}else{f([],[])}},20,null,null,null,51,null,null,null,"id,identifier,label,typeid,state,centroid")},3,null,null,null)})}}function citiReportNotAvailableAlert(){var text="This report is not yet available.";alerter.popup(text,"OK")}function selectCitiReport(){var checks=$(".report-option:not(.disable)").find("input:checked");var selectedPlace=$("#cong-places").find("input:checked");var id;if(selectedPlace.length==0){var text="Please complete the Select Your Report section.";alerter.popup(text,"OK");return}else{id=selectedPlace.attr("id")}if(checks.length!=1){var text="No report was selected";alerter.popup(text,"OK");return}else{var rType=null;var rPage=null;checks.each(function(i){var name=$(this).attr("name");if(name=="report"){rPage=this.id}else if(name=="report-type"){rType=$(this).parent().parent().parent().attr("id");rPage=this.id.slice(3,this.id.length)}});var url="/"+rType+"/"+rPage+".html"+"?p="+id;setWindowLocation(url)}checks.each(function(i){})}function filterCitiMassLayoffs(industries){var newArr=[];for(var i=0;i<industries.length;i++){var a=industries[i].columnName.split("cclaimantn");var n=parseFloat(a[1]);if(n<3||n>47){continue}newArr.push(industries[i])}return newArr}function updateCitiBoundaryTypeText(place){var t=getCitiBoundaryTypeText(place);$(".header-boundary-type").html(t.toUpperCase());$(".content-boundary-type").html(t)}function getCitiBoundaryTypeText(place){var t="";if(place.getType()==PPlaceType.STATE){t="state"}else{t="District"}return t}function citiReportError(){alerter.popup("There was an error generating the report for this Distrct.","OK")}function checkCitiPageLoad(hasDynIframe){var obj=PEnvironment.citiPrintObj;if(!obj.docDone){$(document).ready(function(){obj.docDone=true;checkCitiPageLoad()})}if(hasDynIframe&&!obj.iframeDone){PEnvironment.hasDynIframe=true;obj.iframeDone=true}if(!obj.allRequestsDone){var check=function(){setTimeout(function(){if(ajax.activeRequests){check()}else{obj.allRequestsDone=true;checkCitiPageLoad()}},2e3)};check()}var loadIsDone=false;if(obj.allRequestsDone&&obj.docDone&&(obj.iframeDone||!PEnvironment.hasDynIframe)){loadIsDone=true}var params=getUrlParams();if(P.WKPrint.isPrintPage()===true&&loadIsDone&&!PEnvironment.loadIsDone&&PEnvironment.citiLoadCount==PEnvironment.totalCitiPageLoadCount){PEnvironment.loadIsDone=true;addCitiPrintStyle(true)}}function screenGrabCitiPrint(){var element=document.createElement("ScreengrabElement");document.documentElement.appendChild(element);var evt=document.createEvent("Events");evt.initEvent("ScreengrabEvent",true,false);element.dispatchEvent(evt)}function printCitiReport(){var elementstatus="";if(typeof citi_getElementStatus=="function"){var elementstatus=citi_getElementStatus()}alerter.popup("Your PDF will be ready momentarily.","OK");P.instances.wkprint.setPrintCallback(handleNotificationPrint);if(PEnvironment.citiReportPage=="summary"){P.instances.wkprint.setOrientation(P.WKPrint.PORTRAIT)}else{P.instances.wkprint.setOrientation(P.WKPrint.LANDSCAPE)}var regex=/-/g;var pageGroup=window.location.href.split("/")[3];pageGroup=pageGroup.replace(regex," ");pageGroup=pageGroup.replace(/\w\S*/g,function(txt){return txt.charAt(0).toUpperCase()+txt.substr(1).toLowerCase()});var pageName=PEnvironment.citiReportPage;pageName=pageName.replace(regex," ");pageName=pageName.replace(/\w\S*/g,function(txt){return txt.charAt(0).toUpperCase()+txt.substr(1).toLowerCase()});P.instances.wkprint.setFileName("MyDistrictData - "+pageGroup+" - "+pageName+" - ",true);console.log("Filename = "+"MyDistrictData - "+pageGroup+" - "+pageName+" - ");if(elementstatus!=""){P.instances.wkprint.setAdditionalParams(elementstatus)}P.instances.wkprint.printThisPage()}function getCitiPrintPages(){var obj=getCitiReportOptions(PEnvironment.citiReportType);var arr=[];var urls=[];var params=getUrlParams();for(var i in obj.pages){var url={};url.url={};var u=window.location.hostname;url.url.location="http://"+u+"/"+PEnvironment.citiReportType+"/"+i+".html?p="+params["p"]+"&print=true"+obj.pages[i].params;var d=8;var arr=["banking-institutions","housing"];for(var i=0;i<arr.length;i++){if(PEnvironment.citiReportPage==arr[i]){d=15;break}}url.url.delay=d;urls.push(url)}return urls}function getCitiReportOptions(rType){var pagename=PEnvironment.citiReportPage;var scrolls=PEnvironment.citiScrolls;for(var i in scrolls){var scrollPos=scrolls[i].scrollTop();PEnvironment.citiPageUrlParams[i]=scrollPos}var params="";for(var i in PEnvironment.citiPageUrlParams){params+="&"+i+"="+PEnvironment.citiPageUrlParams[i]}var r={};var n=rType;r[n]={};r[n].pages={};r[n].pages[pagename]={params:params};r[n].waitEvent="ScreengrabEvent";return r[n]}function addCitiPrintStyle(hasIframe){return;if(hasIframe){var cssLink=document.createElement("link");cssLink.href="/cssPrint/citi_report_print.css";cssLink.rel="stylesheet";cssLink.type="text/css";var frs=$("iframe");for(var i=0;i<frs.length;i++){frames[frs[i].id].document.head.appendChild(cssLink)}}else{$("head").append('<link rel="stylesheet" href="/cssPrint/citi_report_print.css" type="text/css" />')}}function addToCitiLoadCount(){PEnvironment.citiLoadCount++;checkCitiPageLoad()}function displayCitiPrintLoading(){if($("#animationLoading").length>0){return}var loading=$("<div />");loading.attr("id","animationLoading");loading.addClass("citiLoading");loading.css("display","none");loading.html("<img src='/images/busy.gif' class='center'><br />Generating PDF...");var body=$("body");body.append(loading);var leftPos=body.width()/2-loading.width()/2+body.offset().left;var topPos=body.height()/2-loading.height()/2+body.offset().top;loading.css({left:leftPos,top:topPos});loading.fadeIn()}function removeCitiPrintLoading(){var loading=$("#animationLoading");loading.fadeOut(400,function(){loading.remove()})}function addCitiPrintParamToWidget(){var t="";if(P.WKPrint.isPrintPage()===true){t+="&"+P.WKPrint.printFormat+"=true"}return t}function createCitiSitesTable(o){var markers=o.markers;var headerNames=o.headerNames;var container=o.container;var title=o.title;var note=o.note;var div=$("<div />");div.addClass("table-list");var header=$("<div />");header.html(title);header.addClass("header");div.append(header);var listDiv=$("<div />");listDiv.addClass("scroll-list-div");div.append(listDiv);var table=$("<table />");listDiv.append(table);table.addClass("tablesorter");var thead=$("<thead />");table.append(thead);var trhead=$("<tr />");thead.append(trhead);var tbody=$("<tbody />");table.append(tbody);var headersAdded=[];var headersAreDone=false;var html="";if(markers.length>0){html+='<div class="table-list"><table id="pinTable" class="chartTable" cellpadding="1" cellspacing="1" width="100%" >\n';html+="<thead><tr>";var tableHeaders=new Array;var tableObject={};for(var i=0;i<markers.length;i++){var marker=markers[i];var markername="marker"+i;tableObject[markername]={};for(var j=0;j<marker.attributes.length;j++){var attribute=marker.attributes[j];if($.inArray(attribute.columnName,headerNames)==-1){continue}if($.inArray(attribute.name,tableHeaders)==-1){trhead.append("<th>"+attribute.name+"</th>");tableHeaders.push(attribute.name)}var value="";if(isNumeric(attribute.value)&&attribute.unit){value+=PWebUtil.formatNumber(attribute.value,attribute.unit)}else{value+=attribute.value}tableObject[markername][attribute.name]={};tableObject[markername][attribute.name].value=value}}var content="";for(var mname in tableObject){content+="<tr>";for(var j=0;j<tableHeaders.length;j++){var found=false;for(var aname in tableObject[mname]){if(tableHeaders[j]==aname){var found=true;var column="<td>"+tableObject[mname][aname].value+"</td>"}}if(!found)column="<td class='empty'></td>";content+=column}content+="</tr>"}tbody.html(content);var params=getUrlParams();var sort=[0,0];container.append(div);$(table).tablesorter({cssAsc:"sortAsc",cssDesc:"sortDesc",sortList:[sort],widgets:["zebra"]});$(table).bind("sortEnd",function(){var headers=$(this).find("th");for(var i=0;i<headers.length;i++){if($(headers[i]).hasClass("sortAsc")||$(headers[i]).hasClass("sortDesc")){var classname=$(headers[i]).attr("class");col=i;break}}var t=1;if(classname.indexOf("sortDesc")!=-1)t=0;PEnvironment.citiPageUrlParams.sort=col+","+t});if(note){var txt=note;$(div).append("<div class='note'>"+txt+"</div>")}}}function seeCitiBoundariesList(elem){if($(elem).text().indexOf("see")!=-1){$(elem).text("(hide list)")}else{$(elem).text("(see list)")}$(elem).next().toggle()}function citi_checkContentLoaded(){if(!(P.WKPrint.isPrintPage()===true)){return}if(citi_isContentLoaded()){if(typeof citi_restoreElementStatus=="function"){try{citi_restoreElementStatus()}catch(e){console.log(e)}}P.instances.wkprint.setDelay(15);P.instances.wkprint.removeAction("onLoad")}else{setTimeout(function(){citi_checkContentLoaded()},1e3)}}CitiSummaryTables=function(o){PEnvironment.totalCitiPageLoadCount=5;this.o=o;if(this.o.place.getType()==PPlaceType.CONGRESSIONAL){this.typeLabel="District"}else{this.typeLabel="State"}this.container=$(".data-content");if(this.o.counties){var aggs=this.o.counties;this.countieslist=getAggregatedPlaceNames(aggs)}if(this.o.tracts00){var aggs=this.o.tracts00;this.tracts00list=getAggregatedPlaceNames(aggs)}if(this.o.tracts10){var aggs=this.o.tracts10;this.tracts10list=getAggregatedPlaceNames(aggs)}if(this.o.zips){var aggs=this.o.zips;this.zipslist=getAggregatedPlaceNames(aggs)}if(this.o.cbsas){var aggs=this.o.cbsas;this.cbsaslist=getAggregatedPlaceNames(aggs)}};CitiSummaryTables.prototype.addPageBreak=function(){this.pageBreakDiv=$("<div />");this.pageBreakDiv.addClass("page-break");this.container.append(this.pageBreakDiv)};CitiSummaryTables.prototype.popEmployment=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");this.container.append(sectionCont);var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var table=$("<table />");table.addClass("citi-summary-table");table.attr("id","summary-employment");var html="<thead><tr>";html+="<th>Employment</th>";html+="<th colspan='3'>"+this.typeLabel+"</th>";if(!isState){html+="<th colspan='3'>State</th>"}html+="</tr></thead>";table.append(html);sectionCont.append(table);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var pers=inds[0].getPeriods();var periods=[pers[12],pers[0]];var aggs=that.o.counties;if(that.o.place.getType()!=PPlaceType.CONGRESSIONAL){aggs=[that.o.place]}var cube1=new PCube(inds,aggs,periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(inds,[that.o.state],periods);cube2.loadValues(function(statevalues){this.values=statevalues;var html="<tbody>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";if(!isState){var len=2}else{var len=1}for(var i=0;i<len;i++){html+="<td>"+formatMonthlyPeriod(periods[0])+"</td>";html+="<td>"+formatMonthlyPeriod(periods[1])+"</td>";html+="<td>% change from prev year</td>"}html+="<tr class='data-row'>";var ind=inds[0];var label="Employed People";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var sum2=getSumOfPlaces(cube1,ind,periods[1]);var val=PWebUtil.formatNumber(sum2,ind.unit);html+="<td>"+val+"</td>";var change=PWebUtil.formatNumber(divideCheck(sum2-sum1,sum1,100),"_%");html+="<td>"+change+"</td>";if(!isState){var sum1=getSumOfPlaces(cube2,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var sum2=getSumOfPlaces(cube2,ind,periods[1]);var val=PWebUtil.formatNumber(sum2,ind.unit);html+="<td>"+val+"</td>";var change=PWebUtil.formatNumber(divideCheck(sum2-sum1,sum1,100),"_%");html+="<td>"+change+"</td>";html+="</tr>"}html+="<tr class='data-row'>";var ind1=inds[0];var ind2=inds[1];var label="Percent Employed";html+="<td class='label'>"+label+"</td>";var sum1=divideCheck(getSumOfPlaces(cube1,ind1,periods[0]),getSumOfPlaces(cube1,ind2,periods[0]),100);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var sum2=divideCheck(getSumOfPlaces(cube1,ind1,periods[1]),getSumOfPlaces(cube1,ind2,periods[1]),100);var val=PWebUtil.formatNumber(sum2,"_%");html+="<td>"+val+"</td>";var change="--";html+="<td>"+change+"</td>";if(!isState){var sum1=getSumOfPlaces(cube2,ind1,periods[0])/getSumOfPlaces(cube2,ind2,periods[0])*100;var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var sum2=getSumOfPlaces(cube2,ind1,periods[1])/getSumOfPlaces(cube2,ind2,periods[1])*100;var val=PWebUtil.formatNumber(sum2,"_%");html+="<td>"+val+"</td>";var change="--";html+="<td>"+change+"</td>";html+="</tr>"}html+="<tr class='data-row'>";var ind=inds[1];var label="Labor Force";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var sum2=getSumOfPlaces(cube1,ind,periods[1]);var val=PWebUtil.formatNumber(sum2,ind.unit);html+="<td>"+val+"</td>";var change=PWebUtil.formatNumber(divideCheck(sum2-sum1,sum1,100),"_%");html+="<td>"+change+"</td>";if(!isState){var sum1=getSumOfPlaces(cube2,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var sum2=getSumOfPlaces(cube2,ind,periods[1]);var val=PWebUtil.formatNumber(sum2,ind.unit);html+="<td>"+val+"</td>";var change=PWebUtil.formatNumber(divideCheck(sum2-sum1,sum1,100),"_%");html+="<td>"+change+"</td>";html+="</tr>"}html+="<tr class='data-row'>";var ind1=inds[2];var ind2=inds[1];var ind3=indsO.unemprate;var label="Unemployment Rate";html+="<td class='label'>"+label+"</td>";if(cube1.places[0].getType()==PPlaceType.STATE){var sum1=getSumOfPlaces(cube1,ind3,periods[0]);var sum2=getSumOfPlaces(cube1,ind3,periods[1])}else{var sum1=divideCheck(getSumOfPlaces(cube1,ind1,periods[0]),getSumOfPlaces(cube1,ind2,periods[0]),100);var sum2=divideCheck(getSumOfPlaces(cube1,ind1,periods[1]),getSumOfPlaces(cube1,ind2,periods[1]),100)}var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var val=PWebUtil.formatNumber(sum2,"_%");html+="<td>"+val+"</td>";var change="--";html+="<td>"+change+"</td>";if(!isState){var sum1=getSumOfPlaces(cube2,ind3,periods[0]);var sum2=getSumOfPlaces(cube2,ind3,periods[1]);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var val=PWebUtil.formatNumber(sum2,"_%");html+="<td>"+val+"</td>";var change="--";html+="<td>"+change+"</td>";html+="</tr>"}html+="</tbody>";table.append(html);var note="<div class='table-note'>Note: Employment data for the District represent those counties that sit within or touch the Congressional District and come from the Bureau of Labor Statistics</div>";sectionCont.append(note);addToCitiLoadCount()})},{includeMappings:true})};var ids={normal:[9841108,9841101,9841100,9841103]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popJobs=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");this.container.append(sectionCont);var table=$("<table />");table.addClass("citi-summary-table");table.attr("id","summary-jobs");var html="<thead><tr>";html+="<th>Jobs</th>";html+="<th colspan='2'>"+this.typeLabel+"<br />2009-2013</th>";html+="<th colspan='2'>Nation<br />2009-2013</th>";html+="</tr></thead>";table.append(html);sectionCont.append('<div style="page-break-before: always;"></div>');sectionCont.append(table);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var periods=[P.constants.latestACSPeriod];var place=that.o.place;var aggs=[place];var cube10=new PCube(inds,aggs,periods);cube10.loadValues(function(values){this.values=values;var natInds=indsObj.national;var cubeNat=new PCube(inds,[that.o.nation],periods);cubeNat.loadValues(function(nationvalues){this.values=nationvalues;var html="<tbody>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";for(var i=0;i<2;i++){html+="<td>#</td>";html+="<td>%</td>"}html+="</tr>";var addElements=function(inds,sum_cempall){var html="<tr class='data-row'>";var cemp=inds[0];var pemp=inds[1];var label=cemp.getLabel();label=label.replace("Est.","");label=label.replace("Employment","");html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlaces(cube10,cemp,periods[0]);var val=PWebUtil.formatNumber(sum1,cemp.unit);html+="<td>"+val+"</td>";var sum1=getSumOfPlaces(cube10,pemp,periods[0]);var val=PWebUtil.formatNumber(sum1,pemp.unit);html+="<td>"+val+"</td>";var sum1=getSumOfPlaces(cubeNat,cemp,periods[0]);var val=PWebUtil.formatNumber(sum1,cemp.unit);html+="<td>"+val+"</td>";var sum1=getSumOfPlaces(cubeNat,pemp,periods[0]);var val=PWebUtil.formatNumber(sum1,pemp.unit);html+="<td>"+val+"</td>";html+="</tr>";inds.shift();inds.shift();return html};var cempall=inds[inds.length-1];var sum_cempall=getSumOfPlaces(cube10,cempall,periods[0]);inds.pop();var len=inds.length/2;for(var i=0;i<len;i++){html+=addElements(inds,sum_cempall)}html+="</tbody>";table.append(html);var note="<div class='table-note'>Note: Job data is from the Census Bureau's American Community Survey rolling estimate for 2009-2013 as reported by "+place.getType().getName()+".";sectionCont.append(note);addToCitiLoadCount()})})};var ids={normal:[9872931,9872955,9872936,9872918,9872958,9872908,9872919,9872960,9872924,9872945,9872904,9872901,9872909,9872938,9872939,9872911,9872962,9872951,9872927,9872944,9872900,9872925,9872961,9872964,9872952,9872963,9872930,9872943,9872910,9872942,9872929,9872902,9872913,9872915,9872965]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popWorkforce=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");this.container.append(sectionCont);var table=$("<table />");table.addClass("citi-summary-table");table.attr("id","summary-jobs");var html="<thead><tr>";html+="<th>Workforce Demographics</th>";html+="<th colspan='1'>"+this.typeLabel+"</th>";html+="<th colspan='3'>Nation</th>";html+="</tr></thead>";table.append(html);sectionCont.append(table);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var acsYear=P.constants.latestACSPeriod;var periods=[2e3,2010,acsYear];var place=that.o.place;var counties=that.o.counties;var aggs10=[];if(place.getType()==PPlaceType.STATE){aggs10=[place]}else{aggs10=that.o.tracts10}var loadTable=function(cubes){var year11=2011;var year10=2010;var year00=2e3;var cube10=new PCube(inds,[place],[year10,acsYear]);cube10.loadValues(function(values){this.values=values;var cube3=new PCube(inds,counties,[year10]);cube3.loadValues(function(countyvalues){this.values=countyvalues;var cube4=new PCube(inds,[that.o.nation],periods);cube4.loadValues(function(nationvalues){this.values=nationvalues;var cube5=new PCube(inds,that.o.nationStates,periods);cube5.loadValues(function(statesvalues){this.values=statesvalues;var cube6=new PCube([indsO.pforbrn],[that.o.nation],periods);cube6.loadValues(function(nationvalues){this.values=nationvalues;var districtCube10=cube10;var html="<tbody>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>2009-2013</td>";html+="<td></td>";html+="<td>2009-2013</td>";html+="<td>% change since 2000</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=inds[0];var label=ind.getLabel();html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind,acsYear);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=inds[0];html+="<td></td>";var sum1=getSumOfPlaces(cube4,ind,acsYear);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var a=getSumOfPlacesIgnoreNulls(cube4,ind,year00);var b=getSumOfPlacesIgnoreNulls(cube4,ind,acsYear);var sum2=divideCheck(b-a,a,100);var val=PWebUtil.formatNumber(sum2,"_%");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>2009-2013</td>";html+="<td>2000</td>";html+="<td>2009-2013</td>";
html+="<td>% change since 2000</td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.cpop21_24;var ind2=indsO.cpop25_34;var ind3=indsO.cpop35_54;var ind4=indsO.cpop55_64;var ind5=indsO.cpopallage;var label="Percent Working Age (20-64)";html+="<td class='label'>"+label+"</td>";var a=getSumOfPlacesIgnoreNulls(districtCube10,ind1,acsYear);var b=getSumOfPlacesIgnoreNulls(districtCube10,ind2,acsYear);var c=getSumOfPlacesIgnoreNulls(districtCube10,ind3,acsYear);var d=getSumOfPlacesIgnoreNulls(districtCube10,ind4,acsYear);var e=getSumOfPlacesIgnoreNulls(districtCube10,ind5,acsYear);if(a&&b&&c&&d){var tot1=a+b+c+d;var sum1=divideCheck(tot1,e,100)}else{sum1="N/A"}var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var ind1=indsO.cpop21_24;var ind2=indsO.cpop25_34;var ind3=indsO.cpop35_54;var ind4=indsO.cpop55_64;var ind5=indsO.cpopallage;var a=getSumOfPlacesIgnoreNulls(cube5,ind1,year00);var b=getSumOfPlacesIgnoreNulls(cube5,ind2,year00);var c=getSumOfPlacesIgnoreNulls(cube5,ind3,year00);var d=getSumOfPlacesIgnoreNulls(cube5,ind4,year00);var e=getSumOfPlacesIgnoreNulls(cube5,ind5,year00);if(a&&b&&c&&d){var tot1=a+b+c+d;var sum1=divideCheck(tot1,e,100)}else{sum1="N/A"}var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var a=getSumOfPlacesIgnoreNulls(cube5,ind1,acsYear);var b=getSumOfPlacesIgnoreNulls(cube5,ind2,acsYear);var c=getSumOfPlacesIgnoreNulls(cube5,ind3,acsYear);var d=getSumOfPlacesIgnoreNulls(cube5,ind4,acsYear);var e=getSumOfPlacesIgnoreNulls(cube5,ind5,acsYear);if(a&&b&&c&&d){var tot2=a+b+c+d;var sum2=divideCheck(tot2,e,100)}else{sum2="N/A"}var val=PWebUtil.formatNumber(sum2,"_%");html+="<td>"+val+"</td>";var change=divideCheck(tot2-tot1,tot1,100);var val=PWebUtil.formatNumber(change,"_%");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.cpop65p;var ind2=indsO.cpopallage;var label="Percent Older Age (65+)";html+="<td class='label'>"+label+"</td>";var a=getSumOfPlacesIgnoreNulls(districtCube10,ind1,acsYear);var b=getSumOfPlacesIgnoreNulls(districtCube10,ind2,acsYear);var tot1=a;var sum1=divideCheck(a,b,100);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var a=getSumOfPlacesIgnoreNulls(cube5,ind1,year00);var b=getSumOfPlacesIgnoreNulls(cube5,ind2,year00);var tot1=a;var sum1=divideCheck(tot1,b,100);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var a=getSumOfPlacesIgnoreNulls(cube5,ind1,acsYear);var b=getSumOfPlacesIgnoreNulls(cube5,ind2,acsYear);var tot2=a;var sum2=divideCheck(tot2,b,100);var val=PWebUtil.formatNumber(sum2,"_%");html+="<td>"+val+"</td>";var val=PWebUtil.formatNumber(divideCheck(tot2-tot1,tot1,100),"_%");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.cpop65p;var ind2=indsO.cpop21_24;var ind3=indsO.cpop25_34;var ind4=indsO.cpop35_54;var ind5=indsO.cpop55_64;var label="Older Age to Working Age Ratio";html+="<td class='label'>"+label+"</td>";var a=getSumOfPlacesIgnoreNulls(districtCube10,ind1,acsYear);var b=getSumOfPlacesIgnoreNulls(districtCube10,ind2,acsYear);var c=getSumOfPlacesIgnoreNulls(districtCube10,ind3,acsYear);var d=getSumOfPlacesIgnoreNulls(districtCube10,ind4,acsYear);var e=getSumOfPlacesIgnoreNulls(districtCube10,ind5,acsYear);var sum1=divideCheck(a,b+c+d+e,100);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var a=getSumOfPlacesIgnoreNulls(cube5,ind1,year00);var b=getSumOfPlacesIgnoreNulls(cube5,ind2,year00);var c=getSumOfPlacesIgnoreNulls(cube5,ind3,year00);var d=getSumOfPlacesIgnoreNulls(cube5,ind4,year00);var e=getSumOfPlacesIgnoreNulls(cube5,ind5,year00);var sum1=divideCheck(a,b+c+d+e,100);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var a=getSumOfPlacesIgnoreNulls(cube5,ind1,acsYear);var b=getSumOfPlacesIgnoreNulls(cube5,ind2,acsYear);var c=getSumOfPlacesIgnoreNulls(cube5,ind3,acsYear);var d=getSumOfPlacesIgnoreNulls(cube5,ind4,acsYear);var e=getSumOfPlacesIgnoreNulls(cube5,ind5,acsYear);var sum2=divideCheck(a,b+c+d+e,100);var val=PWebUtil.formatNumber(sum2,"_%");html+="<td>"+val+"</td>";html+="<td></td>";html+="</tr>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>2009-2013</td>";html+="<td></td>";html+="<td>2009-2013</td>";html+="<td>% change since 2000</td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.ppopmin;var label="Minority Population";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind1,acsYear);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var ind1=indsO.cpop;var ind2=indsO.cpopmin;html+="<td></td>";var s1=getSumOfPlacesIgnoreNulls(cube5,ind1,acsYear);var s2=getSumOfPlacesIgnoreNulls(cube5,ind2,acsYear);var sum1=divideCheck(s2,s1,100);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var a=getSumOfPlacesIgnoreNulls(cube5,ind2,year00);var b=getSumOfPlacesIgnoreNulls(cube5,ind2,acsYear);var change=divideCheck(b-a,a,100);var val=PWebUtil.formatNumber(change,"_%");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>2009-2013</td>";html+="<td>2000</td>";html+="<td>2009-2013</td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.pforbrn;var ind2=indsO.cforbrn;var ind3=indsO.ccitizenall;var label="Percent born outside of the U.S.";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind1,acsYear);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var sum1=getSumOfPlacesIgnoreNulls(cube6,ind1,year00);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var sum2=getSumOfPlacesIgnoreNulls(cube6,ind1,acsYear);var val=PWebUtil.formatNumber(sum2,"_%");html+="<td>"+val+"</td>";html+="<td></td>";html+="</tr>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>2010</td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.returnnum_net;var label="Migration";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(cube3,ind1,year10);var val=PWebUtil.formatNumber(sum1);html+="<td>"+val+"</td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.aggragi_net;var label="Change in Adjusted Gross Income";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlaces(cube3,ind1,year10);var val=PWebUtil.formatNumber(sum1,"$_");html+="<td>"+val+"</td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.returnnum_net;var ind2=indsO.nonmigret_in;var label="Change in number of taxpayers";html+="<td class='label'>"+label+"</td>";var a=getSumOfPlacesIgnoreNulls(cube3,ind1,year10);var b=getSumOfPlacesIgnoreNulls(cube3,ind2,year10);var sum1=divideCheck(a,a+b,100);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="</tr>";html+="</tbody>";table.append(html);var note="<div class='table-note'>Note: Population, Working Age, Dependency and Immigration data is from the American Community Survey 2009-2013 estimates for the Congressional District or State.  Data for migration is representative of the counties that touch the Congressional District as reported by the IRS Migration Data for 2010.</div>";sectionCont.append(note);addToCitiLoadCount()})})})})})};loadTable()};var ids={normal:[9869069,9869071,9868907,9869042,9869076,9869056,9869060,9868898,9868865,9868923,9909505,9887223,9887203,9887201,9909501]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popEducation=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");sectionCont.append('<div style="page-break-before: always;"></div>');this.container.append(sectionCont);var table=$("<table />");table.addClass("citi-summary-table");table.attr("id","summary-education");var html="<thead><tr>";html+="<th>Education</th>";html+="<th colspan='1'>"+this.typeLabel+"</th>";html+="<th colspan='2'>Nation</th>";html+="</tr></thead>";table.append(html);sectionCont.append(table);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var ninds=indsObj.nationalArr;var place=that.o.place;var places=that.o.tracts;var acsYear=P.constants.latestACSPeriod;var periods=[2e3,acsYear];var loadTable=function(cubes){var aggs00;var aggs10;if(place.getType()==PPlaceType.STATE){aggs00=[place];aggs10=[place]}else{aggs00=that.o.tracts00;aggs10=that.o.tracts10}var year00=2e3;var cube00=new PCube(inds,aggs00,[year00]);cube00.loadValues(function(values){this.values=values;var year11=2011;var cube10=new PCube(inds,[place],[acsYear]);cube10.loadValues(function(values){this.values=values;var cube3=new PCube(inds,[that.o.state],[acsYear]);cube3.loadValues(function(statevalues){this.values=statevalues;var cube4=new PCube(inds,that.o.nationStates,periods);cube4.loadValues(function(nationvalues){this.values=nationvalues;var type=PPlaceType.SCHOOL;var arr=PEnvironment.tooManySchoolDistricts;for(var i=0;i<arr.length;i++){if(arr[i]==place.getLabel()){type=PPlaceType.STATE}}place.getAggregates(type,null,null,function(schools){var cube5=new PCube(inds,schools,[year11]);cube5.loadValues(function(schoolvalues){this.values=schoolvalues;var cube6=new PCube(inds,[that.o.nation],periods);cube6.loadValues(function(nationvalues){this.values=nationvalues;var districtCube00=cube00;var districtCube10=cube10;var html="<tbody>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>2009-2013</td>";html+="<td>2009-2013</td>";html+="<td>% change since 2000</td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.csmhsnodip;var ind2=indsO.clt9th;var ind3=indsO.ceduall;var label="No High School Diploma";html+="<td class='label'>"+label+"</td>";var sum_csmhsnodip=getSumOfPlacesIgnoreNulls(districtCube10,ind1,acsYear);var sum_clt9th=getSumOfPlacesIgnoreNulls(districtCube10,ind2,acsYear);var sum_ceduall_cube2_1=getSumOfPlacesIgnoreNulls(districtCube10,ind3,acsYear);var val=PWebUtil.formatNumber(divideCheck(sum_clt9th+sum_csmhsnodip,sum_ceduall_cube2_1,100),"_%");html+="<td>"+val+"</td>";var sum_csmhsnodip=getSumOfPlacesIgnoreNulls(cube6,ind1,acsYear);var sum_clt9th=getSumOfPlacesIgnoreNulls(cube6,ind2,acsYear);var sum_ceduall=getSumOfPlacesIgnoreNulls(cube6,ind3,acsYear);var val=PWebUtil.formatNumber(divideCheck(sum_clt9th+sum_csmhsnodip,sum_ceduall,100),"_%");html+="<td>"+val+"</td>";var s1_a=getSumOfPlacesIgnoreNulls(cube6,ind1,year00);var s2_a=getSumOfPlacesIgnoreNulls(cube6,ind2,year00);var s1_b=getSumOfPlacesIgnoreNulls(cube6,ind1,acsYear);var s2_b=getSumOfPlacesIgnoreNulls(cube6,ind2,acsYear);var sum1=divideCheck(s1_b+s2_b-(s1_a+s2_a),s1_a+s2_a,100);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.phsp;var label="High School Diploma";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind1,acsYear);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var sum1=getMeanOfPlacesIgnoreNulls(cube6,ind1,acsYear);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var ind1=indsO.chsp;var a=getSumOfPlacesIgnoreNulls(cube6,ind1,year00);var b=getSumOfPlacesIgnoreNulls(cube6,ind1,acsYear);var sum1=divideCheck(b-a,a,100);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.pbachp;var label="Bachelor's Degree";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind1,acsYear);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var sum1=getMeanOfPlacesIgnoreNulls(cube6,ind1,acsYear);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var ind1=indsO.cbachp;var a=getSumOfPlacesIgnoreNulls(cube6,ind1,year00);var b=getSumOfPlacesIgnoreNulls(cube6,ind1,acsYear);var sum1=divideCheck(b-a,a,100);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.pgtbach;var label="Post-Graduate Degree";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind1,acsYear);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var sum1=getMeanOfPlacesIgnoreNulls(cube6,ind1,acsYear);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var ind1=indsO.cgtbach;var a=getSumOfPlacesIgnoreNulls(cube6,ind1,year00);var b=getSumOfPlacesIgnoreNulls(cube6,ind1,acsYear);var sum1=divideCheck(b-a,a,100);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>2011</td>";html+="<td></td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.pct_prof_hsread;var label="High School Proficiency - Reading";html+="<td class='label'>"+label+"</td>";var sum1=getMeanOfPlacesIgnoreNulls(cube5,ind1,year11);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";html+="<td></td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.pct_prof_hsmath;var label="High School Proficiency - Math";html+="<td class='label'>"+label+"</td>";var sum1=getMeanOfPlacesIgnoreNulls(cube5,ind1,year11);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";html+="<td></td>";html+="<td></td>";html+="</tr>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>2013</td>";html+="<td></td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var ind1=indsO.d_total_4yr;var label="Cost of College";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(cube3,ind1,acsYear);var val=PWebUtil.formatNumber(sum1,"$_");html+="<td>"+val+"</td>";html+="<td></td>";html+="<td></td>";html+="</tr>";html+="</tbody>";table.append(html);var note="<div class='table-note'>Note: Data for this area for educational attainment is representative of Congressional District information provided by the Census' American Community Survey for 2009-2013. School district proficiency statistics and cost of college figures at the state level come from the National Center for Education Statistics.</div>";sectionCont.append(note);addToCitiLoadCount()})})},20,null,null,null,51,null,null,null,"id,identifier,label,typeid,state")})})})})};loadTable()};var ids={normal:[9873900,9873915,9873929,9873915,9873933,9873928,9873916,9873911,9873904,9873935,9847267,9847261,9877852]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popBusiness=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");this.container.append(sectionCont);var table=$("<table />");table.addClass("citi-summary-table");table.attr("id","summary-education");var html="<thead><tr>";html+="<th>Business Environment</th>";html+="<th colspan='1'>State</th>";html+="<th colspan='1'>Nation</th>";html+="</tr></thead>";table.append(html);sectionCont.append(table);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var year13=2013;var periods=[year13];var place=that.o.place;var aggs=that.o.counties;if(place.getType()==PPlaceType.STATE){aggs=[that.o.state]}var cube1=new PCube(inds,aggs,periods);cube1.loadValues(function(values){this.values=values;var url=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=avgwage&act=i&bi="+that.o.nation.id+"&per=2013&did=115600&avg=avgemp";ajax.call({url:url,dataType:"json",success:function(response){if(response==null||response.avgwage==null||response.avgwage.length<1){citiReportError();return}var nationindustries=response.avgwage;var url=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=avgwage&act=i&bi="+that.o.state.id+"&num=5&per=2012&did=115600&avg=avgemp";ajax.call({url:url,dataType:"json",success:function(response){if(response==null||response.avgwage==null||response.avgwage.length<1){citiReportError();return}var industries=response.avgwage;for(var i=0;i<industries.length;i++){for(var j=0;j<nationindustries.length;j++){if(industries[i].name==nationindustries[j].name){industries[i].nationvalue=nationindustries[j].value}}}var html="<tbody>";html+="<tr class='sub-header'>";var label="Top 3 Industry Wages";html+="<td class='label'>"+label+"</td>";html+="<td>2013</td>";html+="<td>2013</td>";html+="</tr>";html+="<tr class='data-row'>";var label=industries[0].name;html+="<td class='label'>"+label+"</td>";var sum1=industries[0].value;var val=PWebUtil.formatNumber(sum1,"$_");html+="<td>"+val+"</td>";var sum1=industries[0].nationvalue;var val=PWebUtil.formatNumber(sum1,"$_");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var label=industries[1].name;html+="<td class='label'>"+label+"</td>";var sum1=industries[1].value;var val=PWebUtil.formatNumber(sum1,"$_");html+="<td>"+val+"</td>";var sum1=industries[1].nationvalue;var val=PWebUtil.formatNumber(sum1,"$_");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var label=industries[2].name;html+="<td class='label'>"+label+"</td>";var sum1=industries[2].value;var val=PWebUtil.formatNumber(sum1,"$_");html+="<td>"+val+"</td>";var sum1=industries[2].nationvalue;var val=PWebUtil.formatNumber(sum1,"$_");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='sub-header'>";html+="<td></td>";html+="<td>2013</td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var label="Bankruptcy";var ind=inds[0];html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlaces(cube1,ind,year13);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td></td>";html+="</tr>";var url=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=topind&act=i&bi="+that.o.state.id+"&num=5&per=2012&did=115450&pre=cclaimant&tot=cclaimantn0001";ajax.call({url:url,dataType:"json",success:function(response){if(response==null||response.topind==null||response.topind.length<1){citiReportError();return}var industries=response.topind;industries=filterCitiMassLayoffs(industries);html+="<tr class='sub-header'>";var label="Top 3 Industry Mass Layoffs";html+="<td class='label'>"+label+"</td>";html+="<td>2012</td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var label=industries[0].name;html+="<td class='label'>"+label+"</td>";var sum1=industries[0].totalvalue;var val=PWebUtil.formatNumber(sum1);html+="<td>"+val+"</td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var label=industries[1].name;html+="<td class='label'>"+label+"</td>";var sum1=industries[1].totalvalue;var val=PWebUtil.formatNumber(sum1);html+="<td>"+val+"</td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var label=industries[2].name;html+="<td class='label'>"+label+"</td>";var sum1=industries[2].totalvalue;var val=PWebUtil.formatNumber(sum1);html+="<td>"+val+"</td>";html+="<td></td>";html+="</tr>";html+="</tbody>";table.append(html);var note="<div class='table-note'>Note: State level wage data is from the Bureau of Labor Statistics' Quarterly Census of Employment and Wages in 2013. While county level wage data is available, it is not possible to calculate a meaningful average for a District geography. Bankruptcy data comes from the U.S. Courts and is aggregated by county. Mass Layoff statistics are only available at the state level. Mass Layoff data is from the Bureau of Labor Statistics for 2012.</div>";sectionCont.append(note);addToCitiLoadCount()}})}})}})})};var ids={normal:[9919001]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.loadInds=function(ids,callback){var idsCnt=0;var loadCnt=0;for(var i in ids){idsCnt++}PIndicatorLoader.load(ids.normal,function(inds){loadCnt++;var iObj={};for(var i=0;i<inds.length;i++){iObj[inds[i].columnName]=inds[i]}var loadCongInds=function(){PIndicatorLoader.load(ids.cong,function(inds){loadCnt++;var iObj={};for(var i=0;i<inds.length;i++){iObj[inds[i].columnName]=inds[i]}indsObj.congsObj=iObj;indsObj.congsArr=inds;if(loadCnt==idsCnt){callback(indsObj)}})};var loadNationalInds=function(){PIndicatorLoader.load(ids.national,function(inds){loadCnt++;var iObj={};for(var i=0;i<inds.length;i++){iObj[inds[i].columnName]=inds[i]}indsObj.nationalObj=iObj;indsObj.nationalArr=inds;if(loadCnt==idsCnt){callback(indsObj)}})};var indsObj={};indsObj.normalObj=iObj;indsObj.normalArr=inds;if(ids.national||ids.cong){if(ids.national){loadNationalInds()}if(ids.cong){loadCongInds()}}else{callback(indsObj)}})};CitiSummaryTables.prototype.popOverviewAB=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");sectionCont.attr("id","summary-overview-ab");this.container.append(sectionCont);var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var table=$("<table />");table.addClass("citi-summary-table");table.attr("id","summary-overview");var tbody=$("<tbody />");tbody.attr("id","overview");var html="";html+="<tr><th>OVERVIEW</th>";html+="<th colspan='3'>"+this.typeLabel+"<br />2009-2013</th>";html+="<th colspan='3'>Nation<br />2009-2013</th>";html+="</tr>";tbody.append(html);table.append(tbody);sectionCont.append('<div style="page-break-before: always;"></div>');sectionCont.append(table);this.popDemographicsAB(table,sectionCont);this.popResidentStatusAB(table,sectionCont);this.popEmploymentAB(table,sectionCont)};CitiSummaryTables.prototype.popDemographicsAB=function(table,sectionCont){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var tbody=$("<tbody />");tbody.attr("id","overview-demo");table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var ninds=indsObj.nationalArr;var acsYear=P.constants.latestACSPeriod;var periods=[acsYear];var place=that.o.place;var aggs10=[place];var loadTable=function(cubes){var cube10=new PCube(inds,aggs10,periods);cube10.loadValues(function(values){this.values=values;var cubeNation=new PCube(inds,[that.o.nation],periods);cubeNation.loadValues(function(values){this.values=values;var districtCube10=cube10;var html="";html+="<tr class='new-section-header sub-header'>";html+="<td class='section-title'>Demographics</td>";html+="<td>#</td>";html+="<td>%</td>";html+="<td>% change from 2000</td>";html+="<td>#</td>";html+="<td>%</td>";html+="<td>% change from 2000</td>";html+="</tr>";html+="<tr class='data-row'>";var year=acsYear;var label="Population";html+="<td class='label'>"+label+"</td>";var ind=indsO.cpop;var sum=getSumOfPlacesIgnoreNulls(districtCube10,ind,year);var val=PWebUtil.formatNumber(sum,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";if(isState){var ind=indsO.pccpop;var sum=getSumOfPlacesIgnoreNulls(districtCube10,ind,year);var val=PWebUtil.formatNumber(sum,ind.unit)}else{var val="--"}html+="<td>"+val+"</td>";var ind=indsO.cpop;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";var ind=indsO.pccpop;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="</tr>";html+="<tr>";html+="<td class='sub-header-label'><b>Race</b></td>";html+="<td></td><td></td><td></td><td></td><td></td><td></td>";html+="</tr>";var cpopallrace=indsO.cpopallrace;var sum_cpopallrace=getSumOfPlacesIgnoreNulls(districtCube10,cpopallrace,year);var getRaceRow=function(cpop,ppop,label,classname){var h="";h+="<tr class='data-row'>";if(!classname){classname=""}h+="<td class='label "+classname+"'>"+label+"</td>";var ind=cpop;var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";var ind=ppop;var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";var val="--";h+="<td>"+val+"</td>";var ind=cpop;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";var ind=ppop;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";h+="<td>--</td>";h+="</tr>";return h};html+=getRaceRow(indsO.cpopnhispbk,indsO.ppopnhispbk,"Black or African American");html+=getRaceRow(indsO.cpopnhispwh,indsO.ppopnhispwh,"White");html+=getRaceRow(indsO.cpopnhispas,indsO.ppopnhispas,"Asian");html+=getRaceRow(indsO.cpopnhispnhpi,indsO.ppopnhispnhpi,"Native Hawaiian and Pacific Islander");html+=getRaceRow(indsO.cpopnhispaian,indsO.ppopnhispaian,"American Indian or Alaskan Native");html+=getRaceRow(indsO.cpopnhispoth,indsO.ppopnhispoth,'"Some Other Race"');html+=getRaceRow(indsO.cpopnhisptwop,indsO.ppopnhisptwop,"Two or More Races");html+=getRaceRow(indsO.cpophisp,indsO.ppophisp,"<b>Ethnicity:</b> Hispanic","sub-header-label");html+=getRaceRow(indsO.ccitizen,indsO.pcitizen,"<b>Citizenship Status:</b> Citizens","sub-header-label");tbody.append(html);var note="<div class='table-note'></div>";sectionCont.append(note);addToCitiLoadCount()})})};loadTable()};var ids={normal:[9906424,9906423,9922200,9906425,9922201,9906426,9922202,9906401,9906400,9906402,9922204,9922203,9906403,9922205,9868944,9869069,9868934,9868881,9868902,9868879,9868944,9869105,9909504,9909500,9868865,9909502]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popResidentStatusAB=function(table,sectionCont){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var tbody=$("<tbody />");tbody.attr("id","overview-demo");table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var ninds=indsObj.nationalArr;var latestacs=P.constants.latestACSPeriod;var periods=[latestacs];var place=that.o.place;var loadTable=function(cubes){var cube10=new PCube(inds,[that.o.state],periods);cube10.loadValues(function(values){this.values=values;var cubeNation=new PCube(inds,[that.o.nation],periods);cubeNation.loadValues(function(values){this.values=values;var districtCube10=cube10;var html="";html+="<tr>";html+="<th></th>";html+="<th colspan='3'>State<br />2013</th>";html+="</tr>";html+="<tr class='new-section-header sub-header'>";html+="<td class='section-title'></td>";html+="<td></td>";html+="<td>%</td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var year=latestacs;var label="Legal Permanent Resident Status";html+="<td class='label'>"+label+"</td>";var ind=indsO.ptotal;var sum=getSumOfPlacesIgnoreNulls(districtCube10,ind,year);var val=PWebUtil.formatNumber(sum,ind.unit);html+="<td></td>";html+="<td>"+val+"</td>";html+="<td></td>";html+="</tr>";tbody.append(html);var note="<div class='table-note'></div>";sectionCont.append(note);addToCitiLoadCount()})})};loadTable()};var ids={normal:[9609451]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popTaxFromResidentsAB=function(table,sectionCont){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var tbody=$("<tbody />");tbody.attr("id","overview-demo");table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var ninds=indsObj.nationalArr;var periods=[2010];var place=that.o.place;var aggs=that.o.counties;var loadTable=function(cubes){var cube10=new PCube(inds,aggs,periods);cube10.loadValues(function(values){this.values=values;var cubeNation=new PCube(inds,[that.o.nation],periods);cubeNation.loadValues(function(values){this.values=values;var districtCube10=cube10;var html="";html+="<tr>";html+="<th></th>";html+="<th colspan='3'>"+that.typeLabel+"<br />2010</th>";html+="</tr>";html+="<tr class='new-section-header sub-header'>";html+="<td class='section-title'></td>";html+="<td></td>";html+="<td>$</td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var year=2010;var label="Tax from Residents";html+="<td class='label'>"+label+"</td>";var ind=indsO.aggragi_net;var sum=getSumOfPlacesIgnoreNulls(districtCube10,ind,year);var val=PWebUtil.formatNumber(sum,ind.unit);html+="<td></td>";html+="<td>"+val+"</td>";html+="<td></td>";html+="</tr>";tbody.append(html);addToCitiLoadCount()})},{includeMappings:true})};loadTable()};var ids={normal:[9887201]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popEducationAB=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");sectionCont.attr("id","summary-education-ab");this.container.append(sectionCont);var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var table=$("<table />");table.addClass("citi-summary-table");var tbody=$("<tbody />");tbody.attr("id","overview-education");table.append(tbody);sectionCont.append('<div style="page-break-before: always;"></div>');sectionCont.append(table);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var ninds=indsObj.nationalArr;var periods=[P.constants.latestACSPeriod];var place=that.o.place;var aggs10=[place];var loadTable=function(cubes){var cube10=new PCube(inds,aggs10,periods);cube10.loadValues(function(values){this.values=values;var cubeNation=new PCube(inds,[that.o.nation],periods);cubeNation.loadValues(function(values){this.values=values;var districtCube10=cube10;var year=this.periods[0];var html="";html+="<tr>";html+="<th></th>";html+="<th colspan='3'>"+that.typeLabel+"<br />2009-2013</th>";html+="<th colspan='3'>Nation<br />2009-2013</th>";html+="</tr>";html+="<tr class='new-section-header sub-header'>";html+="<td class='section-title'>Education By Race</td>";html+="<td>#</td>";html+="<td>%</td>";html+="<td></td>";html+="<td>#</td>";html+="<td>%</td>";html+="<td></td>";html+="</tr>";var getEducationRow=function(indsCount,indsPerc,label){var h="";h="<tr>";h="<td class='sub-header-label'><b>"+label+"</b></td>";h+="<td></td>";h+="<td></td>";h+="<td></td>";h+="<td></td>";h+="<td></td>";h+="<td></td>";h+="</tr>";var indlabels=["Some High School, But No High School Diploma","High School Diploma","Bachelor's Degree"];for(var i=0;i<indlabels.length;i++){h+="<tr class='data-row'>";var ind=indsCount[i];h+="<td class='label'>"+indlabels[i]+"</td>";var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";var ind=indsPerc[i];var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";h+="<td>--</td>";var ind=indsCount[i];var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";var ind=indsPerc[i];var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";h+="<td>--</td>";h+="</tr>"}return h};html+=getEducationRow([indsO.csmhsnodipbk,indsO.chspbk,indsO.cbachpbk],[indsO.psmhsnodipbk,indsO.phspbk,indsO.pbachpbk],"Black");html+=getEducationRow([indsO.csmhsnodipwh,indsO.chspwh,indsO.cbachpwh],[indsO.psmhsnodipwh,indsO.phspwh,indsO.pbachpwh],"White");html+=getEducationRow([indsO.csmhsnodipas,indsO.chspas,indsO.cbachpas],[indsO.psmhsnodipas,indsO.phspas,indsO.pbachpas],"Asian");html+=getEducationRow([indsO.csmhsnodipnhpi,indsO.chspnhpi,indsO.cbachpnhpi],[indsO.psmhsnodipnhpi,indsO.phspnhpi,indsO.pbachpnhpi],"Native Hawaiian and Other Pacific Islander");html+=getEducationRow([indsO.csmhsnodipaian,indsO.chspaian,indsO.cbachpaian],[indsO.psmhsnodipaian,indsO.phspaian,indsO.pbachpaian],"American Indian and Alaskan Native");html+=getEducationRow([indsO.csmhsnodipoth,indsO.chspoth,indsO.cbachpoth],[indsO.psmhsnodipoth,indsO.phspoth,indsO.pbachpoth],"Some Other Race");html+=getEducationRow([indsO.csmhsnodiptwop,indsO.chsptwop,indsO.cbachptwop],[indsO.psmhsnodiptwop,indsO.phsptwop,indsO.pbachptwop],"Two or More Races");tbody.append(html);var aggs=that.o.counties;var agglist=getAggregatedPlaceNames(aggs);var note="<div class='table-note'>Notes: Demographic, citizenship, and education data  in this section come from the Census Bureau's American Community Survey rolling estimate for 2009-2013, by Congressional District and by state. Legal Permanent Resident data is from the Department of Homeland Security by state for 2013. Data on unemployment, employment and labor force is from the Bureau of Labor Statistics (BLS) for the latest month available.  The BLS data in this section includes the following "+aggs[0].getType().getPluralName().toLowerCase()+": "+agglist+".</div>";
sectionCont.append(note);addToCitiLoadCount()})})};loadTable()};var ids={normal:[9922350,9922355,9922349,9922352,9922348,9922353,9922354,9922342,9922347,9922341,9922344,9922340,9922345,9922346,9922334,9922339,9922333,9922336,9922332,9922337,9922338,9922326,9922331,9922325,9922328,9922324,9922329,9922330,9922311,9922323,9922310,9922320,9922309,9922321,9922322,9922302,9922314,9922301,9922304,9922300,9922312,9922313]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popEmploymentAB=function(table,sectionCont){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var tbody=$("<tbody />");tbody.attr("id","overview-employment");var html="<tr>";html+="<th>Employment</th>";html+="<th colspan='3'>"+this.typeLabel+"</th>";if(!isState){html+="<th colspan='3'>State</th>"}html+="</tr>";tbody.append(html);table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var pers=inds[0].getPeriods();var periods=[pers[12],pers[0]];var aggs=that.o.counties;if(that.o.place.getType()!=PPlaceType.CONGRESSIONAL){aggs=[that.o.place]}var cube1=new PCube(inds,aggs,periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(inds,[that.o.state],periods);cube2.loadValues(function(statevalues){this.values=statevalues;var html="";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";if(!isState){var len=2}else{var len=1}for(var i=0;i<len;i++){html+="<td>"+formatMonthlyPeriod(periods[0])+"</td>";html+="<td>"+formatMonthlyPeriod(periods[1])+"</td>";html+="<td>% change from prev year</td>"}html+="<tr class='data-row'>";var ind=inds[0];var label="Employed People";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var sum2=getSumOfPlaces(cube1,ind,periods[1]);var val=PWebUtil.formatNumber(sum2,ind.unit);html+="<td>"+val+"</td>";var change=PWebUtil.formatNumber(divideCheck(sum2-sum1,sum1,100),"_%");html+="<td>"+change+"</td>";if(!isState){var sum1=getSumOfPlaces(cube2,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var sum2=getSumOfPlaces(cube2,ind,periods[1]);var val=PWebUtil.formatNumber(sum2,ind.unit);html+="<td>"+val+"</td>";var change=PWebUtil.formatNumber(divideCheck(sum2-sum1,sum1,100),"_%");html+="<td>"+change+"</td>";html+="</tr>"}html+="<tr class='data-row'>";var ind1=inds[0];var ind2=inds[1];var label="Percent Employed";html+="<td class='label'>"+label+"</td>";var sum1=divideCheck(getSumOfPlaces(cube1,ind1,periods[0]),getSumOfPlaces(cube1,ind2,periods[0]),100);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var sum2=divideCheck(getSumOfPlaces(cube1,ind1,periods[1]),getSumOfPlaces(cube1,ind2,periods[1]),100);var val=PWebUtil.formatNumber(sum2,"_%");html+="<td>"+val+"</td>";var change="--";html+="<td>"+change+"</td>";if(!isState){var sum1=getSumOfPlaces(cube2,ind1,periods[0])/getSumOfPlaces(cube2,ind2,periods[0])*100;var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var sum2=getSumOfPlaces(cube2,ind1,periods[1])/getSumOfPlaces(cube2,ind2,periods[1])*100;var val=PWebUtil.formatNumber(sum2,"_%");html+="<td>"+val+"</td>";var change="--";html+="<td>"+change+"</td>";html+="</tr>"}html+="<tr class='data-row'>";var ind=inds[1];var label="Labor Force";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var sum2=getSumOfPlaces(cube1,ind,periods[1]);var val=PWebUtil.formatNumber(sum2,ind.unit);html+="<td>"+val+"</td>";var change=PWebUtil.formatNumber(divideCheck(sum2-sum1,sum1,100),"_%");html+="<td>"+change+"</td>";if(!isState){var sum1=getSumOfPlaces(cube2,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var sum2=getSumOfPlaces(cube2,ind,periods[1]);var val=PWebUtil.formatNumber(sum2,ind.unit);html+="<td>"+val+"</td>";var change=PWebUtil.formatNumber(divideCheck(sum2-sum1,sum1,100),"_%");html+="<td>"+change+"</td>";html+="</tr>"}html+="<tr class='data-row'>";var ind1=inds[2];var ind2=inds[1];var ind3=indsO.unemprate;var label="Unemployment Rate";html+="<td class='label'>"+label+"</td>";if(cube1.places[0].getType()==PPlaceType.STATE){var sum1=getSumOfPlaces(cube1,ind3,periods[0]);var sum2=getSumOfPlaces(cube1,ind3,periods[1])}else{var sum1=divideCheck(getSumOfPlaces(cube1,ind1,periods[0]),getSumOfPlaces(cube1,ind2,periods[0]),100);var sum2=divideCheck(getSumOfPlaces(cube1,ind1,periods[1]),getSumOfPlaces(cube1,ind2,periods[1]),100)}var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var val=PWebUtil.formatNumber(sum2,"_%");html+="<td>"+val+"</td>";var change="--";html+="<td>"+change+"</td>";if(!isState){var sum1=getSumOfPlaces(cube2,ind3,periods[0]);var sum2=getSumOfPlaces(cube2,ind3,periods[1]);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";var val=PWebUtil.formatNumber(sum2,"_%");html+="<td>"+val+"</td>";var change="--";html+="<td>"+change+"</td>";html+="</tr>"}tbody.append(html);addToCitiLoadCount()})},{includeMappings:true})};var ids={normal:[9841108,9841101,9841100,9841103]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popIncomeAndBenefitsAB=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");this.container.append(sectionCont);var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var table=$("<table />");table.addClass("citi-summary-table");table.attr("id","summary-income-benefits");var tbody=$("<tbody />");var html="";html+="<tr><th>FINANCES AND INSURANCE</th>";html+="<th colspan='2'>"+this.typeLabel+"<br />2009-2013</th>";html+="<th colspan='2'>Nation<br />2009-2013</th>";html+="</tr>";tbody.append(html);table.append(tbody);sectionCont.append('<div style="page-break-before: always;"></div>');sectionCont.append(table);sectionCont.attr("id","summary-finance-ab");this.popIncomeAB(table,sectionCont);var self=this;this.o.state.getPlacesWithin(PPlaceType.CONGRESSIONAL,null,null,function(state_congs){self.popEITCAB(table,sectionCont,state_congs);self.popHealthcareAB(table,sectionCont)},50,null,null,null,"id,identifier,label,typeid,state")};CitiSummaryTables.prototype.popIncomeAB=function(table,sectionCont){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var tbody=$("<tbody />");var html="";tbody.append(html);table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var ninds=indsObj.nationalArr;var acsYear=P.constants.latestACSPeriod;var periods=[acsYear];var place=that.o.place;var aggs10=[place];var loadTable=function(cubes){var cube10=new PCube(inds,aggs10,periods);cube10.loadValues(function(values){this.values=values;var cubeNation=new PCube(inds,[that.o.nation],[2e3,acsYear]);cubeNation.loadValues(function(values){this.values=values;var districtCube10=cube10;var year=acsYear;var html="";html+="<tr class='new-section-header sub-header'>";html+="<td class='section-title'></td>";html+="<td>$</td>";html+="<td>% change from 2000</td>";html+="<td>$</td>";html+="<td>% change from 2000</td>";html+="</tr>";var getRow=function(ind,label){var h="";h+="<tr class='data-row'>";h+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";h+="<td>--</td>";var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";var sum2=getSumOfPlacesIgnoreNulls(cubeNation,ind,2e3);if(sum2){var val=PWebUtil.formatNumber(divideCheck(sum1-sum2,sum2,100),"_%")}else{val="--"}h+="<td>"+val+"</td>";h+="</tr>";return h};html+=getRow(indsO.apci,"Per Capita Income");html+="<tr>";html+="<td class='sub-header-label'><b>Per Capita Income by Race</b></td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="</tr>";html+=getRow(indsO.apcibk,"Black");html+=getRow(indsO.apciwh,"White");html+=getRow(indsO.apcias,"Asian");html+=getRow(indsO.apcinhpi,"Native Hawaiian and Other Pacific Islander");html+=getRow(indsO.apciaian,"American Indian and Alaskan Native");html+=getRow(indsO.apcioth,"Some Other Race");html+=getRow(indsO.apcitwop,"Two or More Races");html+=getRow(indsO.mhhinc,"Household Income");html+="<tr>";html+="<td class='sub-header-label'><b>Household Income by Race</b></td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="</tr>";html+=getRow(indsO.mhhincbk,"Black");html+=getRow(indsO.mhhincwh,"White");html+=getRow(indsO.mhhincas,"Asian");html+=getRow(indsO.mhhincnhpi,"Native Hawaiian and Other Pacific Islander");html+=getRow(indsO.mhhincaian,"American Indian and Alaskan Native");html+=getRow(indsO.mhhincoth,"Some Other Race");html+=getRow(indsO.mhhinctwop,"Two or More Races");html+=getRow(indsO.mempseinc,"Self-Employed Worker Earnings");tbody.append(html);var note="<div class='table-note'></div>";sectionCont.append(note);addToCitiLoadCount()})})};loadTable()};var ids={normal:[9871924,9922252,9922257,9922251,9922254,9922250,9922255,9922256,9871831,9871811,9871972,9871802,9871948,9871838,9871953,9871905,9909557]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popHealthcareAB=function(table,sectionCont){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var tbody=$("<tbody />");var html="<tr>";html+="<th></th>";html+="<th colspan='2'>"+this.typeLabel+"<br />2009-2013</th>";html+="<th colspan='2'>Nation<br />2009-2013</th>";html+="</tr>";tbody.append(html);table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var ninds=indsObj.nationalArr;var periods=[P.constants.latestACSPeriod];var place=that.o.place;var aggs10=[place];var loadTable=function(cubes){var cube10=new PCube(inds,aggs10,periods);cube10.loadValues(function(values){this.values=values;var cubeNation=new PCube(inds,[that.o.nation],periods);cubeNation.loadValues(function(values){this.values=values;var districtCube10=cube10;var year=this.periods[0];var html="";html+="<tr class='new-section-header sub-header'>";html+="<td class='section-title'></td>";html+="<td>#</td>";html+="<td>%</td>";html+="<td>#</td>";html+="<td>%</td>";html+="</tr>";var getRow=function(ind1,ind2,label){var h="";h+="<tr class='data-row'>";h+="<td class='label'>"+label+"</td>";var ind=ind1;var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";var ind=ind2;var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";var ind=ind1;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";var ind=ind2;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";h+="</tr>";return h};html+=getRow(indsO.cpopwoins,indsO.ppopwoins,"Healthcare Uninsurance");html+="<tr>";html+="<td class='sub-header-label'><b>Healthcare Uninsurance by Race</b></td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="</tr>";html+=getRow(indsO.cpopbkwoins,indsO.ppopbkwoins,"Black");html+=getRow(indsO.cpopwhwoins,indsO.ppopwhwoins,"White");html+=getRow(indsO.cpopaswoins,indsO.ppopaswoins,"Asian");html+=getRow(indsO.cpopnhpiwoins,indsO.ppopnhpiwoins,"Native Hawaiian and Other Pacific Islander");html+=getRow(indsO.cpopaianwoins,indsO.ppopaianwoins,"American Indian and Alaskan Native");html+=getRow(indsO.cpopothwoins,indsO.ppopothwoins,"Some Other Race");html+=getRow(indsO.cpoptwopwoins,indsO.ppoptwopwoins,"Two or More Races");tbody.append(html);var note="<div class='table-note'>Notes: Per Capita Income, Household income, Self-Employed Worker Earnings, and Healthcare uninsurance data for Congressional Districts and states comes from the Census Bureau's American Community Survey (ACS) rolling estimates for 2009-2013. EITC Recipients information for 2012 is provided by the Brookings Institution for Congressional Districts and states.</div>";sectionCont.append(note);addToCitiLoadCount()})})};loadTable()};var ids={normal:[9921936,9922029,9921902,9921925,9921911,9922009,9922e3,9922013,9921998,9921923,9922031,9921949,9921956,9922023,9921992,9921943]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popHouseholdExpAB=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");sectionCont.attr("id","summary-householdexp-ab");this.container.append(sectionCont);var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var table=$("<table />");table.addClass("citi-summary-table");table.attr("id","summary-income-benefits");var tbody=$("<tbody />");var html="";html+="<tr><th>HOUSEHOLD EXPENDITURES</th>";html+="<th colspan='2'>"+this.typeLabel+"<br />2012</th>";html+="<th colspan='2'>Nation<br />2012</th>";html+="</tr>";tbody.append(html);table.append(tbody);sectionCont.append('<div style="page-break-before: always;"></div>');sectionCont.append(table);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var ninds=indsObj.nationalArr;var periods=[P.constants.latestACSPeriod,2012];var place=that.o.place;var aggs10=[place];if(place.getType()!=PPlaceType.STATE){aggs10=that.o.tracts10}var loadTable=function(cubes){var aggsCube=new PCube(inds,aggs10,periods);aggsCube.loadValues(function(values){this.values=values;var districtCube=new PCube(inds,[place],periods);districtCube.loadValues(function(values){this.values=values;var cubeNation=new PCube(inds,[that.o.nation],periods);cubeNation.loadValues(function(values){this.values=values;var year=this.periods[1];var html="";html+="<tr class='new-section-header sub-header'>";html+="<td class='section-title'></td>";html+="<td>%</td>";html+="<td>Average</td>";html+="<td>%</td>";html+="<td>Average</td>";html+="</tr>";var getRow=function(ind1,label){var h="";h+="<tr class='data-row'>";h+="<td class='label'>"+label+"</td>";var ind=ind1;var sum1=getSumOfPlacesIgnoreNulls(aggsCube,ind,year);var sum2=getSumOfPlacesIgnoreNulls(aggsCube,indsO.aggtotexp,year);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%");h+="<td>"+val+"</td>";var sum1=getSumOfPlacesIgnoreNulls(aggsCube,ind,year);var sum2=getSumOfPlacesIgnoreNulls(aggsCube,indsO.chh,P.constants.latestACSPeriod);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2),"$_",null,null,1);h+="<td>"+val+"</td>";var ind=ind1;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var sum2=getSumOfPlacesIgnoreNulls(cubeNation,indsO.aggtotexp,year);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%");h+="<td>"+val+"</td>";var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var sum2=getSumOfPlacesIgnoreNulls(cubeNation,indsO.chh,P.constants.latestACSPeriod);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2),"$_",null,null,1);h+="<td>"+val+"</td>";h+="</tr>";return h};html+=getRow(indsO.agghoustot,"Housing Expenditures");html+=getRow(indsO.aggtranstot,"Transportation Expenditures");html+=getRow(indsO.agghealthtot,"Healthcare Expentures");html+=getRow(indsO.aggfoodtot,"Food Expenditures");html+="<tr class='new-section-header'>";html+="<td></td>";html+="<td colspan='2'>"+that.typeLabel+"<br />2009-2013</td>";html+="<td colspan='2'>Nation<br />2009-2013</td>";html+="</tr>";html+="<tr class='data-row'>";html+="<td class='label'>Car Ownership (Cars per Household)</td>";var ind=indsO.avmv;html+="<td>--</td>";var sum1=getSumOfPlacesIgnoreNulls(districtCube,ind,P.constants.latestACSPeriod);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,P.constants.latestACSPeriod);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="</tr>";tbody.append(html);var note="<div class='table-note'>Notes: Consumer Expenditure Survey (CES) estimates were created by The Reinvestment Fund using the Bureau of Labor Statistics CES microdata and the Census' American Community Survey data.  TRF used a statistical modeling process to create estimates at the tract, county, city, state, and nation levels. The figures are geographic estimates and are not meant to directly reflect the CES data.  Car ownership data comes from the US Census' American Community Survey five-year estimates for 2009-2013 for Congressional Districts and states.</div>";sectionCont.append(note);addToCitiLoadCount()})})})};loadTable()};var ids={normal:[9869078,9921823,9921831,9921806,9921833,9873779,9921834,9873779]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popEITCAB=function(table,sectionCont,state_congs){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var tbody=$("<tbody />");var html="<tr>";html+="<th></th>";html+="<th colspan='2'>"+this.typeLabel+"<br />2012</th>";if(!isState){html+="<th colspan='2'>State<br />2012</th>"}html+="</tr>";tbody.append(html);table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var ninds=indsObj.nationalArr;var cindsO=indsObj.congsObj;var cinds=indsObj.congsArr;var periods=[2e3,2011];var place=that.o.place;var loadTable=function(cubes){var year12=2012;var year11=2011;var year00=2e3;var year10=2010;var type=PPlaceType.ZIP;if(isState){var type=PPlaceType.STATE}place.getPlacesWithin(type,1,null,function(aggs){if(isState){aggs=[that.o.state]}var cubeEITC=new PCube(inds,[place],[year12]);cubeEITC.loadValues(function(values){this.values=values;if(isState){var aggs=[that.o.state]}else{var aggs=that.o.counties}var cubeUninsured=new PCube(cinds,[place],[year12]);cubeUninsured.loadValues(function(values){this.values=values;var cubeStateCongs=new PCube(cinds,state_congs,[year12]);cubeStateCongs.loadValues(function(values){this.values=values;var cubeState=new PCube(inds,[that.o.state],[year00,year12]);cubeState.loadValues(function(values){this.values=values;var html="";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>$</td>";html+="<td>%</td>";if(!isState){html+="<td>$</td>";html+="<td>%</td>"}html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.avteic;var label="EITC Recipients";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(cubeEITC,ind,year12);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var sum1=getSumOfPlacesIgnoreNulls(cubeState,indsO.pteic,year12);var val=PWebUtil.formatNumber(sum1,"_%");html+="<td>"+val+"</td>";if(!isState){var ind=indsO.avteic;var sum1=getSumOfPlacesIgnoreNulls(cubeState,ind,year12);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.pteic;var sum1=getSumOfPlacesIgnoreNulls(cubeState,ind,year12);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>"}html+="</tr>";tbody.append(html);var agglist=getAggregatedPlaceNames(aggs);var t1="";var t2="";var t3="";if(!isState){t1=" as aggregated by census tracts that comprise this district";t2=" as aggregated by ZIP code";t3=" and contains the following counties that comprise the district: "+agglist}var note="<div class='table-note'></div>";sectionCont.append(note);addToCitiLoadCount()})})},{includeMappings:true})})},50,null,null,null,"id,identifier,label,typeid,state")};loadTable()};var ids={normal:[9896592,9896546,9896531,9896571,9628806,9896600],cong:[9915154,9915150,9915152]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popBankingAB=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");sectionCont.attr("id","summary-banking-ab");this.container.append(sectionCont);sectionCont.append('<div style="page-break-before: always;"><br><br><br><br><br><br></div>');var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var table=$("<table />");table.addClass("citi-summary-table");table.attr("id","summary-education");var html="<thead><tr>";html+="<th>BANKING INSTITUTIONS</th>";html+="<th colspan='2'>"+this.typeLabel+"</th>";html+="<th colspan='2'>Nation</th>";html+="</tr></thead>";table.append(html);sectionCont.append(table);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var ninds=indsObj.nationalArr;var periods=[2e3,2011];var place=that.o.place;var aggs00=[];var aggs10=[];if(place.getType()==PPlaceType.STATE){aggs00=[place]}else{aggs00=that.o.tracts00}var aggs10=[place];var loadTable=function(cubes){var year14=2014;var year12=2012;var year11=2011;var year09=2009;var state=that.o.state;var cubeStateWithCounties=new PCube([indsO.c_abo],that.o.st_counties,[year12]);cubeStateWithCounties.loadValues(function(values){this.values=values;var cubeState=new PCube(inds,[state],[year09,year12,year14]);cubeState.loadValues(function(values){this.values=values;var cubeBanks=new PCube(inds,[place],[year12,year14]);cubeBanks.loadValues(function(values){this.values=values;var busAggs=that.o.tracts10;if(place.getType()==PPlaceType.STATE){busAggs=that.o.st_counties}var cubeBusiness=new PCube(inds,busAggs,[year12]);cubeBusiness.loadValues(function(values){this.values=values;var cubeNation=new PCube(inds,[that.o.nation],[year11,year14]);cubeNation.loadValues(function(values){this.values=values;var set=new POverlaySet(128950);set.type="old";set.pinmax=0;place.getMarkersWithin(set,function(creditmarkers){var nation=that.o.nation;nation.getMarkersWithin(set,function(creditmarkers_nation){var set=new POverlaySet(123200);set.type="old";set.pinmax=0;place.getMarkersWithin(set,function(cdfimarkers){if(cdfimarkers[0]instanceof PMarker){var cdficount=cdfimarkers.length}else{var cdficount=cdfimarkers[0]}nation.getMarkersWithin(set,function(cdfimarkers_nation){if(cdfimarkers_nation[0]instanceof PMarker){var cdfinationcount=cdfimarkers_nation.length}else{var cdfinationcount=cdfimarkers_nation[0]}var html="<tbody>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>#</td>";html+="<td></td>";html+="<td>#</td>";html+="<td></td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.bbct;var label="Bank Branches";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(cubeBanks,ind,year14);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";var ind=indsO.bbct;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year14);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";html+="<tr class='data-row'>";var label="Credit Unions";html+="<td class='label'>"+label+"</td>";var val=PWebUtil.formatNumber(creditmarkers[0]);html+="<td>"+val+"</td>";html+="<td>--</td>";var val=PWebUtil.formatNumber(creditmarkers_nation[0]);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";html+="<tr class='data-row'>";var label="CDFIs";html+="<td class='label'>"+label+"</td>";var val=PWebUtil.formatNumber(cdficount);html+="<td>"+val+"</td>";html+="<td>--</td>";var num=924;var val=PWebUtil.formatNumber(num);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";html+="<tr class='new-section-header'>";html+="<td></td>";if(!isState){html+="<td colspan='2'>District</td>"}html+="<td colspan='2'>State</td>";html+="</tr>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";if(!isState){html+="<td>$</td>";html+="<td></td>"}html+="<td>$</td>";html+="<td>%</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.depsumbr;var label="Deposits at Bank Branches";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(cubeBanks,ind,year14);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td></td>";if(!isState){var ind=indsO.depsumbr;var sum1=getSumOfPlacesIgnoreNulls(cubeState,ind,year14);PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td></td>"}html+="</tr>";html+="<tr class='data-row'>";var label="Unbanked";html+="<td class='label'>"+label+"</td>";if(!isState){html+="<td>--</td>";html+="<td>--</td>"}var ind=indsO.un_final;var sum1=getSumOfPlacesIgnoreNulls(cubeState,ind,year09);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>--</td>";html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var label="Underbanked";html+="<td class='label'>"+label+"</td>";if(!isState){html+="<td>--</td>";html+="<td>--</td>"}var ind=indsO.under_final;var sum1=getSumOfPlacesIgnoreNulls(cubeState,ind,year09);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>--</td>";html+="<td>"+val+"</td>";html+="</tr>";html+="</tbody>";table.append(html);var note="<div class='table-note'>Notes: Bank branch information comes from the FDIC and is available as of 2014.  Data on credit unions is from the NCUA and was last updated in 2013.  CDFI location data is provided through the generosity of the Opportunity Finance Network.  Deposit information comes from the FDIC and is available as of 2014.  And Unbanked and Underbanked data is provided thanks to CFED and represents information from 2011.</div>";sectionCont.append(note);addToCitiLoadCount()})})})})})})})})})};loadTable()};var ids={normal:[9907200,9851007,9907206,9875155,9875156]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popHousingMarketAB=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");sectionCont.attr("id","summary-community-ab");this.container.append(sectionCont);var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var table=$("<table />");table.addClass("citi-summary-table");table.attr("id","summary-community");var html="<thead><tr>";html+="<th>HOUSING</th>";html+="<th colspan='2'>"+this.typeLabel+"<br />2009-2013</th>";html+="<th colspan='2'>Nation<br />2009-2013</th>";html+="</tr></thead>";table.append(html);sectionCont.append(table);this.popHomeownershipAB(table,sectionCont);var that=this;this.o.place.getPlacesWithin(PPlaceType.COUNTY_SUBDIVISION,null,null,function(subdivs){that.popRentAB(table,sectionCont,subdivs)},50,null,null,null,"id,identifier,label,typeid,state")};CitiSummaryTables.prototype.popHomeownershipAB=function(table,sectionCont){var tbody=$("<tbody />");tbody.attr("id","overview-demo");table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var ninds=indsObj.nationalArr;var cindsO=indsObj.congsObj;var cinds=indsObj.congsArr;var place=that.o.place;var periods=[P.constants.latestACSPeriod];var aggs10=[];if(place.getType()==PPlaceType.STATE){aggs10=[place]}else{aggs10=that.o.tracts10}var aggs10=[place];var loadTable=function(cubes){var cube10=new PCube(inds,aggs10,periods);cube10.loadValues(function(values){this.values=values;var nation=that.o.nation;var cubeNation=new PCube(inds,[nation],periods);cubeNation.loadValues(function(values){this.values=values;var districtCube10=cube10;var html="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>#</td>";html+="<td>%</td>";html+="<td>#</td>";html+="<td>%</td>";html+="</tr>";var year=periods[0];var getRow=function(ind1,ind2,label){var h="";h+="<tr class='data-row'>";h+="<td class='label'>"+label+"</td>";var ind=ind1;var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";var ind=ind2;var sum1=getSumOfPlacesIgnoreNulls(districtCube10,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";var ind=ind1;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";var ind=ind2;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);h+="<td>"+val+"</td>";h+="</tr>";return h};html+=getRow(indsO.chhoo,indsO.phhoo,"Homeownership Rate");html+="<tr>";html+="<td class='sub-header-label'><b>Homeownership by Race</b></td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="</tr>";html+=getRow(indsO.chhoobk,indsO.phhoobk,"Black");html+=getRow(indsO.chhoowh,indsO.phhoowh,"White");html+=getRow(indsO.chhooas,indsO.phhooas,"Asian");html+=getRow(indsO.chhoonhpi,indsO.phhoonhpi,"Native Hawaiian and Other Pacific Islander");html+=getRow(indsO.chhooaian,indsO.phhooaian,"American Indian and Alaskan Native");html+=getRow(indsO.chhoooth,indsO.phhoooth,"Some Other Race");html+=getRow(indsO.chhootwop,indsO.phhootwop,"Two or More Races");tbody.append(html);addToCitiLoadCount()})})};loadTable()};var ids={normal:[9873035,9873004,9873090,9873059,9873173,9873002,9873040,9873097,9873049,9873062,9873202,9873057,9873234,9873239,9873086,9873190]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popRentAB=function(table,sectionCont,subdivs){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var tbody=$("<tbody />");tbody.attr("id","overview-demo");table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var ninds=indsObj.nationalArr;var place=that.o.place;var acsYear=P.constants.latestACSPeriod;var periods=[acsYear];var aggs10=[];if(place.getType()==PPlaceType.STATE){aggs10=[place]}else{aggs10=that.o.tracts10}var loadTable=function(cubes){var cubeAggs=new PCube(inds,aggs10,periods);cubeAggs.loadValues(function(values){this.values=values;var cubePlace=new PCube(inds,[place],periods);cubePlace.loadValues(function(values){this.values=values;var year14=2014;var cubeCountySub=new PCube(inds,subdivs,[year14]);cubeCountySub.loadValues(function(values){this.values=values;var nation=that.o.nation;var cubeNation=new PCube(inds,[nation],periods);cubeNation.loadValues(function(values){this.values=values;var html="<tr>";var year=acsYear;var html="<tr class='new-section-header'>";html+="<td></td>";html+="<td colspan='2'>"+that.typeLabel+"<br />"+year+"</td>";html+="<td colspan='2'>Nation<br />"+year+"</td>";html+="</tr>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>$</td>";html+="<td>%</td>";html+="<td>$</td>";html+="<td>%</td>";html+="</tr>";html+="<tr class='data-row'>";html+="<td class='label'>Home Values</td>";var ind=indsO.mhv;var sum1=getSumOfPlacesIgnoreNulls(cubePlace,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";var ind=indsO.mhv;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";html+="<tr class='data-row'>";html+="<td class='label'>Mortgage Lending - All</td>";var ind=indsO.mo;if(isState){var sum1=getSumOfPlacesIgnoreNulls(cubeAggs,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit)}else{var arr=cubeAggs.getSortedValuesOfPlacesIgnoreNulls(ind,year);var v1=arr[0];var v2=arr[arr.length-1];var val=getRangeString(v1,v2,ind.unit)}html+="<td>"+val+"</td>";html+="<td>--</td>";var ind=indsO.mo;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";html+="<tr class='data-row'>";html+="<td class='label'>Mortgage Lending - Refinance</td>";var ind=indsO.mrfo;if(isState){var sum1=getSumOfPlacesIgnoreNulls(cubeAggs,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit)}else{var arr=cubeAggs.getSortedValuesOfPlacesIgnoreNulls(ind,year);var v1=arr[0];var v2=arr[arr.length-1];var val=getRangeString(v1,v2,ind.unit)}html+="<td>"+val+"</td>";html+="<td>--</td>";var ind=indsO.mrfo;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";html+="<tr class='data-row'>";html+="<td class='label'>Leveraged Homes</td>";var ind=indsO.mlevratio_o;html+="<td>--</td>";if(isState){var sum1=getSumOfPlacesIgnoreNulls(cubeAggs,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit)}else{var arr=cubeAggs.getSortedValuesOfPlacesIgnoreNulls(ind,year);var v1=arr[0];
var v2=arr[arr.length-1];var val=getRangeString(v1,v2,ind.unit)}html+="<td>"+val+"</td>";var ind=indsO.mlevratio_o;html+="<td>--</td>";var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";html+="<td class='label'>Rents</td>";var ind=indsO.mrent_acs;var sum1=getSumOfPlacesIgnoreNulls(cubePlace,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";var ind=indsO.mrent_acs;var sum1=getSumOfPlacesIgnoreNulls(cubeNation,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";html+="<td class='sub-header-label'><b>Rent by Bedroom Size</b></td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="<td></td>";html+="</tr>";var getRow=function(ind1,label){var h="";h+="<tr class='data-row'>";h+="<td class='label'>"+label+"</td>";var ind=ind1;var arr=cubeCountySub.getSortedValuesOfPlacesIgnoreNulls(ind,year14);var v1=arr[0];var v2=arr[arr.length-1];var val=getRangeString(v1,v2,ind.unit);h+="<td>"+val+"</td>";h+="<td>--</td>";h+="<td>--</td>";h+="<td>--</td>";h+="</tr>";return h};html+=getRow(indsO.fmr_0,"Efficiency");html+=getRow(indsO.fmr_1,"1 Bedroom");html+=getRow(indsO.fmr_2,"2 Bedroom");html+=getRow(indsO.fmr_3,"3 Bedroom");html+=getRow(indsO.fmr_4,"4 Bedroom");tbody.append(html);var subdivlist=getAggregatedPlaceNames(subdivs);var note="<div class='table-note' id='notebeforebanking'>Notes: Data for this area for home values, rents, and homeownership rates come from both the US Census' American Community Survey (ACS) five-year estimates for 2009-2013 and are provided at the Congressional District or state level.  Mortgage Lending is from the FFIEC's Home Mortgage Disclosure Act data from 2013 and is aggregated by census tracts that make up the district and is available by state. Leveraged Home information comes from The Reinvestment Fund's calculation of the FFIEC's Home Mortgage Disclosure Act data from 2012 comparing loan amount information and stated houshold income. Data for rents by bedroom size is from HUD's Fair Market Rents and is composed of the following county subdivisions: <a onclick='$(this).next().toggle()'>(see list)</a> <span style='display:none'> "+subdivlist+"</span> <br />Data for Low-Income Housing Tax Credits (LIHTC) is available from HUD and is as of 2012.</div>";sectionCont.append(note);addToCitiLoadCount()})})})})};loadTable()};var ids={normal:[9873606,9862509,9862079,9862671,9862509,9873661,9578710,9578719,9578720,9578723,9578714]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popSmallBusinessLendingED=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");sectionCont.attr("id","summary-small-business-lending-ed");this.container.append(sectionCont);var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var table=$("<table />");table.addClass("citi-summary-table");table.append(html);sectionCont.append(table);var tbody=$("<tbody />");tbody.attr("id","small-business-lending");var html="<tr>";html+="<th>SMALL BUSINESS LENDING ENVIRONMENT</th>";html+="<th colspan='3'>"+this.typeLabel+"<br />2013</th>";var compLabel="State";if(isState){compLabel="Nation"}html+="<th colspan='3'>"+compLabel+"<br />2013</th>";html+="</tr>";tbody.append(html);table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var periods=inds[0].getPeriods();var aggs=[that.o.place];var cube1=new PCube(inds,aggs,periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(inds,[that.o.state],periods);cube2.loadValues(function(statevalues){this.values=statevalues;var cubeStateWithCounties=new PCube(inds,that.o.st_counties,periods);cubeStateWithCounties.loadValues(function(statevalues){this.values=statevalues;var cubeNation=new PCube(inds,[that.o.nation],periods);cubeNation.loadValues(function(values){this.values=values;var aggs=that.o.tracts10;if(isState){aggs=[that.o.place]}var cubeTracts=new PCube(inds,aggs,periods);cubeTracts.loadValues(function(values){this.values=values;var aggs=that.o.counties;if(isState){aggs=[that.o.place]}var cubeCounties=new PCube(inds,aggs,periods);cubeCounties.loadValues(function(values){this.values=values;var html="";html+="<tr class='sub-header'>";html+="<td class=''>Small Business Administration (SBA) Loans</td>";var len=2;for(var i=0;i<len;i++){html+="<td>#</td>";html+="<td>$</td>";html+="<td>%</td>"}html+="<tr class='data-row'>";var ind=indsO.cloans;var label="Total";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.avgloanamt;var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var change="--";html+="<td>"+change+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cloans;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.avgloanamt;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var change="--";html+="<td>"+change+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.cloans_7a;var label="504 Loans";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.avgloanamt_7a;var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.ploans_7a;var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cloans_7a;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.avgloanamt_7a;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.ploans_7a;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.cloans_504;var label="Microloans";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.avgloanamt_504;var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.ploans_504;var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cloans_504;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.avgloanamt_504;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.ploans_504;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.cloans_micro;var label="Disaster Relief Loans";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.avgloanamt_micro;var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.ploans_micro;var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cloans_micro;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.avgloanamt_micro;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.ploans_micro;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.cloans_disrelief;var label="7A Loans";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.avgloanamt_disrelief;var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.ploans_disrelief;var sum1=getSumOfPlaces(cube1,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cloans_disrelief;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.avgloanamt_disrelief;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.ploans_disrelief;var sum1=getSumOfPlaces(c,ind,periods[0]);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="</tr>";html+="<tr>";html+="<th></th>";html+="<th colspan='3'>"+that.typeLabel+"<br />2012</th>";html+="<th colspan='3'>"+compLabel+"<br />2012</th>";html+="</tr>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";for(var i=0;i<len;i++){html+="<td>#</td>";html+="<td>$</td>";html+="<td></td>"}html+="</tr>";var cube=cubeTracts;if(isState){cube=cubeStateWithCounties}html+="<tr class='data-row'>";var ind=indsO.c_cbo;var label="CRA Small Business Average Loans";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(cube,ind,2012);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.c_aggbo;var sum2=getSumOfPlacesIgnoreNulls(cube,ind,2012);var val=PWebUtil.formatNumber(divideCheck(sum2,sum1),"$_");html+="<td>"+val+"</td>";html+="<td>--</td>";var c=cubeStateWithCounties;if(isState){c=cubeNation}var ind=indsO.c_cbo;if(isState){var val=PWebUtil.formatNumber(5036256)}else{var sum1=getSumOfPlacesIgnoreNulls(c,ind,2012);var val=PWebUtil.formatNumber(sum1,ind.unit)}html+="<td>"+val+"</td>";if(isState){var val=PWebUtil.formatNumber(39177.49,"$_")}else{var ind=indsO.c_aggbo;var sum2=getSumOfPlacesIgnoreNulls(c,ind,2012);var val=PWebUtil.formatNumber(divideCheck(sum2,sum1),"$_")}html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";var cube=cubeCounties;if(isState){cube=cube2}html+="<tr class='data-row'>";var ind=indsO.cbusfilings;var label="Business Bankruptcy Filings";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(cube,ind,2013);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="<td>--</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cbusfilings;var sum1=getSumOfPlacesIgnoreNulls(c,ind,2013);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="<td>--</td>";html+="</tr>";if(isState){var note="<div class='table-note'>Notes: Small Business Administration (SBA) loan data is from usaspending.gov and is available as of 2014.  Small Business Lending comes from the FFIEC's CRA program and is from 2012.  It is aggregated using the following counties: <a onclick='seeCitiBoundariesList(this)'>(see list)</a> <span style='display:none'>"+that.countieslist+"</span>.  Bankruptcy data comes from the U.S. Courts and is available as of 2013.</div>"}else{var note="<div class='table-note'>Notes: Small Business Administration (SBA) loan data is from usaspending.gov and is available as of 2014.  Small Business Lending comes from the FFIEC's CRA program and is from 2012.  It is aggregated by tract.  Bankruptcy data comes from the U.S. Courts and is aggregated from the following counties: <a onclick='seeCitiBoundariesList(this)'>(see list)</a> <span style='display:none'>"+that.countieslist+"</span>.</div>"}sectionCont.append(note);tbody.append(html);addToCitiLoadCount()})})})})})},{includeMappings:true})};var ids={normal:[9925323,9925327,9925331,9925330,9925322,9925304,9925303,9925325,9925324,9925315,9925307,9925301,9925320,9925317,9850995,9850982,9851007,9919001]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popSmallBusinessAndJobsSectionED=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");sectionCont.attr("id","summary-business-and-jobs-ed");this.container.append(sectionCont);var table=$("<table />");table.addClass("citi-summary-table");sectionCont.append(table);this.popSmallBusinessED(table,sectionCont);this.popSmallBusinessStartUpsED(table,sectionCont);this.popSmallBusinessJobsED(table,sectionCont);this.popSmallBusinessStartUpJobsED(table,sectionCont);this.popSmallBusinessBankruptcyED(table,sectionCont);this.popSmallBusinessEndNotesED(sectionCont)};CitiSummaryTables.prototype.popSmallBusinessBankruptcyED=function(table,sectionCont){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var tbody=$("<tbody />");tbody.attr("id","small-business-and-jobs");var html="<tr>";html+="<th></th>";html+="<th colspan='2'>"+this.typeLabel+"<br />2014</th>";var compLabel="State";if(isState){compLabel="Nation"}html+="<th colspan='2'>"+compLabel+"<br />2014</th>";html+="</tr>";tbody.append(html);table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var periods=inds[0].getPeriods();var aggs=[that.o.place];var cube2=new PCube(inds,[that.o.state],periods);cube2.loadValues(function(statevalues){this.values=statevalues;var cubeNation=new PCube(inds,[that.o.nation],periods);cubeNation.loadValues(function(values){this.values=values;var aggs=that.o.counties;if(isState){aggs=[that.o.place]}var cubeCounties=new PCube(inds,aggs,periods);cubeCounties.loadValues(function(values){this.values=values;var html="";html+="<tr class='sub-header'>";html+="<td class=''></td>";var len=2;for(var i=0;i<len;i++){html+="<td>#</td>";html+="<td>$</td>"}var year=this.periods[0];var cube=cubeCounties;if(isState){cube=cube2}html+="<tr class='data-row'>";var ind=indsO.cbusfilings;var label="Business Bankruptcy Filings";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(cube,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cbusfilings;var sum1=getSumOfPlacesIgnoreNulls(c,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";var note="";sectionCont.append(note);tbody.append(html);addToCitiLoadCount()})})})};var ids={normal:[9919001]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popSmallBusinessED=function(table,sectionCont){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var tbody=$("<tbody />");tbody.attr("id","small-business-and-jobs");var html="<tr>";html+="<th>SMALL BUSINESSES AND JOBS</th>";html+="<th colspan='2'>"+this.typeLabel+"<br />2013</th>";var compLabel="State";if(isState){compLabel="Nation"}html+="<th colspan='2'>"+compLabel+"<br />2013</th>";html+="</tr>";tbody.append(html);table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var periods=inds[0].getPeriods();var aggs=that.o.zips;if(isState){aggs=[that.o.place]}var cube1=new PCube(inds,aggs,periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(inds,[that.o.state],periods);cube2.loadValues(function(statevalues){this.values=statevalues;var cubeNation=new PCube(inds,[that.o.nation],periods);cubeNation.loadValues(function(values){this.values=values;var html="";html+="<tr class='sub-header'>";html+="<td>Small Businesses</td>";var len=2;for(var i=0;i<len;i++){html+="<td>#</td>";html+="<td>%</td>"}var year=this.periods[0];html+="<tr class='data-row'>";var ind=indsO.n1_499;var label="Establishments with <500 Employees";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.n1_499;var sum1=getSumOfPlacesIgnoreNulls(c,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.n250_499;var label="Establishments with 250-499 Employees";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.n250_499;var sum1=getSumOfPlacesIgnoreNulls(c,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.n50_249;var label="Establishments with 50-249 Employees";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.n50_249;var sum1=getSumOfPlacesIgnoreNulls(c,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.n20_49;var label="Establishments with 20-49 Employees";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.n20_49;var sum1=getSumOfPlacesIgnoreNulls(c,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.n1_19;var label="Establishments with <20 Employees";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.n1_19;var sum1=getSumOfPlacesIgnoreNulls(c,ind,year);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="<td>--</td>";html+="</tr>";tbody.append(html);addToCitiLoadCount()})})})};var ids={normal:[9924901,9935771,9935770,9935769,9924907]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popSmallBusinessStartUpsED=function(table,sectionCont){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var tbody=$("<tbody />");tbody.attr("id","small-business-and-jobs");var html="<tr>";html+="<th class='blank'></th>";html+="<th colspan='2'>"+this.typeLabel+"<br />2012</th>";var compLabel="State";if(isState){compLabel="Nation"}html+="<th colspan='2'>"+compLabel+"<br />2012</th>";html+="</tr>";tbody.append(html);table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var periods=inds[0].getPeriods();var aggs=that.o.cbsas;if(isState){aggs=[that.o.place]}var cube1=new PCube(inds,aggs,periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(inds,[that.o.state],periods);cube2.loadValues(function(statevalues){this.values=statevalues;var cubeNation=new PCube(inds,[that.o.nation],periods);cubeNation.loadValues(function(values){this.values=values;var html="";html+="<tr class='sub-header'>";html+='<td>Small Business "Start-ups"</td>';var len=2;for(var i=0;i<len;i++){html+="<td>#</td>";html+="<td>%</td>"}var latestyear=periods[0];html+="<tr class='data-row'>";var ind=indsO.firms_slt500_alt1;var label="Businesses with <500 Employees, < 1 Year Old";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,latestyear);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";if(isState||aggs.length==1){var ind=indsO.pslt500firms_slt500_alt1;var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,latestyear);var val=PWebUtil.formatNumber(sum1,ind.unit)}else{var ind=indsO.firms_slt500_atot;var sum2=getSumOfPlacesIgnoreNulls(cube1,ind,latestyear);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%")}html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.firms_slt500_alt1;var sum1=getSumOfPlacesIgnoreNulls(c,ind,latestyear);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.pslt500firms_slt500_alt1;var sum1=getSumOfPlacesIgnoreNulls(c,ind,latestyear);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.firms_slt500_alt3;var label="Businesses with <500 Employees, < 3 Year Old";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,latestyear);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";if(isState||aggs.length==1){var ind=indsO.pslt500firms_slt500_alt3;var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,latestyear);var val=PWebUtil.formatNumber(sum1,ind.unit)}else{var ind=indsO.firms_slt500_atot;var sum2=getSumOfPlacesIgnoreNulls(cube1,ind,latestyear);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%")}html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.firms_slt500_alt3;var sum1=getSumOfPlacesIgnoreNulls(c,ind,latestyear);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.pslt500firms_slt500_alt3;var sum1=getSumOfPlacesIgnoreNulls(c,ind,latestyear);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.firms_slt500_alt5;var label="Businesses with <500 Employees, < 5 Year Old";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,latestyear);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";if(isState||aggs.length==1){var ind=indsO.pslt500firms_slt500_alt5;var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,latestyear);var val=PWebUtil.formatNumber(sum1,ind.unit)}else{var ind=indsO.firms_slt500_atot;var sum2=getSumOfPlacesIgnoreNulls(cube1,ind,latestyear);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%")}html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.firms_slt500_alt5;var sum1=getSumOfPlacesIgnoreNulls(c,ind,latestyear);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.pslt500firms_slt500_alt5;var sum1=getSumOfPlacesIgnoreNulls(c,ind,latestyear);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="</tr>";tbody.append(html);addToCitiLoadCount()})})})};var ids={normal:[9925117,9925103,9925107,9925104,9925053,9925051,9925055,9925074,9925079,9925076,9925096,9925093,9925091,9925097,9925100,9925102,9925113,9925111,9925109,9925114,9925112,9925110,9925092,9925095,9925090]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popSmallBusinessJobsED=function(table,sectionCont){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var tbody=$("<tbody />");tbody.attr("id","small-business-and-jobs");var html="<tr>";html+="<th class='blank'></th>";html+="<th colspan='2'>"+this.typeLabel+"<br />2011</th>";var compLabel="State";if(isState){compLabel="Nation"}html+="<th colspan='2'>"+compLabel+"<br />2011</th>";html+="</tr>";tbody.append(html);table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var periods=inds[0].getPeriods();var aggs=that.o.tracts10;if(isState){aggs=[that.o.place]}var cube1=new PCube(inds,aggs,periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(inds,[that.o.state],periods);cube2.loadValues(function(statevalues){this.values=statevalues;var cubeNation=new PCube(inds,that.o.nationStates,periods);cubeNation.loadValues(function(values){this.values=values;var html="";html+="<tr class='sub-header'>";html+="<td>Small Business Jobs</td>";var len=2;for(var i=0;i<len;i++){html+="<td>#</td>";html+="<td>%</td>"}html+="<tr class='data-row'>";var ind=indsO.cw_privjobs_fs_500p;var label="Jobs with Larger Businesses (>500 Employees)";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.cw_privjobs_fs_uni;var sum2=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%");html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cw_privjobs_fs_500p;var sum1=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.cw_privjobs_fs_uni;var sum2=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.cw_privjobs_fs_250499;var label="Jobs with Small Businesses (250-499 Employees)";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.cw_privjobs_fs_uni;var sum2=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%");html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cw_privjobs_fs_250499;var sum1=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.cw_privjobs_fs_uni;var sum2=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.cw_privjobs_fs_50249;var label="Jobs with Small Businesses (50-249 Employees)";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.cw_privjobs_fs_uni;var sum2=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%");html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cw_privjobs_fs_50249;var sum1=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.cw_privjobs_fs_uni;var sum2=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.cw_privjobs_fs_2049;var label="Jobs with Small Businesses (20-49 Employees)";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.cw_privjobs_fs_uni;var sum2=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%");html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cw_privjobs_fs_2049;var sum1=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.cw_privjobs_fs_uni;var sum2=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%");html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.cw_privjobs_fs_lt20;var label="Jobs with Small Businesses (<20 Employees)";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.cw_privjobs_fs_uni;var sum2=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%");html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cw_privjobs_fs_lt20;var sum1=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var ind=indsO.cw_privjobs_fs_uni;var sum2=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%");html+="<td>"+val+"</td>";html+="</tr>";tbody.append(html);addToCitiLoadCount()})})})};var ids={normal:[9923056,9923067,9923073,9923057,9923065,9923050]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popSmallBusinessStartUpJobsED=function(table,sectionCont){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var tbody=$("<tbody />");table.append(tbody);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var periods=inds[0].getPeriods();var aggs=that.o.tracts10;if(isState){aggs=[that.o.place]}var cube1=new PCube(inds,aggs,periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(inds,[that.o.state],periods);cube2.loadValues(function(statevalues){this.values=statevalues;var cubeNation=new PCube(inds,that.o.nationStates,periods);cubeNation.loadValues(function(values){this.values=values;var html="";html+="<tr class='sub-header'>";html+='<td>"Start-up" Jobs</td>';var len=2;for(var i=0;i<len;i++){html+="<td>#</td>";html+="<td>%</td>"}html+="<tr class='data-row'>";var ind=indsO.cw_privjobs_fa_lt1;var label="Jobs with Businesses < 1 Year Old";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";if(isState||aggs.length==1){var ind=indsO.pw_privjobs_fa_lt1;var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit)}else{var ind=indsO.cw_privjobs_fa_uni;var sum2=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%")}html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cw_privjobs_fa_lt1;var sum1=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";if(isState){var ind=indsO.cw_privjobs_fa_uni;var sum2=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%")}else{var ind=indsO.pw_privjobs_fa_lt1;var sum1=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit)}html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.cw_privjobs_fa_lt3;var label="Jobs with Businesses < 3 Year Old";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";if(isState||aggs.length==1){var ind=indsO.pw_privjobs_fa_lt3;var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit)}else{var ind=indsO.cw_privjobs_fa_uni;var sum2=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%")}html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cw_privjobs_fa_lt3;var sum1=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";if(isState){var ind=indsO.cw_privjobs_fa_uni;var sum2=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%")}else{var ind=indsO.pw_privjobs_fa_lt3;var sum1=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit)}html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.cw_privjobs_fa_lt5;var label="Jobs with Businesses < 5 Year Old";html+="<td class='label'><b>"+label+"</b></td>";var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,2011);
var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";if(isState||aggs.length==1){var ind=indsO.pw_privjobs_fa_lt5;var sum1=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit)}else{var ind=indsO.cw_privjobs_fa_uni;var sum2=getSumOfPlacesIgnoreNulls(cube1,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%")}html+="<td>"+val+"</td>";var c=cube2;if(isState){c=cubeNation}var ind=indsO.cw_privjobs_fa_lt5;var sum1=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";if(isState){var ind=indsO.cw_privjobs_fa_uni;var sum2=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(divideCheck(sum1,sum2,100),"_%")}else{var ind=indsO.pw_privjobs_fa_lt5;var sum1=getSumOfPlacesIgnoreNulls(c,ind,2011);var val=PWebUtil.formatNumber(sum1,ind.unit)}html+="<td>"+val+"</td>";html+="</tr>";tbody.append(html);addToCitiLoadCount()})})})};var ids={normal:[9923053,9923080,9923059,9923081,9923055,9923074,9923061]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popSmallBusinessDevelopmentResourcesED=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");sectionCont.attr("id","summary-small-business-development-resources-ed");this.container.append(sectionCont);var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var table=$("<table />");table.addClass("citi-summary-table");table.append(html);sectionCont.append(table);var tbody=$("<tbody />");tbody.attr("id","small-business-lending");var html="<tr>";html+="<th>SMALL BUSINESS DEVELOPMENT RESOURCES</th>";html+="<th colspan='1'>"+this.typeLabel+"<br />2014</th>";var compLabel="State";if(isState){compLabel="Nation"}html+="<th colspan='1'>"+compLabel+"<br />2014</th>";html+="</tr>";tbody.append(html);table.append(tbody);var that=this;var html="";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";var len=2;for(var i=0;i<len;i++){html+="<td>#</td>"}html+="</tr>";var sets=[];var s=new POverlaySet(142300);s.label="SBA Offices and Branch Locations";s.type="old";s.pinmax=0;s.nationcount=117;sets.push(s);var s=new POverlaySet(138250);s.label="SBA Small Business Development Centers";s.type="old";s.pinmax=0;s.nationcount=774;sets.push(s);var s=new POverlaySet(142200);s.label="Business Incubators";s.type="old";s.pinmax=0;s.nationcount=531;sets.push(s);var s=new POverlaySet(141850);s.label="SBA Women's Business Centers";s.type="old";s.pinmax=0;s.nationcount=62;sets.push(s);var s=new POverlaySet(142700);s.label="Minority Business Development Agency";s.type="old";s.pinmax=0;s.nationcount=44;sets.push(s);var place=that.o.place;var gettingStateData=false;var counts=[];var index=0;var getMarkers=function(index,gettingStateData){if(!isState&&gettingStateData&&place.id!=that.o.state.id){index=0;place=that.o.state}var s=sets[index];place.getMarkersWithin(s,function(markers){var c=null;if(markers[0]instanceof PMarker){c=markers.length}else{c=markers}if(gettingStateData){s.statecount=c}else{s.count=c}var f=function(){var html="";for(var i=0;i<sets.length;i++){var s=sets[i];html+="<tr class='data-row'>";html+="<td>"+s.label+"</td>";html+="<td>"+PWebUtil.formatNumber(s.count)+"</td>";if(!isState){html+="<td>"+PWebUtil.formatNumber(s.statecount)+"</td>"}else{html+="<td>"+PWebUtil.formatNumber(s.nationcount)+"</td>"}html+="</tr>"}var note="<div class='table-note'>Notes: Data on SBA offices and branch locations,Small Business Development Centers and Women's Business Centers come from the Small Business Association and is available as of 2014. Business Incubators data comes from the National Business Incubation Association and is also available as of 2014.  Minority Business Development Agency data comes from the Minority Business Development Agency Business Center of the U.S. Department of Commerce and is available as of 2014.</div>";sectionCont.append(note);tbody.append(html);addToCitiLoadCount()};if(!isState&&!gettingStateData&&index==sets.length-1){gettingStateData=true}else if(index==sets.length-1){f();return}index++;getMarkers(index,gettingStateData)})};getMarkers(0)};CitiSummaryTables.prototype.popBankingED=function(){var sectionCont=$("<div />");sectionCont.addClass("summary-section");sectionCont.attr("id","summary-banking-ed");sectionCont.append('<div style="page-break-before: always;"></div>');this.container.append(sectionCont);var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var table=$("<table />");table.addClass("citi-summary-table");table.attr("id","summary-education");var html="<thead><tr>";html+="<th>BANKING INSTITUTIONS</th>";html+="<th colspan='1'>"+this.typeLabel+"</th>";var compLabel="State";if(isState){compLabel="Nation"}html+="<th colspan='1'>"+compLabel+"</th>";html+="</tr></thead>";table.append(html);sectionCont.append(table);var that=this;var callback=function(indsObj){var inds=indsObj.normalArr;var indsO=indsObj.normalObj;var ninds=indsObj.nationalArr;var periods=[2e3,2011];var place=that.o.place;var aggs00=[];var aggs10=[];if(place.getType()==PPlaceType.STATE){aggs00=[place]}else{aggs00=that.o.tracts00}var aggs10=[place];var loadTable=function(cubes){var year14=2014;var year12=2012;var year11=2011;var year09=2009;var cubeDistrict=new PCube(inds,aggs00,[year11]);cubeDistrict.loadValues(function(values){this.values=values;var state=that.o.state;var cubeState=new PCube(inds,[state],[year09,year11,year12,year14]);cubeState.loadValues(function(values){this.values=values;var cubeBanks=new PCube(inds,[place],[year12,year14]);cubeBanks.loadValues(function(values){this.values=values;var cubeNationStates=new PCube(inds,that.o.nationStates,[year11]);cubeNationStates.loadValues(function(values){this.values=values;var cubeNation=new PCube(inds,[that.o.nation],[year11,year14]);cubeNation.loadValues(function(values){this.values=values;var set=new POverlaySet(128950);set.type="old";set.pinmax=0;place.getMarkersWithin(set,function(creditmarkers){var nation=that.o.nation;var contPlace=state;if(isState){contPlace=nation}contPlace.getMarkersWithin(set,function(creditmarkers_cont){var set=new POverlaySet(142350);set.type="old";set.pinmax=0;place.getMarkersWithin(set,function(micromarkers){if(micromarkers[0]instanceof PMarker){var microcount=micromarkers.length}else{var microcount=micromarkers[0]}contPlace.getMarkersWithin(set,function(micromarkers_cont){if(micromarkers_cont[0]instanceof PMarker){var microcontcount=micromarkers_cont.length}else{var microcontcount=micromarkers_cont[0]}var set=new POverlaySet(123200);set.type="old";set.pinmax=0;place.getMarkersWithin(set,function(cdfimarkers){if(cdfimarkers[0]instanceof PMarker){var cdficount=cdfimarkers.length}else{var cdficount=cdfimarkers[0]}contPlace.getMarkersWithin(set,function(cdfimarkers_cont){if(micromarkers_cont[0]instanceof PMarker){var cdficount_cont=cdfimarkers_cont.length}else{var cdficount_cont=cdfimarkers_cont[0]}var html="<tbody>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>#</td>";html+="<td>#</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.bbct;var label="Bank Branches";html+="<td class='label'>"+label+"</td>";var sum1=getSumOfPlacesIgnoreNulls(cubeBanks,ind,year14);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";var c=cubeState;if(isState){c=cubeNation}var ind=indsO.bbct;var sum1=getSumOfPlacesIgnoreNulls(c,ind,year14);var val=PWebUtil.formatNumber(sum1,ind.unit);html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var label="Credit Unions";html+="<td class='label'>"+label+"</td>";var val=PWebUtil.formatNumber(creditmarkers[0]);html+="<td>"+val+"</td>";var val=PWebUtil.formatNumber(creditmarkers_cont[0]);html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var label="Community Development Financial Institutions";html+="<td class='label'>"+label+"</td>";var val=PWebUtil.formatNumber(cdficount);html+="<td>"+val+"</td>";var val=PWebUtil.formatNumber(cdficount_cont);html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='data-row'>";var label="Microlenders";html+="<td class='label'>"+label+"</td>";var val=PWebUtil.formatNumber(microcount);html+="<td>"+val+"</td>";var num=microcontcount;var val=PWebUtil.formatNumber(num);html+="<td>"+val+"</td>";html+="</tr>";html+="<tr class='new-section-header'>";html+="<td></td>";html+="<td colspan='1'>"+that.typeLabel+"<br />2011</td>";html+="<td colspan='1'>Nation<br />2011</td>";html+="</tr>";html+="<tr class='sub-header'>";html+="<td class='blank'></td>";html+="<td>#</td>";html+="<td>#</td>";html+="</tr>";html+="<tr class='data-row'>";var ind=indsO.totcdecount;var label="Community Development Entities";html+="<td class='label'>"+label+"</td>";if(isState){cubeDistrict=cubeState}var val=PWebUtil.formatNumber(getSumOfPlacesIgnoreNulls(cubeDistrict,ind,year11));html+="<td>"+val+"</td>";var ind=indsO.totcdecount;var val=PWebUtil.formatNumber(getSumOfPlacesIgnoreNulls(cubeNationStates,ind,year11));html+="<td>"+val+"</td>";html+="</tr>";var aggs=that.o.tracts00;var tractslist="";for(var i=0;i<aggs.length;i++){tractslist+=aggs[i].getLabel()+", "}html+="</tbody>";table.append(html);var note="<div class='table-note'>Notes: Small Business Administration (SBA) loan data is from usaspending.gov and is available as of 2014.  Small Business Lending data comes from the Federal Financial Institutions Examination Council (FFIEC)'s CRA program and is from 2012.  It is aggregated using the following counties <a onclick='seeCitiBoundariesList(this)'>(see list)</a> <span style='display:none'>"+that.countieslist+"</span>. Data on credit unions is from the National Credit Union Adminstration (NCUA) and was last updated in 2013.  CDFI location data is provided through the generosity of the Opportunity Finance Network.  Microlender data comes from the SBA and is available as of 2014.  Community Development Entities data from the CDFI Fund and is available as of 2011";if(!isState){note+=" and is aggregated from the following Census tracts: <a onclick='seeCitiBoundariesList(this)'>(see list)</a> <span style='display:none'>"+that.tracts00list+"</span>.</div>"}else{note+="."}sectionCont.append(note);addToCitiLoadCount()})})})})})})})})})})})};loadTable()};var ids={normal:[9907200,9851007,9907206,9875155,9875156,9914666]};this.loadInds(ids,callback)};CitiSummaryTables.prototype.popSmallBusinessEndNotesED=function(c){var isState=false;if(this.o.place.getType()==PPlaceType.STATE){isState=true}var note="<div class='table-note'>Notes: Small Business establishments data comes from Census County Business Patterns is available as of 2013 and is aggregated from the following zip codes: <a onclick='seeCitiBoundariesList(this)'>(see list)</a> <span style='display:none'>"+this.zipslist+"</span>.  Small business startups data is available from Census Business Dynamics Statistics for 2012 and is provided for this CBSA: <a onclick='seeCitiBoundariesList(this)'>(see list)</a> <span style='display:none'>"+this.cbsaslist+'</span>. Please note that, because the data is only available at the metro area, Congressional Districts covering non-metro areas will not include comprehensive information.  Small Business Jobs and "Start-up" Jobs comes from the Census\' Local Employment Household Dynamics dataset';if(!isState){note+=" is aggregated from tracts <a onclick='seeCitiBoundariesList(this)'>(see list)</a> <span style='display:none'>"+this.tracts10list+"</span>."}else{note+="."}note+="  Bankruptcy data comes from the U.S. Courts and is aggregated from the following counties <a onclick='seeCitiBoundariesList(this)'>(see list)</a> <span style='display:none'>"+this.countieslist+"</span>.</div>";$(c).append(note)};function dataloaderPageLoader(){function initializeGlobals(){map=new PMap(document.getElementById("map"));P.instances.map.mapOptions=new TrfMapBoundaries($(".map-boundaries-menu"));P.instances.map.addControl(new PLargeMapControl);P.instances.map.disableDoubleClickZoom();P.instances.map.disableKeyboard();P.instances.map.enableScrollWheelZoom();dlpins={shapes:[{id:2,icon:PinIcons.triangle180_medium_white},{id:3,icon:PinIcons.circle_medium_white},{id:6,icon:PinIcons.square_medium_white},{id:4,icon:PinIcons.star_medium_white},{id:10,icon:PinIcons.plus_medium_white},{id:1,icon:PinIcons.triangle_medium_white},{id:7,icon:PinIcons.flag_medium_white},{id:9,icon:PinIcons.pie_medium_white},{id:5,icon:PinIcons.diamond_medium_white},{id:11,icon:PinIcons.el_medium_white}],sizes:[{id:1,name:"Small",icon:PinIcons.triangle_white},{id:2,name:"Medium",icon:PinIcons.triangle_medium_white},{id:3,name:"Large",icon:PinIcons.triangle_large_white}],colors:[{id:1,rgb:"ff9832"},{id:5,rgb:"5dcaf7"},{id:4,rgb:"5df75d"},{id:6,rgb:"f75d5d"},{id:8,rgb:"ffffff"},{id:7,rgb:"fff600"}]};datasetSearch=new DatasetSearch;datasetSearch.reset()}function initializePageElementsSubscriber(){if(!isSubscriber()&&productProperty.getValue("auto_login")){return}if(isSubscriber()){switchTabs(1);buildCategoryDropdown(function(){var params=getUrlParams();if(params.di!=null){$("#tab1").hide();$("#tab2").show();$("#tabname1").removeClass("selectedtab");$("#tabname2").addClass("selectedtab");if(params.dit=="si"){loadDataset(params.di,true)}else if(params.dit=="sp"){loadDataset(params.di,false)}else{loadDataset(params.di)}}});$("#simple, #spreadsheet").attr("disabled",null);if(!PEnvironment.isPolicyMap){var isUniversity=productProperty.getValue("site_license_university");if(isUniversity){$("#permlabel2").text(" All University Users")}else{$("#permlabel2").text(" All Site License Users")}if(isAutoLoginUser()){$("#permrow1").hide();$("#permrow3").hide()}else{$("#permrow1").show();$("#permrow3").show()}}if(isTrial()){var text="Available on a limited basis for trial users. Upload up to "+trialUserMaxDatasets+" CSV files with no more than "+trialUserMaxDatasetPoints+" addresses each.";getUserDatasets(function(datasets){if(typeof datasets!="string"){var availableDatasets=Math.max(trialUserMaxDatasets-datasets.length,0);text+="<br /><br />You currently have "+availableDatasets+" dataset"+(availableDatasets==1?"":"s")+" remaining."}alerter.popup(text,"OK")})}}else{$("#simple, #spreadsheet").attr("disabled",true);subscribeAlert()}}function initializePageElements(){initializePageElementsSubscriber();resetDataloaderMapZoom();positionAddressBox();addressCancel();updateTitleCharRemaining(true);$window.resize(function(){positionAddressBox()});textboxArr=["addressStreet","addressCity","addressState","addressZip"];for(var i=0;i<=textboxArr.length;i++){var curTextBox=$("#"+textboxArr[i])[0];if(curTextBox){var enterKeyEvent=function(textbox){return PEvent.addListener(textbox,"keydown",function(e){var e=e||window.event;if(e&&e.keyCode==13){addressFind()}})}(curTextBox)}}var allLinks=document.links;for(var i=0;i<allLinks.length;i++){var currentLink=allLinks[i];if(!$(currentLink).hasClass("noAlert")){currentLink.onclick=leavingDataloader}}$(window).bind(P.events.ACCOUNT_SECTION_INIT,function(){$("#logoutButton").off("click");$("#logoutButton").click(function(){leavingDataloader("/logout")})});$("#csvFileSelector").val("");updateCSVFilename("");$("#csvUpload").ajaxForm({dataType:"json",clearForm:false,iframe:true,success:function(response){csvUploadResponse(response)},error:function(){csvUploadResponse(false)}});toggleMap(false)}var debug=new P.Debug;debug.override("MPL");var $window=$(window);session.checkUrl();initializeGlobals();initializePageElements();initializeSearchForm({placeholderLocation:productProperty.exists("search_location_placeholder")?productProperty.getValue("search_location_placeholder"):"Enter City, County, State, or Zip"});PEvent.addListener(P.instances.map,"dblclick",function(){P.instances.map.cancelIdentify=true;P.instances.map.closeInfoWindow()});PEvent.addListener(P.instances.map,"moveend",function(){session.put("curLat",P.instances.map.getCenter().lat());session.put("curLng",P.instances.map.getCenter().lng())});var layerpoints=P.instances.map.getCurrentMapType().getActiveLayerPoints();PEvent.addListener(P.instances.map,"zoomend",function(){session.put("curZoom",P.instances.map.getZoom());P.instances.map.mapOptions.populate();for(var i in layerpoints){if(P.instances.map.getScale()<=layerpoints[i].maxScale&&layerpoints[i].isOn()){if(!layerpoints[i].pointDataset.isOn())P.instances.map.addOverlaySet(layerpoints[i].pointDataset);layerpoints[i].pointDataset.on()}else if(P.instances.map.getScale()>layerpoints[i].maxScale&&layerpoints[i].isOn()){if(layerpoints[i].pointDataset.isOn())P.instances.map.removeOverlaySet(layerpoints[i].pointDataset);layerpoints[i].pointDataset.off()}}labelManager.updateMapLabels()});$(".map-options__clear-location").click(function(event){event.preventDefault();clearLocationAlert()});$window.on(P.events.LOGGED_IN,function(){initializePageElementsSubscriber()});PEvent.addListener(window,"beforeunload",function(){session.save()});$window.unload(function(){PUnload()})}function switchTabs(selectedTab){if(!isSubscriber()){return}if(selectedTab==1){$("#tab1").show();$("#tab2").hide();$("#tabname1").addClass("selectedtab");$("#tabname2").removeClass("selectedtab");updateMapOverlayText();if(sitecreator&&sitecreator.getEditType()=="create"){$("#datasetEditor").show();alerter.popup({content:"Do you wish to create a new dataset, or continue working on the dataset that is currently open?",useImage:true,addCancel:false,buttons:[{label:"Create New Dataset",callback:function(){$("#datasetEditor").hide();clearDataset()}},{label:"Continue Working",callback:function(){}}]})}else{$("#datasetEditor").hide()}}else if(selectedTab==2){$("#tab1").hide();$("#tab2").show();$("#datasetEditor").hide();$("#tabname1").removeClass("selectedtab");$("#tabname2").addClass("selectedtab");updateMapOverlayText();if(sitecreator&&sitecreator.getEditType()=="edit"){$("#datasetEditor").show()}else{$("#datasetEditor").hide();updateUserDatasetList()}}}function whichDataloaderTab(){if($("#tab1").is(":visible")&&!$("#tab2").is(":visible")){return 1}else if($("#tab2").is(":visible")&&!$("#tab1").is(":visible")){return 2}else{return null}}function switchLoadMethod(selectedOption){if(sitecreator){if(sitecreator.getEditType()=="edit"||sitecreator.getEditType()=="create"&&sitecreator.getType()!=selectedOption){alerter.popup("Starting a new dataset will require closing the dataset you are currently editing. Do you wish to continue?","No","Yes",function(){$("#datasetEditor").hide();clearDataset();$("input[name='newloadmethod']").filter("[value="+selectedOption+"]").attr("checked",true);createNewDataset(selectedOption)},function(){$("input[name='newloadmethod']").filter("[value="+sitecreator.getType()+"]").attr("checked",true);return})}else{return}}else{createNewDataset(selectedOption)}}function toggleSection(section){if(section==1){$("#permissionBox").toggle();if($("#permissionBox").is(":visible")){$("#expandPermissionSign").text("(-)")}else{$("#expandPermissionSign").text("(+)")}}else if(section==2){$("#sitesBox").toggle();if($("#sitesBox").is(":visible")){$("#expandSitesSign").text("(-)")}else{$("#expandSitesSign").text("(+)")}}}function permissionSelected(selectedRadio){if(selectedRadio==null){return}switch(parseInt($(selectedRadio).val())){case 1:$("#menucategory").hide();$("#userlist").hide();break;case 2:case 4:if(PEnvironment.isPolicyMap){$("#menucategory").show()}else{$("#menucategory").hide()}$("#userlist").hide();break;case 3:$("#menucategory").hide();$("#userlist").show();break}toggleSiteCreator(true)}function createNewDataset(type){if(type=="simple"){sitecreator=new DataloaderSimpleSiteCreator;sitecreator.setEditType("create");sitelist=new DataloaderSimpleSiteList;$("#da1").attr("disabled",null);P.instances.map.disableDoubleClickZoom()}else if(type=="spreadsheet"){sitecreator=new DataloaderSiteCreator;sitecreator.setEditType("create");$("#da1").attr("disabled",true);P.instances.map.enableDoubleClickZoom()}else{return}updateTitleCharRemaining();updateDatasetIcons();resetEmailBoxes();$("#permissionStep").hide();$("#iconStep").hide();$("#importCSVStep").hide();$(".stepNumber").show();$("#datasetEditor").fadeIn();updateMapOverlayText()}function toggleSiteCreator(changeModifiedFlag){var scEnable=true;if(!sitecreator||sitecreator&&sitecreator.getLoading()==true){return}if(changeModifiedFlag==true){sitecreator.currentSet.setModified(true)}var datasetTitle=$.trim($("#setTitle").val());if(datasetTitle==""){scEnable=false}else{if(!$("#permissionStep").is(":visible")){$("#permissionStep").fadeIn()}}var displayIconAndCSVStep=function(){if(!$("#iconStep").is(":visible")){$("#iconStep").fadeIn()}if(sitecreator.getType()=="spreadsheet"&&sitecreator.getEditType()=="create"&&sitecreator.currentSet.getId()==null&&!$("#importCSVStep").is(":visible")){$("#importCSVStep").fadeIn()}};var setPerm=$("input[name='permsetting']:checked").val();if(setPerm!=null){if(setPerm==1){displayIconAndCSVStep()}else if(setPerm==2||setPerm==4){if($("#setcategory").val()==0&&(setPerm==4||setPerm==2&&PEnvironment.isPolicyMap)){scEnable=false}else{displayIconAndCSVStep()}}else if(setPerm==3){updateDatasetUsers();if(sitecreator.currentSet.getUsers().length<1){scEnable=false}else{displayIconAndCSVStep()}}else{scEnable=false}}else{scEnable=false}if(sitecreator.getType()=="simple"){if(scEnable&&!sitecreator.isEnabled()){if(sitecreator.isReady()){sitecreator.enable();$(".datasetFunctions").show();$("#loadDatasetOnMap").show();$(".sitesSection").show();$(".beginAdding").hide()}else{$("#beginAdding").fadeIn(500)}}else if(!scEnable){if(sitecreator.isEnabled()){sitecreator.disable();$(".datasetFunctions").hide();$("#loadDatasetOnMap").hide();$(".sitesSection").hide()}$(".beginAdding").fadeOut(500)}}else if(sitecreator.getType()=="spreadsheet"){var csvFileSelector=$("#csvFileSelector");if(csvFileSelector.is(":visible")){var csvFile=csvFileSelector.val();if(csvFile==null||csvFile==""){scEnable=false}}if(scEnable){if(sitecreator.currentSet.isSaved()){$("#importSpreadsheet").fadeOut(500);sitecreator.enableMap();$(".datasetFunctions").show();$("#loadDatasetOnMap").show();$("#editSpreadsheetSites").show();$(".geocodeTips").show()}else{$("#importSpreadsheet").fadeIn(500);sitecreator.disableMap();$(".datasetFunctions").hide();$("#loadDatasetOnMap").hide();$("#editSpreadsheetSites").hide();$(".geocodeTips").hide()}}else{$("#importSpreadsheet").fadeOut(500);sitecreator.disableMap();$(".datasetFunctions").hide();$("#loadDatasetOnMap").hide();$("#editSpreadsheetSites").hide();$(".geocodeTips").hide()}}}function updateDatasetIcons(){if(sitecreator&&sitecreator.currentSet){var pinUrl=sitecreator.currentSet.getIcon().image;var iconSpans=$(".currentSiteIcon");$.each(iconSpans,function(index){$(this).html("<img src='"+pinUrl+"' border='0' alt='Icon' />")})}}function updateTitleCharRemaining(firstTime){var maxChars=50;if(firstTime){$("#setTitle").attr("maxlength",maxChars)}var currentTitle=$("#setTitle").val();var remaining=maxChars-currentTitle.length;$("#titleCharsRemaining").text("("+remaining+" characters remaining)")}function addEmailBox(){emailboxCount++;$("#emailboxes").append('<div id="email'+emailboxCount+'" class="emailboxHolder"><input type="text" value="e.g., jane.doe@gmail.com" class="textbox emailbox textboxdefault" id="emailbox'+emailboxCount+'" onfocus="firstTextboxFocus(this.id);" onkeyup="toggleSiteCreator(true);" onblur="validateEmailBox(this);" /> <a onclick="removeEmailBox('+emailboxCount+');"><img src="images/close_button2.gif" alt="Delete" title="Delete" class="emailDelete" border="0" /></a><br/></div>');if($(".emailboxHolder").length==2){$(".emailDelete").show();$("#deleteAllEmailsLink").show()}}function removeEmailBox(num){var removeBox=$("#email"+num);removeBox.remove();if($(".emailboxHolder").length==1){$(".emailDelete").hide();$("#deleteAllEmailsLink").hide()}toggleSiteCreator()}function resetEmailBoxes(){var boxes=$(".emailboxHolder");if(boxes.length>0){boxes.each(function(){$(this).remove()})}$("#deleteAllEmailsLink").hide();emailboxCount=1;$("#emailboxes").html('<div id="email1" class="emailboxHolder"><input type="text" value="e.g., jane.doe@gmail.com" class="textbox emailbox textboxdefault" id="emailbox1" onfocus="firstTextboxFocus(this.id);" onkeyup="toggleSiteCreator(true);" onblur="validateEmailBox(this);" /> <a onclick="removeEmailBox('+emailboxCount+');"><img src="images/close_button2.gif" alt="Delete" title="Delete" class="emailDelete" border="0" style="display: none;" /></a><br/></div>')}function resetDatasetUsersAlert(){alerter.popup("Are you sure you wish to remove all email addresses from the list?","No","Yes",function(){resetDatasetUsers()},function(){return})}function resetDatasetUsers(){resetEmailBoxes();sitecreator.currentSet.clearUsers();toggleSiteCreator()}function updateDatasetUsers(){var users=[];var boxes=$(".emailbox");if(boxes.length>0){boxes.each(function(){if($(this).val()!=null&&$.trim($(this).val())!=""&&!$(this).hasClass("textboxdefault")){var dl=false;if(!sitecreator.currentSet.isSimple()){dl=sitecreator.currentSet.dlperm}users.push(new DataloaderSetUser($(this).val().toLowerCase(),dl))}})}sitecreator.currentSet.setUsers(users)}function recreateUserEmailBoxes(){var turnOffLoading=false;if(sitecreator.getLoading()==false){sitecreator.setLoading(true);turnOffLoading=true}var users=sitecreator.currentSet.getUsers();resetEmailBoxes();for(var i=0;i<users.length;i++){if(i>0){addEmailBox()}$("#emailbox"+(i+1)).val(users[i].getEmail());$("#emailbox"+(i+1)).removeClass("textboxdefault")}if(turnOffLoading){sitecreator.setLoading(false)}}function validateEmailBox(textbox){var textbox=$(textbox);var email=textbox.val();if(!dlValidateEmailAddress(email)){alerter.popup("This email address is not valid.","OK");textbox.addClass("badtextbox")}else{textbox.removeClass("badtextbox")}}function dlValidateEmailAddress(email){return/^([A-Za-z0-9_\-\.\+])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(email)}function highlightBadEmailBoxes(badEmails){$(".emailbox").each(function(){var curTextbox=$(this);if($.inArray(curTextbox.val(),badEmails)!=-1){curTextbox.addClass("badtextbox")}})}function toggleIconSelector(which){var selector=null;if(which==1){selector=$("#shapeIconSelector")}else if(which==2){selector=$("#sizeIconSelector")}else if(which==3){selector=$("#colorIconSelector")}else{return}if(selector!=null&&selector.length>0){if(selector.is(":visible")){selector.fadeOut(300);return}$(".iconSelector").hide();shadeCurrentIconOptions();positionIconSelector(selector);selector.fadeIn(300)}else{$(".iconSelector").hide();buildIconSelector(which)}}function buildIconSelector(which){var selector;if(which==1){selector=$("#shapeIconSelector");if(selector.length>0){shadeCurrentIconOptions();selector.fadeIn(300);return}var shapeCount=dlpins.shapes.length;var rowCount=Math.ceil(shapeCount/2)-1;var html="<table><tr>";for(var i=0;i<shapeCount;i++){var curShape=dlpins.shapes[i];html+="<td id='iconShapeOption"+curShape.id+"' class='iconOption' onclick='selectIcon(1, "+curShape.id+");'><img src='"+curShape.icon.image+"'></td>";if(i==rowCount){html+="</tr><tr>"}}html+="</tr></table>";selector=$("<div />");selector.attr("id","shapeIconSelector");selector.html(html)}else if(which==2){var selector=$("#sizeIconSelector");if(selector.length>0){shadeCurrentIconOptions();selector.fadeIn(300);return}var sizeCount=dlpins.sizes.length;var html="<table>";for(var i=0;i<sizeCount;i++){var curSize=dlpins.sizes[i];html+="<tr><td id='iconSizeOption"+curSize.id+"' class='iconOption' onclick='selectIcon(2, "+curSize.id+");'><div class='sizeImage'><img src='"+curSize.icon.image+"'></div><div class='sizeText'>"+curSize.name+"</div></td></tr>"}html+="</table>";var selector=$("<div />");selector.attr("id","sizeIconSelector");selector.html(html)}else if(which==3){var selector=$("#colorIconSelector");if(selector.length>0){shadeCurrentIconOptions();selector.fadeIn(300);return}var colorCount=dlpins.colors.length;var html="<table><tr>";for(var i=0;i<colorCount;i++){var curColor=dlpins.colors[i];html+="<td id='iconColorOption"+curColor.id+"' class='iconOption' onclick='selectIcon(3, "+curColor.id+");'><div class='colorBox' style='background: #"+curColor.rgb+"' /></td>"}html+="</tr></table>";var selector=$("<div />");selector.attr("id","colorIconSelector");selector.html(html)}else{return}selector.addClass("iconSelector");positionIconSelector(selector);var selectorTimer=null;selector.mouseout(function(){selectorTimer=setTimeout(function(){selector.fadeOut(300)},2500)});selector.mouseover(function(){clearTimeout(selectorTimer)});$("#dataloaderPane").append(selector);shadeCurrentIconOptions();selector.fadeIn(300)}function shadeCurrentIconOptions(){var curIcon=sitecreator.currentSet.getIcon();$(".iconOption").removeClass("current");$("#iconShapeOption"+curIcon.categoryid).addClass("current");$("#iconSizeOption"+curIcon.sizeid).addClass("current");$("#iconColorOption"+curIcon.colorid).addClass("current")}function positionIconSelector(selector){var selectorId=selector.attr("id");var link;if(selectorId=="shapeIconSelector"){link=$("#iconShapeLink")}else if(selectorId=="sizeIconSelector"){link=$("#iconSizeLink")}else if(selectorId=="colorIconSelector"){link=$("#iconColorLink")}else{return}var linkPosition=link.position();selector.css({left:linkPosition.left,top:linkPosition.top+link.height()+5})}function selectIcon(which,id){$(".iconSelector").hide();var curIcon=sitecreator.currentSet.getIcon();var category=curIcon.categoryid;var size=curIcon.sizeid;var color=curIcon.colorid;if(which==1){if(category==id){return}category=id}else if(which==2){if(size==id){return}size=id}else if(which==3){if(color==id){return}color=id}else{return}for(var i=0;i<PinIconsById.length;i++){if(PinIconsById[i]==null){continue}var curPin=PinIconsById[i];if(curPin.categoryid==category&&curPin.sizeid==size&&curPin.colorid==color){sitecreator.currentSet.setIcon(curPin.pinid);updateDatasetIcons();if(sitecreator.getType()=="spreadsheet"){sitecreator.updateMapOverlaySet()}break}}}function saveButton(){if(sitecreator&&sitecreator.getType()=="simple"){if(sitecreator.currentSite!=null){var siteId=null;if(sitecreator.currentSite.isSaved()){siteId=sitecreator.currentSite.getId()}sitecreator.savePointInfoBubbleCheck(siteId)}else{saveDatasetProperties()}}else if(sitecreator&&sitecreator.getType()=="spreadsheet"){saveDatasetProperties()}}function initialDatasetCheck(){if($.trim($("#setTitle").val())==""){alerter.popup("In order to save, you must enter a title for the dataset.","OK");return false}var setPerm=$("input[name='permsetting']:checked").val();if(setPerm==2||setPerm==4){if($("#setcategory").val()==0&&(setPerm==4||setPerm==2&&PEnvironment.isPolicyMap)){alerter.popup("In order to save, you must select a menu category for the dataset.","OK");return false}}else if(setPerm==3){var boxes=$(".emailbox");var badEmail=false;boxes.each(function(){var currentEmailAddress=$(this).val();if(!$(this).hasClass("textboxdefault")&&$.trim(currentEmailAddress)!=""&&!dlValidateEmailAddress(currentEmailAddress)){$(this).addClass("badtextbox");badEmail=true}else{if($(this).hasClass("badtextbox")){$(this).removeClass("badtextbox")}}});if(badEmail){alerter.popup("The highlighted email addresses are not valid.","OK");return false}updateDatasetUsers();recreateUserEmailBoxes()}else{if(setPerm!=1){$("input[name=permsetting]")[0].click()}}return true}function saveDatasetProperties(callback){disableSaveButtons();var finished=function(success,displayNoCallbackSuccess){if(callback!=null){callback(success)}else{if(success&&displayNoCallbackSuccess){saveDatasetAlert()}}enableSaveButtons();return};if(!initialDatasetCheck()){finished(false);return}var saveError=function(){alerter.popup("There was an error saving your dataset.","OK");finished(false)};var simple=sitecreator.getType()!="spreadsheet";var datasetTitle=$.trim($("#setTitle").val());var datasetIdArg="";if(sitecreator.currentSet.isSaved()){datasetIdArg="&di="+sitecreator.currentSet.getId()}var setPerm=$("input[name='permsetting']:checked").val();var continueSaving=function(){sitecreator.currentSet.setTitle(datasetTitle);
sitecreator.currentSet.setPermission(setPerm);if(setPerm==2||setPerm==4){var setCategory=$("#setcategory").val();if(setCategory!=0){sitecreator.currentSet.setCategory(setCategory)}}else if(setPerm==3){updateDatasetUsers()}var da1=$("#da1");var da2=$("#da2");if(da1.length>0){if($.trim(da1.val())==""||da1.hasClass("textboxdefault")){da1.removeClass("textboxdefault");da1.val(session.get("_useremail"))}sitecreator.currentSet.da1=da1.val()}else{sitecreator.currentSet.da1=null}if(da2.length>0){if(da2.attr("checked")){sitecreator.currentSet.da2=true}else{sitecreator.currentSet.da2=false}}else{sitecreator.currentSet.da2=null}var toSend=["id","title","icon","permission","category","simple","users","da1","da2","saved","email","download"];var subType;var actionString;var postData;if(simple){subType="dlsi";if(sitecreator.currentSet.isSaved()){actionString="u"}else{actionString="c"}postData=JSON.stringify(sitecreator.currentSet,toSend)}else{subType="dlsp";actionString="sp";postData={dataset:JSON.stringify(sitecreator.currentSet,toSend),uid:sitecreator.datasetUid}}ajax.call({type:"POST",url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t="+subType+"&sbr=1&act="+actionString,dataType:"json",data:postData,success:function(result){if(result!=null&&result[subType]!=null&&result[subType].status&&result[subType].status=="ok"){sitecreator.currentSet.setSaved(true);sitecreator.currentSet.setModified(false);if(simple){sitecreator.currentSet.setId(result[subType].id)}session.put("dlo",sitecreator.currentSet.getId());finished(true,true)}else{if(result!=null&&result[subType]!=null&&result[subType].status&&result[subType].status=="noowner"){alerter.popup("The specified dataset owner could not be found.","OK")}else if(result!=null&&result[subType]!=null&&result[subType].status&&result[subType].status=="badusers"){highlightBadEmailBoxes(result[subType].badusers);alerter.popup("One or more of the specified accounts do not exist. Please correct the highlighted email addresses.","OK")}else if(result!=null&&result[subType]!=null&&result[subType].status&&result[subType].status=="trialmax"){alerter.popup("You have reached the maximum of "+trialUserMaxDatasets+" datasets for trial users. <a href='/pricing.html' target='_blank'>Subscribe</a> to load more.","OK")}else{alerter.popup("There was an error saving your dataset.","OK")}finished(false)}},error:function(){saveError()}})};if(setPerm==2||setPerm==4){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=n&dn="+encodeURIComponent(datasetTitle)+datasetIdArg,dataType:"json",success:function(result){if(result!=null&&result.dl!=null&&result.dl.inuse&&result.dl.inuse==true){alerter.popup("This public dataset name is already in use. Please choose another name.","OK");finished(false)}else if(result==null||result.dl==null){saveError()}continueSaving()},error:function(){saveError()}})}else{continueSaving()}}function saveDatasetAlert(excludeStandardAlert){if(!PEnvironment.isPolicyMap&&!isAutoLoginUser()){var myDataTabName;if(productProperty.exists("my_data_tab_label")){myDataTabName=productProperty.getValue("my_data_tab_label")}else{myDataTabName="My Data"}var perm=sitecreator.currentSet.getPermission();if(perm==1){alerter.popup("Your dataset has been saved and will be accessible to you from the "+myDataTabName+" tab throughout the site license. To make changes or to delete this dataset, please return to PolicyMap’s Data Loader.","OK")}else if(perm==2){alerter.popup("Your dataset has been saved and will be visible to all site license users. It can be accessed from the "+myDataTabName+" tab throughout the site license. To make changes or to delete this dataset, please return to PolicyMap’s Data Loader.","OK")}else if(perm==3){alerter.popup("Your dataset has been saved and will be visible to select site license users. It can be accessed from the "+myDataTabName+" tab throughout the site license. To make changes or to delete this dataset, please return to PolicyMap’s Data Loader.","OK")}}else{if(excludeStandardAlert==null||excludeStandardAlert!==true){alerter.popup("Your dataset has been saved.","OK")}}}function enableSaveButtons(){$(".disabledSaveButton").hide();$(".enabledSaveButton").show();if($("#disabledEditSpreadsheetSites").is(":visible")){$("#disabledEditSpreadsheetSites").hide();$("#editSpreadsheetSites").show()}}function disableSaveButtons(includeEditSites){$(".enabledSaveButton").hide();$(".disabledSaveButton").show();if($("#editSpreadsheetSites").is(":visible")){$("#editSpreadsheetSites").hide();$("#disabledEditSpreadsheetSites").show()}}function firstTextboxFocus(textboxid){var textbox=$("#"+textboxid);if(textbox.length>0){if(textbox.hasClass("textboxdefault")){textbox.val("");textbox.removeClass("textboxdefault")}}}function buildCategoryDropdown(callback){var categoryError=function(){alerter.popup("There was an error initializing the dataloader.","OK")};ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=c",dataType:"json",success:function(categories){if(categories&&categories.dl){var html="<select id='setcategory' onchange='toggleSiteCreator(true);' ><option value='0'>[Please Select a Category]</option>";for(var i=0;i<categories.dl.length;i++){html+=" <option value='"+categories.dl[i].id+"'>"+categories.dl[i].name+"</option>"}html+="</select>";$("#categoryDropdown").html(html);if(callback!=null){callback()}}else{categoryError()}},error:function(){categoryError()}})}function updateUserDatasetList(){$("#datasetlist").html("Loading your datasets...");updateMapOverlayText();getUserDatasets(function(datasets){if(typeof datasets=="string"){$("#datasetlist").text(datasets)}else if(datasets.length<1){$("#datasetlist").html("You do not have any saved datasets.")}else{var siteList="";for(var i=0;i<datasets.length;i++){var currentSet=datasets[i];var currentSetId=currentSet.id;var currentSetOpen=false;if(sitecreator&&sitecreator.currentSet&&sitecreator.currentSet.getId()!=null&&sitecreator.currentSet.getId()==currentSetId){currentSetOpen=true}var html="<div id='datasetlistitem"+currentSetId+"' class='datasetlistitem'><table border='0'><tr>";html+="<td width='100%'>";if(currentSetOpen){html+="<b>"+currentSet.name+" (currently editing)</b><br />"}else{html+="<a onclick='loadDatasetAlert("+currentSetId+", "+currentSet.simple_type+");'>"+currentSet.name+"</a><br />"}html+="<span class='dates'>(Created: "+trimDateYear(currentSet.created)+"; last updated: "+trimDateYear(currentSet.last_updated)+")</span></td>";html+="<td>";if(!currentSetOpen){html+="<a onclick='loadDatasetAlert("+currentSetId+", "+currentSet.simple_type+");'><img src='images/rename_button.png' alt='Edit' title='Edit' border='0' /></a>"}html+="</td>";if(PEnvironment.isPolicyMap||productProperty.getValue("site_prefix")=="phila"){html+="<td><a onclick='deleteDatasetAlert("+currentSetId+");'><img src='images/close_button2.gif' alt='Delete' title='Delete' border='0' /></a></td>"}html+="</tr></table></div>";siteList+=html}$("#datasetlist").html(siteList)}})}function getUserDatasets(callback){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=l",dataType:"json",success:function(datasets){if(datasets==null||datasets.dl==null||datasets.dl.errors){callback("There was an error retrieving your datasets.")}else{callback(datasets.dl)}},error:function(){callback("There was an error retrieving your datasets.")}})}function clearDataset(){if(sitecreator&&sitecreator.getType()=="simple"){addressCancel();sitecreator.disable();sitecreator.clearSet();sitecreator=null}else if(sitecreator&&sitecreator.getType()=="spreadsheet"){if(sitecreator.numberOfTabs>0){sitecreator.closeDialog()}sitecreator.disableMap();sitecreator.clearSet();sitecreator=null}if(sitelist){sitelist=null;$("#sitesBox").html("")}$("input[name='newloadmethod']").attr("checked",false);$("#setTitle").val("");$("#setcategory").val("0");$("input[name='permsetting']").attr("checked",false);resetEmailBoxes();$(".permissionSubBox").hide();$(".iconSelector").hide();clearCSVFileSelector();$(".geocodeTips").hide();$(".sitesSection").hide();$(".siteEditingFunction").hide();$(".datasetFunction").hide();var da1=$("#da1");var da2=$("#da2");if(da1.length>0){da1.addClass("textboxdefault");da1.val("Enter user's email address")}if(da2.length>0){da2.attr("checked",false)}P.instances.map.clearOverlays();P.instances.map.clearOverlaySets();P.instances.map.closeInfoWindow();session.remove("dlo");datasetSearch.reset();resetDataloaderMapZoom();updateMapOverlayText()}function clearCSVFileSelector(){var oldFileSelector=$("#csvFileSelector");oldFileSelector.val("");var newFileSelector=oldFileSelector.clone(true);oldFileSelector.replaceWith(newFileSelector);updateCSVFilename("")}function loadDatasetAlert(id,simple){if(sitecreator&&sitecreator.getEditType()=="create"){alerter.popup("Loading this dataset will require closing the dataset currently being created. Do you wish to continue?","No","Yes",function(){loadDataset(id,simple)})}else{loadDataset(id,simple)}}function loadDataset(id,simple){var errorLoadingDataset=function(){alerter.popup("There was an error loading the dataset.","OK");$("#loadingDataset").hide();$("#datasetlist").show()};$("#datasetlist").hide();$("#loadingDataset").show();if(simple==null){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=l",dataType:"json",success:function(datasets){if(datasets==null||datasets.dl==null||datasets.dl.errors||datasets!=null&&datasets.responseCode&&datasets.responseCode==400||datasets.dl.length<1){errorLoadingDataset();return}else{var datasetList=datasets.dl;for(var i=0;i<datasetList.length;i++){var curDataset=datasetList[i];if(curDataset.id==id){loadDataset(curDataset.id,curDataset.simple_type);return}}errorLoadingDataset()}},error:function(){errorLoadingDataset()}});return}clearDataset();var finishLoadingDataset=function(dataset){var newSet=buildLoadedSet(dataset,dataset.simple_type);if(dataset.simple_type==true){sitecreator=new DataloaderSimpleSiteCreator(newSet);sitelist=new DataloaderSimpleSiteList}else{sitecreator=new DataloaderSiteCreator(newSet)}sitecreator.setLoading(true);sitecreator.setEditType("edit");$("#setTitle").val(dataset.name);updateTitleCharRemaining();switch(parseInt(dataset.permission)){case 1:$("input[name='permsetting']").filter("[value=1]").click();break;case 2:case 4:$("input[name='permsetting']").filter("[value="+dataset.permission+"]").click();if(dataset.category!=null){$("#setcategory").val(dataset.category)}else{$("#setcategory").val(0)}break;case 3:$("input[name='permsetting']").filter("[value=3]").click();recreateUserEmailBoxes();default:break}updateDatasetIcons();var da1=$("#da1");var da2=$("#da2");if(dataset.da1!=null&&da1.length>0){da1.val(dataset.da1);da1.removeClass("textboxdefault")}if(dataset.da2!=null&&dataset.da2==true){da2.attr("checked",true)}$("#da1").attr("disabled",null);$("#loadingDataset").hide();$("#datasetlist").html("<span class='returnlink'><a onclick='returnDatasetList();'>&lt;&lt; Return to List of Datasets</a></span><br /><br />");$("#datasetlist").show();$(".stepNumber").hide();$("#importCSVStep").hide();$("#datasetEditor").show();$("#saveDataset").show();$("#deleteDataset").show();$("#loadDatasetOnMap").show();var box=newSet.getBox();if(box){P.instances.map.setCenterBounds(box)}else{resetDataloaderMapZoom()}if(dataset.simple_type){sitelist.refreshList();if(newSet.sites.length>0){$("#downloadSites").show()}else{$("#disabledDownloadSites").show()}P.instances.map.disableDoubleClickZoom();sitecreator.setReady(true)}else{sitecreator.datasetUid=dataset.uid;$("#editSpreadsheetSites").show();$("#downloadSites").show();sitecreator.updateMapOverlaySet();P.instances.map.enableDoubleClickZoom()}sitecreator.setLoading(false);session.put("dlo",newSet.getId());toggleSiteCreator()};var requestArgs;if(simple){requestArgs="?id=1&ty=data&t=dlsi&act=g&di="+id}else{requestArgs="?id=1&ty=data&t=dlsp&act=g&di="+id}ajax.call({url:PEnvironment.dataServicesUrl+requestArgs,dataType:"json",success:function(dataset){if(dataset==null||dataset.dlsi==null&&dataset.dlsp==null||(dataset.dlsi&&dataset.dlsi.errors||dataset.dlsp&&dataset.dlsp.errors)){errorLoadingDataset()}else{if(dataset.dlsi){finishLoadingDataset(dataset.dlsi)}else{finishLoadingDataset(dataset.dlsp)}}},error:function(){errorLoadingDataset()}})}function buildLoadedSet(dataset,simple){var newSet=new DataloaderSet;newSet.setId(parseInt(dataset.id));newSet.setTitle(dataset.name);var perm=parseInt(dataset.permission);newSet.setPermission(perm);if((perm==2||perm==4)&&dataset.category!=null){newSet.setCategory(parseInt(dataset.category))}if(perm==3&&dataset.users!=null){newSet.setUsersFromObjects(dataset.users)}newSet.setSaved(true);if(dataset.box){newSet.setBox(dataset.box.xmin,dataset.box.ymin,dataset.box.xmax,dataset.box.ymax)}if(simple){newSet.setSimple(true);newSet.dlperm=false;var sitesLength=dataset.sites.length;for(var i=0;i<sitesLength;i++){var curSite=new DataloaderSimpleSite;curSite.setId(i+1);curSite.setDid(dataset.sites[i].id);curSite.setTitle(dataset.sites[i].title);if(dataset.sites[i].description){curSite.setDescription(dataset.sites[i].description)}if(dataset.sites[i].image){curSite.setImage(dataset.sites[i].image)}curSite.setPoint(new PLatLng(dataset.sites[i].y,dataset.sites[i].x));curSite.createMarker(PinIcons[dataset.icon]);curSite.setSaved(true);newSet.addSite(curSite)}}else{newSet.setSimple(false);newSet.setLabels(dataset.labels);newSet.setSearch(dataset.search);if(perm==3&&dataset.users!=null&&dataset.users.length>0){if(dataset.users[0].download){newSet.dlperm=true}}}newSet.setIcon(dataset.icon);return newSet}function deleteDatasetAlert(id){if(id=="current"){if(sitecreator&&sitecreator.currentSet){id=sitecreator.currentSet.getId()}else{return false}}var alertText;var currentSet=false;if(sitecreator&&sitecreator.currentSet&&sitecreator.currentSet.getId()==id){alertText="This dataset is currently open for editing. Deleting it will remove the dataset and all of its points and attributes. Do you wish to delete this dataset?";currentSet=true}else{alertText="Deleting a dataset will remove the dataset and all of its points and attributes. Do you wish to delete this dataset?"}alerter.popup(alertText,"No","Yes",function(){var f=null;if(currentSet){clearDataset();$("#datasetEditor").hide();f=function(success){if(success==false){alerter.popup("There was an error deleting this dataset.","OK")}if(whichDataloaderTab()==2){updateUserDatasetList()}}}deleteDataset(id,f)})}function deleteDataset(id,callback){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=d&di="+id,dataType:"json",success:function(result){if(result==null||result.dl==null||!(result.dl.status&&result.dl.status=="ok")){if(callback!=null){callback(false)}else{alerter.popup("There was an error deleting this dataset.","OK")}}else{if(callback!=null){callback(true)}else{$("#datasetlistitem"+id).fadeOut(1e3,function(){$("#datasetlistitem"+id).remove();var datasetListItems=$(".datasetlistitem");if(datasetListItems.length<1){$("#datasetlist").html("You do not have any saved datasets.")}})}}},error:function(){if(callback!=null){callback(false)}else{alerter.popup("There was an error deleting this dataset.","OK")}}})}function returnDatasetList(){alerter.popup("Returning to the list of datasets will require closing the dataset that is currently open. Do you wish to continue?","No","Yes",function(){$("#datasetEditor").hide();clearDataset();updateUserDatasetList()})}function downloadSites(){var downloadCSV=function(){setWindowLocation(PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=dl&di="+sitecreator.currentSet.getId())};if(sitecreator){if(sitecreator.getType()=="simple"){if(sitecreator.currentSet.isModified()){saveDatasetProperties(function(saveSuccess){if(saveSuccess==true){downloadCSV()}})}else{downloadCSV()}}else if(sitecreator.getType()=="spreadsheet"){downloadCSV()}}}function leavingDataloader(link){if(link==null){return}var self=this;var proceed=function(){if(typeof link=="string"){if(link=="/logout"){nrLogoutSubmit(function(){session.load(true,function(){setWindowLocation("/")})})}else{setWindowLocation(link)}}else{setWindowLocation(self.href)}};if(sitecreator&&sitecreator.isEnabled()){var message;if(typeof link=="string"&&link=="/logout"){message="Are you sure you want to logout? Any items that have not been saved will be lost."}else{message="Are you sure you want to leave this page? Any items that have not been saved will be lost."}alerter.popup(message,"No","Yes",function(){proceed()})}else{proceed()}return false}function resetDataloaderAlert(){if(sitecreator&&sitecreator.getType()=="simple"&&sitecreator.ready===true){alerter.popup("Are you sure you want to discard any points you have not saved and start over at the default view of the US?","No","Yes",resetDataloader)}else if(sitecreator&&sitecreator.getType()=="spreadsheet"&&sitecreator.isMapEnabled()){alerter.popup("Are you sure you want to start over at the default view of the US?","No","Yes",resetDataloader)}}function resetDataloader(){P.instances.map.mapOptions.setToDefault();if(sitecreator&&sitecreator.getType()=="simple"&&sitecreator.currentSite){sitecreator.cancelPointInfoBubble()}clearDataloaderLocation();resetDataloaderMapZoom();session.remove("curZoom");session.removeAllRelevant()}function toggleMap(enabled){if(enabled==true){$("#mapOverlay").fadeOut(800)}else{var mapContainer=$("#dataloaderMapContainer");var mapOverlayBox=$("#mapOverlayBox");mapOverlayBox.css({top:45,left:45,height:mapContainer.height()-90,width:mapContainer.width()-90});updateMapOverlayText();$("#mapOverlay").fadeIn(800)}}function updateMapOverlayText(){var message="";var curTab=whichDataloaderTab();if(curTab==1&&!sitecreator){message="Select a method to load your data on the left."}else if(curTab==2&&!sitecreator){message="Select a dataset from the left to view it on the map."}else if(sitecreator){if(sitecreator.getType()=="simple"){message="Complete the steps on the left, then add points to the map."}else if(sitecreator.getType()=="spreadsheet"){if(sitecreator.currentSet.isSaved()){message="Complete the steps on the left."}else{message="Complete the steps on the left, then import a spreadsheet."}}}$("#mapOverlayBoxText").text(message)}function clearDataloaderLocationAlert(){if(mapstates.currentplace&&mapstates.currentplace.getType()){place=mapstates.currentplace;var alertText="Are you sure you want to clear the location currently displayed - "+place.getLabel()+getState(place)+" ("+place.getType().getName()+")?";alerter.popup(alertText,"No","Yes",clearDataloaderLocation)}else{var alertText="There is currently no location specified. You can do this by entering one in the search bar.";alerter.popup(alertText,"OK")}}function clearDataloaderLocation(){if(P.instances.map.polygons){for(var i=0;i<P.instances.map.polygons.length;i++){P.instances.map.removeOverlay(P.instances.map.polygons[i])}}if(P.instances.map.getInfoWindow()){P.instances.map.closeInfoWindow()}clearPlaceFromSessionAndOtherVariables()}function resetDataloaderMapZoom(){P.instances.map.setCenter(new PLatLng(getDefaultMapLat(),getDefaultMapLng()),getDefaultMapZoom())}DataloaderSet=function(){this.id=null;this.title="";this.icon=46;this.iconObject=PinIconsById[this.icon];this.permission=null;this.category=null;this.simple=false;this.users=[];this.labels=false;this.search=false;this.da1=null;this.da2=null;this.saved=false;this.modified=false;this.box=null;this.sites=[];this.overlaySet=new POverlaySet;this.columns=null;this.numSites=null;this.columnTypes=[];this.dlperm=false};DataloaderSet.prototype.setId=function(newid){this.id=newid};DataloaderSet.prototype.getId=function(){return this.id};DataloaderSet.prototype.setTitle=function(newtitle){this.title=newtitle};DataloaderSet.prototype.getTitle=function(){return this.title};DataloaderSet.prototype.setIcon=function(iconId){var iconObject=PinIconsById[iconId];if(iconObject!=null){this.icon=iconId;this.iconObject=iconObject;if(this.simple){this.regenerateOverlaySet()}}};DataloaderSet.prototype.getIcon=function(){return this.iconObject};DataloaderSet.prototype.setPermission=function(newperm){this.permission=newperm};DataloaderSet.prototype.getPermission=function(){return this.permission};DataloaderSet.prototype.setCategory=function(newcategory){this.category=newcategory};DataloaderSet.prototype.getCategory=function(){return this.category};DataloaderSet.prototype.setSimple=function(newsimple){this.simple=newsimple};DataloaderSet.prototype.isSimple=function(){return this.simple};DataloaderSet.prototype.addUser=function(newuser){this.users.push(newuser)};DataloaderSet.prototype.setUsers=function(users){this.users=users};DataloaderSet.prototype.setUsersFromObjects=function(newusers){this.users=[];for(var i=0;i<newusers.length;i++){var curUser=newusers[i];this.users.push(new DataloaderSetUser(curUser.email,curUser.download))}};DataloaderSet.prototype.getUsers=function(){return this.users};DataloaderSet.prototype.clearUsers=function(){this.users=[]};DataloaderSet.prototype.setLabels=function(labels){this.labels=labels};DataloaderSet.prototype.hasLabels=function(){return this.labels};DataloaderSet.prototype.setSearch=function(search){this.search=search};DataloaderSet.prototype.hasSearch=function(){return this.search};DataloaderSet.prototype.setSaved=function(saved){this.saved=saved};DataloaderSet.prototype.isSaved=function(){return this.saved};DataloaderSet.prototype.setModified=function(modified){this.modified=modified};DataloaderSet.prototype.isModified=function(){return this.modified};DataloaderSet.prototype.setBox=function(minx,miny,maxx,maxy){this.box=new PLatLngBounds(new PLatLng(miny,minx),new PLatLng(maxy,maxx))};DataloaderSet.prototype.clearBox=function(minx,miny,maxx,maxy){this.box=null};DataloaderSet.prototype.getBox=function(){return this.box};DataloaderSet.prototype.addSite=function(newsite){this.sites.push(newsite);this.overlaySet.addOverlay(newsite.createMarker(this.iconObject))};DataloaderSet.prototype.setSite=function(newsite){var sitelocation=this.getSiteLocation(newsite.getId());if(sitelocation!=null){this.sites[sitelocation]=newsite}};DataloaderSet.prototype.removeSite=function(siteid){var sitelocation=this.getSiteLocation(siteid);if(sitelocation!=null){this.overlaySet.removeOverlay(this.sites[sitelocation].getMarker());this.sites.splice(sitelocation,1)}};DataloaderSet.prototype.getSiteById=function(siteid){var returnSite=null;var sitelocation=this.getSiteLocation(siteid);if(sitelocation!=null){returnSite=sites[sitelocation]}return returnSite};DataloaderSet.prototype.getSiteByPoint=function(point){var returnSite=null;for(var i=0;i<this.sites.length;i++){if(this.sites[i].getPoint().equals(point)){returnSite=sites[i];break}}return returnSite};DataloaderSet.prototype.getSites=function(){return this.sites};DataloaderSet.prototype.getOverlaySet=function(){return this.overlaySet};DataloaderSet.prototype.regenerateOverlaySet=function(){var curOverlays=this.overlaySet.getOverlays().slice(0);for(var i=0;i<curOverlays.length;i++){this.overlaySet.removeOverlay(curOverlays[i])}for(var i=0;i<this.sites.length;i++){this.overlaySet.addOverlay(this.sites[i].createMarker(this.iconObject))}};DataloaderSet.prototype.setColumns=function(columns){this.columns=columns;this.columnTypes=[];for(var i=0;i<columns.length;i++){var curColumn=columns[i];if(this.columnTypes[curColumn.type]==null){this.columnTypes[curColumn.type]=[]}this.columnTypes[curColumn.type].push(curColumn.num)}};DataloaderSet.prototype.getColumns=function(){return this.columns};DataloaderSet.prototype.hasColumnType=function(type){if(this.columnTypes[type]==null){return false}else{return this.columnTypes[type].length>0}};DataloaderSet.prototype.getTypeColumns=function(type){if(this.columnTypes[type]==null){return[]}else{return this.columnTypes[type]}};DataloaderSet.prototype.getSiteLocation=function(siteid){var location=null;for(var i=0;i<this.sites.length;i++){if(this.sites[i].getId()==siteid){location=i;break}}return location};DataloaderSetUser=function(email,download){this.email=email;this.download=download};DataloaderSetUser.prototype.setEmail=function(email){this.email=email};DataloaderSetUser.prototype.getEmail=function(){return this.email};DataloaderSetUser.prototype.setDownload=function(download){this.download=download};DataloaderSetUser.prototype.getDownload=function(){return this.download};function beginAddingSites(){$("#beginAdding").hide();$("#disabledBeginAdding").show();saveDatasetProperties(function(success){if(success==true){sitecreator.setReady(true);toggleSiteCreator();$("#saveDataset").show();$("#deleteDataset").show();$("#disabledDownloadSites").show()}else{$("#disabledBeginAdding").hide();$("#beginAdding").show()}})}function positionAddressBox(){var mapwidth=$("#map").width();var addressboxwidth=$("#addressBox").width();var leftpos=(mapwidth-addressboxwidth)/2;$("#addressBox").css("left",leftpos)}function addressExpand(){$("#collapsedContent").hide();$("#expandedContent").show();$("#addressStreet").focus()}function addressCancel(){addressClear();$("#collapsedContent").show();$("#expandedContent").hide()}function addressClear(){$("#addressStreet").val("");$("#addressCity").val("");$("#addressState").val("");$("#addressZip").val("");$("#errorText").html("")}function addressFind(){var addressObj=new Object;var blankAddress=true;var addressStreet=$.trim($("#addressStreet").val());if(addressStreet!=""){addressObj.address1=addressStreet;blankAddress=false}var addressCity=$.trim($("#addressCity").val());if(addressCity!=""){addressObj.city=addressCity;blankAddress=false}var addressState=$.trim($("#addressState").val());if(addressState!=""){addressObj.state=addressState;blankAddress=false}var addressZip=$.trim($("#addressZip").val());if(addressZip!=""){addressObj.zip=addressZip;blankAddress=false}if(blankAddress){$("#errorText").html("No address provided. Enter an address to locate.<br /><br />");$("#addressStreet").val("");$("#addressCity").val("");$("#addressState").val("");$("#addressZip").val("");return}var geocoder=new PClientGeocoder;geocoder.getLatLngFromAddressObject(addressObj,function(address){if(address.wasFound()){var addrLatLng=new PLatLng(address.y,address.x);if(map.getZoom()<13){map.setCenter(addrLatLng,13)}else{map.setCenter(addrLatLng)}addressCancel();sitecreator.pointSelected(addrLatLng,"geocode",null,address.addr)}else{$("#errorText").html("Address not found. Update field(s) or enter another address.<br /><br />")}})}function removeSimpleSite(siteid){$(".sitecontrols"+siteid).hide();var f=function(siteid){var curSite=sitecreator.currentSet.getSiteById(siteid);ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dlsi&act=rs&di="+sitecreator.currentSet.getId()+"&si="+curSite.getDid(),dataType:"json",success:function(result){if(result!=null&&result.dlsi!=null&&result.dlsi.status&&result.dlsi.status=="ok"){sitecreator.currentSet.removeSite(siteid);sitelist.refreshList();if(sitecreator.currentSet.sites.length<1){$("#downloadSites").hide();$("#disabledDownloadSites").show()}}else{alerter.popup("There was an error removing this site from the dataset.","OK");$(".sitecontrols"+siteid).show()}},error:function(){alerter.popup("There was an error removing this site from the dataset.","OK");$(".sitecontrols"+siteid).show()}})};if(sitecreator.currentSet.isModified()){saveDatasetProperties(function(success){if(success==true){f(siteid)}else{$("#deletesite"+siteid).show();return}})}else{f(siteid)}}function editSimpleSite(siteid){var site=sitecreator.currentSet.getSiteById(siteid);var point=site.getPoint();var mapBounds=map.getBounds();if(!mapBounds.contains(point)){map.setCenter(point)}sitecreator.pointSelected(point,"edit",siteid)}function openSimpleSiteImage(siteid){var site=sitecreator.currentSet.getSiteById(siteid);if(image=site.getImage()){var siteTitle=site.getTitle();siteTitle=siteTitle.replace(/</g,"&lt;").replace(/>/g,"&gt;");imageAlert(image,"Image for Site: "+siteTitle)}}function generateCreateSimpleSiteLink(lat,lng,address){var createSiteLinkHolder=document.createElement("div");$(createSiteLinkHolder).addClass("point_report_link_holder");$(createSiteLinkHolder).addClass("info_extra_link");var createSiteLink;if(sitecreator&&sitecreator.isEnabled()&&sitecreator.getType()=="simple"){createSiteLink=document.createElement("a");createSiteLink.innerHTML="Create Site";PEvent.addListener(createSiteLink,"click",function(e){if(sitecreator&&sitecreator.isEnabled()){session.remove("lng");session.remove("lat");session.remove("place");map.removeOverlay(map.currentAddressMarker);map.closeInfoWindow();var point=new PLatLng(lat,lng);sitecreator.pointSelected(point,"geocode",null,address);if(e&&e.stopPropagation){e.stopPropagation()}}})}else{createSiteLink=document.createElement("span")}$(createSiteLinkHolder).append(createSiteLink);return createSiteLinkHolder}DataloaderSimpleSiteCreator=function(set){this.clickEvent=null;this.addressBoxShowEvent=null;this.addressBoxHideEvent=null;this.editType=null;this.loading=false;this.ready=false;this.lastPoint=null;this.enabled=false;this.currentSet=null;this.currentSite=null;this.currentSiteMarker=null;this.currentSiteCounter=1;if(set){this.currentSet=set;this.currentSiteCounter=set.getSites().length+1}else{this.currentSet=new DataloaderSet;this.currentSet.setSimple(true)}map.addOverlaySet(this.currentSet.getOverlaySet())};DataloaderSimpleSiteCreator.prototype.getType=function(){return"simple"};DataloaderSimpleSiteCreator.prototype.setEditType=function(newedittype){this.editType=newedittype};DataloaderSimpleSiteCreator.prototype.getEditType=function(){return this.editType};DataloaderSimpleSiteCreator.prototype.enable=function(){var self=this;this.clickEvent=PEvent.addListener(map,"click",function(overlay,point){if(point){if($("#expandedContent").is(":visible")){addressCancel()}else if(map.getInfoWindow()&&!map.getInfoWindow().isHidden()){self.cancelPointInfoBubble()}else{var pointArgs="&lat="+point.lat()+"&lng="+point.lng();ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=site&act=u"+pointArgs,dataType:"json",success:function(con){if(con!=null&&con.site!=null&&con.site.con==true){self.pointSelected(point,"click")}},error:function(){alerter.popup("There was an error creating this site.","OK")}})}}else if(overlay){var sitePoint=new PLatLng(overlay.point.lat(),overlay.point.lng());var site=self.currentSet.getSiteByPoint(sitePoint);if(site){self.pointSelected(sitePoint,"edit",site.getId())}}});if(!map.getInfoWindow()||map.getInfoWindow()&&map.getInfoWindow().visible==false){$("#addressBox").show()}this.addressBoxShowEvent=PEvent.addListener(map,"infowindowopen",function(){$("#addressBox").hide()});this.addressBoxHideEvent=PEvent.addListener(map,"infowindowclose",function(){$("#addressBox").show()});toggleMap(true);this.enabled=true};DataloaderSimpleSiteCreator.prototype.disable=function(){PEvent.removeListener(this.clickEvent);PEvent.removeListener(this.addressBoxHideEvent);PEvent.removeListener(this.addressBoxShowEvent);$("#addressBox").hide();toggleMap(false);this.enabled=false};DataloaderSimpleSiteCreator.prototype.isEnabled=function(){return this.enabled};DataloaderSimpleSiteCreator.prototype.setLoading=function(loading){this.loading=loading};DataloaderSimpleSiteCreator.prototype.getLoading=function(){return this.loading};DataloaderSimpleSiteCreator.prototype.setReady=function(ready){this.ready=ready};DataloaderSimpleSiteCreator.prototype.isReady=function(){return this.ready};DataloaderSimpleSiteCreator.prototype.clearSet=function(){this.clickEvent=null;this.editType=null;this.lastPoint=null;this.currentSet=null;this.currentSite=null;this.currentSiteMarker=null;this.currentSiteCounter=1};DataloaderSimpleSiteCreator.prototype.pointSelected=function(point,selectMethod,editSite,defaultDescription){if(point){if(this.lastPoint==null){this.lastPoint=point}else if(selectMethod=="click"){if(this.lastPoint.lat()==point.lat()&&this.lastPoint.lng()==point.lng()){return}}this.lastPoint=point;if(!editSite){sitelist.refreshList(null,"new");this.currentSite=new DataloaderSimpleSite;
this.currentSite.setId(this.currentSiteCounter)}else{sitelist.refreshList(null,editSite);this.currentSite=this.currentSet.getSiteById(editSite)}this.currentSite.setPoint(point);if(defaultDescription){this.currentSite.setDescription(defaultDescription)}var bubbleContents;bubbleContents=this.createPointInfoBubble(editSite);this.currentSiteMarker=new PMarker(point,this.currentSet.getIcon());map.addOverlay(this.currentSiteMarker);$("#downloadSites").hide();$("#disabledDownloadSites").show();map.openInfoWindow(point,bubbleContents);$("#infoWindowClose").hide();$("#siteTitle").focus()}};DataloaderSimpleSiteCreator.prototype.createPointInfoBubble=function(editSite){var siteTitle=this.currentSite.getTitle().replace(/'/g,"&#39;");var siteDescription=this.currentSite.getDescription();var siteImage=this.currentSite.getImage();var siteImageDefaultClass="";if(siteImage==null||siteImage==""){siteImage="URL to Image (Optional)";siteImageDefaultClass=" textboxdefault"}var html="<table border='0'><tr><td>Title:</td><td><input type='text' maxlength='50' value='"+siteTitle+"' class='dltextbox titletextbox' id='siteTitle' onkeyup='sitelist.updateTempSite(this.value);'></td></tr></table>";html+="<table border='0'><tr><td>Description:</td></tr><tr><td><textarea class='dltextbox desctextbox' id='siteDescription' maxlength='2000' onkeyup='sitelist.updateTempSite(null, this.value);'>"+siteDescription+"</textarea></td></tr></table>";html+="<table border='0'><tr><td>Image:</td><td><input type='text' value='"+siteImage+"' class='dltextbox imagetextbox"+siteImageDefaultClass+"' id='siteImage' onfocus='firstTextboxFocus(this.id)'></td></tr></table>";html+="<div class='buttonRow'><table border='0'><tr>";if(editSite==null){html+="<td><a onclick='sitecreator.savePointInfoBubbleCheck();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&w=66&h=24&tx=Save' border='0' alt='Save'></a></td>";html+="<td><a onclick='sitecreator.cancelPointInfoBubble();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&w=76&h=24&tx=Cancel' border='0' alt='Cancel'></a></td>"}else{html+="<td><a onclick='sitecreator.deletePointInfoBubbleCheck();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&w=92&h=24&tx=Delete%20Site' border='0' alt='Delete Site'></a></td>";html+="<td><a onclick='sitecreator.savePointInfoBubbleCheck("+editSite+");'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&w=54&h=24&tx=Save' border='0' alt='Save'></a></td>";html+="<td><a onclick='sitecreator.cancelPointInfoBubble();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&w=62&h=24&tx=Cancel' border='0' alt='Cancel'></a></td>"}html+="</tr></table></div>";var infoBubbleContainer=document.createElement("div");infoBubbleContainer.className="InfoBubbleContents";var f=function(e){if(!e){var e=window.event}e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}};PEvent.addListener(infoBubbleContainer,"mousedown",f);PEvent.addListener(infoBubbleContainer,"click",f);var siteInfo=document.createElement("div");siteInfo.className="SiteInfoBubble";siteInfo.innerHTML=html;infoBubbleContainer.appendChild(siteInfo);return infoBubbleContainer};DataloaderSimpleSiteCreator.prototype.savePointInfoBubbleCheck=function(editSite){var self=this;var message="Adding site to dataset...";if(editSite){message="Saving changes to site..."}this.togglePointIndicator(true,message);var siteTitle=$.trim($("#siteTitle").val());if(siteTitle==""){alerter.popup("Please enter a title for this site.","OK");this.togglePointIndicator(false);$("#siteTitle").focus();return}var siteImageField=$("#siteImage");var siteImage=$.trim(siteImageField.val());if(siteImage&&siteImage!=""&&!siteImageField.hasClass("textboxdefault")){if(!(siteImage.indexOf("http://")==0||siteImage.indexOf("https://")==0)){siteImage="http://"+siteImage;siteImageField.val(siteImage)}var image=$("<img />");image.load(function(){self.saveDatasetCheck("save",editSite)});image.error(function(){alerter.popup("Unable to load the specified image.","OK");self.togglePointIndicator(false)});image.attr("src",siteImage)}else{this.saveDatasetCheck("save",editSite)}};DataloaderSimpleSiteCreator.prototype.savePointInfoBubble=function(editSite){var self=this;var newSite=this.currentSite;newSite.setTitle($.trim($("#siteTitle").val()));newSite.setDescription($("#siteDescription").val());var siteImageField=$("#siteImage");var siteImage=$.trim(siteImageField.val());if(siteImage&&siteImage!=""&&!siteImageField.hasClass("textboxdefault")){this.currentSite.setImage(siteImage)}if(editSite){newSite.setDid(this.currentSite.getDid());newSite.setSaved(true)}var siteString=JSON.stringify(newSite,["did","x","y","title","description","image","saved"]);ajax.call({type:"POST",url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dlsi&sbr=1&act=ss&di="+this.currentSet.getId(),dataType:"json",data:siteString,success:function(result){if(result!=null&&result.dlsi!=null&&result.dlsi.status&&result.dlsi.status=="ok"&&result.dlsi.did){self.savePointInfoBubbleFinish(result.dlsi.did,result.dlsi.box,editSite)}else if(result!=null&&result.dlsi!=null&&result.dlsi.status&&result.dlsi.status=="trialmax"){alerter.popup("You have reached the maximum of "+trialUserMaxDatasetPoints+" points for trial users. <a href='/pricing.html' target='_blank'>Subscribe</a> to load more.","OK");self.togglePointIndicator(false)}else{alerter.popup("There was an error adding this site to the dataset.","OK");self.togglePointIndicator(false)}},error:function(){alerter.popup("There was an error adding this site to the dataset.","OK");self.togglePointIndicator(false)}})};DataloaderSimpleSiteCreator.prototype.savePointInfoBubbleFinish=function(did,box,editSite){this.currentSite.setDid(did);this.currentSite.setTitle($.trim($("#siteTitle").val()));this.currentSite.setDescription($("#siteDescription").val());var siteImageField=$("#siteImage");var siteImage=$.trim(siteImageField.val());if(siteImage&&siteImage!=""&&!siteImageField.hasClass("textboxdefault")){this.currentSite.setImage(siteImage)}else{this.currentSite.setImage("")}this.currentSite.setSaved(true);this.currentSite.setDid(did);if(editSite==null){this.currentSet.addSite(this.currentSite)}else{this.currentSet.setSite(this.currentSite)}map.removeOverlay(this.currentSiteMarker);this.currentSite=null;this.currentSiteMarker=null;if(editSite==null){this.currentSiteCounter++}map.closeInfoWindow();sitelist.refreshList();if(box){this.currentSet.setBox(box.xmin,box.ymin,box.xmax,box.ymax)}$("#disabledDownloadSites").hide();$("#downloadSites").show()};DataloaderSimpleSiteCreator.prototype.deletePointInfoBubbleCheck=function(editSite){this.togglePointIndicator(true,"Removing site from dataset...");this.saveDatasetCheck("delete")};DataloaderSimpleSiteCreator.prototype.deletePointInfoBubble=function(){var self=this;ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dlsi&act=rs&di="+this.currentSet.getId()+"&si="+this.currentSite.getDid(),dataType:"json",success:function(result){if(result!=null&&result.dlsi!=null&&result.dlsi.status&&result.dlsi.status=="ok"){self.deletePointInfoBubbleFinish(result.dlsi.box)}else{alerter.popup("There was an error removing this site from the dataset.","OK");self.togglePointIndicator(false)}},error:function(){alerter.popup("There was an error removing this site from the dataset.","OK");self.togglePointIndicator(false)}})};DataloaderSimpleSiteCreator.prototype.deletePointInfoBubbleFinish=function(box){var currentId=this.currentSite.getId();map.removeOverlay(this.currentSiteMarker);this.currentSite=null;this.currentSiteMarker=null;this.currentSet.removeSite(currentId);sitelist.refreshList();map.closeInfoWindow();if(this.currentSet.sites.length<1){$("#downloadSites").hide();$("#disabledDownloadSites").show()}else{$("#disabledDownloadSites").hide();$("#downloadSites").show()}if(box){this.currentSet.setBox(box.xmin,box.ymin,box.xmax,box.ymax)}else{this.currentSet.clearBox()}};DataloaderSimpleSiteCreator.prototype.saveDatasetCheck=function(act,editSite){var self=this;if(this.currentSet.isModified()){saveDatasetProperties(function(success){if(success==true){if(act=="save"){self.savePointInfoBubble(editSite)}else if(act=="delete"){self.deletePointInfoBubble()}}else{self.togglePointIndicator(false);return}})}else{if(act=="save"){this.savePointInfoBubble(editSite)}else if(act=="delete"){this.deletePointInfoBubble()}}};DataloaderSimpleSiteCreator.prototype.togglePointIndicator=function(turnOn,message){if($("#siteSaveIndicator").length>0&&turnOn==false){$("#siteSaveIndicator").remove();$(".SiteInfoBubble").show()}else if($("#siteSaveIndicator").length==0&&turnOn==true){var saveIndicator=document.createElement("div");saveIndicator.className="SiteSaveIndicator";saveIndicator.id="siteSaveIndicator";if(message==null){message="Saving..."}var html="<div style='width:232px; height:1px;'>&nbsp;</div>";html+="<br /><br /><br /><img src='/images/busy.gif' /><br /><br />"+message;saveIndicator.innerHTML=html;var infoBubbleContents=$(".InfoBubbleContents");var siteInfoBubble=$(".SiteInfoBubble");siteInfoBubble.hide();infoBubbleContents.append(saveIndicator)}};DataloaderSimpleSiteCreator.prototype.cancelPointInfoBubble=function(){map.removeOverlay(this.currentSiteMarker);this.currentSite=null;this.currentSiteMarker=null;sitelist.refreshList();map.closeInfoWindow();if(this.currentSet.sites.length<1){$("#downloadSites").hide();$("#disabledDownloadSites").show()}else{$("#disabledDownloadSites").hide();$("#downloadSites").show()}};DataloaderSimpleSite=function(){this.id=null;this.did=null;this.x=null;this.y=null;this.title="";this.description="";this.image="";this.saved=false;this.point=null;this.marker=null};DataloaderSimpleSite.prototype.setId=function(newid){this.id=newid};DataloaderSimpleSite.prototype.getId=function(){return this.id};DataloaderSimpleSite.prototype.setDid=function(newdid){this.did=newdid};DataloaderSimpleSite.prototype.getDid=function(){return this.did};DataloaderSimpleSite.prototype.setTitle=function(title){this.title=title};DataloaderSimpleSite.prototype.getTitle=function(){return this.title};DataloaderSimpleSite.prototype.setDescription=function(description){this.description=description};DataloaderSimpleSite.prototype.getDescription=function(){return this.description};DataloaderSimpleSite.prototype.setImage=function(image){this.image=image};DataloaderSimpleSite.prototype.getImage=function(){return this.image};DataloaderSimpleSite.prototype.setPoint=function(point){this.point=point;this.x=point.lng();this.y=point.lat()};DataloaderSimpleSite.prototype.getPoint=function(){return this.point};DataloaderSimpleSite.prototype.createMarker=function(icon){if(this.point){this.marker=new PMarker(this.point,icon);return this.marker}else{return null}};DataloaderSimpleSite.prototype.getMarker=function(){return this.marker};DataloaderSimpleSite.prototype.setSaved=function(saved){this.saved=saved};DataloaderSimpleSite.prototype.isSaved=function(){return this.saved};DataloaderSimpleSiteList=function(){this.currentPage=1;this.sitesPerPage=5};DataloaderSimpleSiteList.prototype.setSitesPerPage=function(sitesPerPage){this.sitesPerPage=sitesPerPage};DataloaderSimpleSiteList.prototype.refreshList=function(page,inProcess){$("#sitesBox").text("");sites=sitecreator.currentSet.getSites().slice(0);if(inProcess=="new"){sites.push(new DataloaderSimpleSite);inProcess=sites.length-1}else if(inProcess!=null){inProcess=this.getSiteLocation(sites,inProcess)}var numPages=0;var numSites=sites.length;if(sites.length>this.sitesPerPage){var numPages=Math.ceil(numSites/this.sitesPerPage);if(inProcess!=null){page=Math.ceil((inProcess+1)/this.sitesPerPage)}else{if(!page){page=this.currentPage}}if(page!=1){if(page=="last"||page>numPages){page=numPages}var firstSiteNum=(page-1)*this.sitesPerPage;for(var i=firstSiteNum;i<firstSiteNum+this.sitesPerPage;i++){if(sites[i]==null){break}$("#sitesBox").append(this.getSingleSiteInfoBox(sites[i],page,inProcess!=null&&inProcess==i))}}else{page=1;for(var i=0;i<this.sitesPerPage;i++){if(sites[i]==null){break}$("#sitesBox").append(this.getSingleSiteInfoBox(sites[i],page,inProcess!=null&&inProcess==i))}}}else{for(var i=0;i<numSites;i++){var curSite=sites[i];$("#sitesBox").append(this.getSingleSiteInfoBox(sites[i],1,inProcess!=null&&inProcess==i))}}if(numPages>0){var htmlPages='<br /><div class="sitesPageLinks">Pages: ';for(var i=0;i<numPages;i++){var pageLinkNum=i+1;var firstSite=this.sitesPerPage*i+1;var lastSite=this.sitesPerPage*i+this.sitesPerPage;if(page==i+1||!page&&i==0){htmlPages+=""+firstSite+"-"+lastSite+" "}else{htmlPages+='<a onclick="sitelist.refreshList('+pageLinkNum+');">'+firstSite+"-"+lastSite+"</a> "}}htmlPages+="</div>";$("#sitesBox").append(htmlPages)}this.currentPage=page};DataloaderSimpleSiteList.prototype.getSiteLocation=function(sitearray,siteid){var location=null;for(var i=0;i<sitearray.length;i++){if(sitearray[i].getId()==siteid){location=i;break}}return location};DataloaderSimpleSiteList.prototype.getSingleSiteInfoBox=function(site,page,tempSite){var siteid=site.getId();var title=site.getTitle();if(title==""){title="[New Site]"}else{title=title.replace(/</g,"&lt;").replace(/>/g,"&gt;")}var description=site.getDescription();description=description.replace(/</g,"&lt;").replace(/>/g,"&gt;");description=description.replace(/\n\r?/g,"<br />");var icon=sitecreator.currentSet.getIcon().image;var image=site.getImage();if(image){image='<b>Image:</b> <a onclick="openSimpleSiteImage('+siteid+');">'+image+"</a>"}else{image=""}var html='<div class="site"><table border="0"><tr>';if(tempSite){html+='<td width="100%"><span class="currentSiteIcon"><img src="'+icon+'" border="0" alt="Icon" /></span>&nbsp;&nbsp;<b><span id="inProcessNameDiv">'+title+'</span></b><br /><span id="inProcessDescDiv">'+description+"</span></td>"}else{html+='<td width="100%"><a onclick="editSimpleSite('+siteid+');"><span class="currentSiteIcon"><img src="'+icon+'" border="0" alt="Icon" /></span></a>&nbsp;&nbsp;<b>'+title+"</b><br />"+description+"<br />"+image+"</td>";html+='<td><span class="sitecontrols'+site.getId()+'"><a onclick="editSimpleSite('+siteid+');"><img src="images/rename_button.png" alt="Edit" title="Edit" border="0" /></a></span></td>';html+='<td><span class="sitecontrols'+site.getId()+'"><a onclick="removeSimpleSite('+site.getId()+');"><img src="images/close_button2.gif" alt="Remove" title="Remove" border="0" /></a></span></td>'}html+="</tr></table></div>";return html};DataloaderSimpleSiteList.prototype.updateTempSite=function(title,description){if(title||title==""){title=title.replace(/</g,"&lt;").replace(/>/g,"&gt;");$("#inProcessNameDiv").html(title)}if(description||description==""){description=description.replace(/</g,"&lt;").replace(/>/g,"&gt;");description=description.replace(/\n\r?/g,"<br />");$("#inProcessDescDiv").html(description)}};DataloaderSiteCreator=function(set){this.windowResizeEvent=null;this.clickEvent=null;this.editType=null;this.loading=false;this.currentSet=null;this.mapEnabled=false;this.datasetUid=null;this.geocodeCapable=false;this.numberOfTabs=0;this.currentTab=0;this.tabButtonUrl=PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=5&hp=16&tx=";this.tabDisabledButtonUrl=PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=5&hp=16&alt=2&tx=";this.recentRow=null;this.recentCol=null;this.columnTypes=new Object;this.columnTypes.all=[];this.columnTypes["text"]={id:1,name:"Text"};this.columnTypes[1]=this.columnTypes["text"];this.columnTypes.all.push(this.columnTypes["text"]);this.columnTypes["number"]={id:2,name:"Number"};this.columnTypes[2]=this.columnTypes["number"];this.columnTypes.all.push(this.columnTypes["number"]);this.columnTypes["image"]={id:10,name:"Image URL"};this.columnTypes[10]=this.columnTypes["image"];this.columnTypes.all.push(this.columnTypes["image"]);this.columnTypes["address1"]={id:3,name:"Address 1"};this.columnTypes[3]=this.columnTypes["address1"];this.columnTypes.all.push(this.columnTypes["address1"]);this.columnTypes["address2"]={id:4,name:"Address 2"};this.columnTypes[4]=this.columnTypes["address2"];this.columnTypes.all.push(this.columnTypes["address2"]);this.columnTypes["city"]={id:5,name:"City"};this.columnTypes[5]=this.columnTypes["city"];this.columnTypes.all.push(this.columnTypes["city"]);this.columnTypes["state"]={id:6,name:"State"};this.columnTypes[6]=this.columnTypes["state"];this.columnTypes.all.push(this.columnTypes["state"]);this.columnTypes["zip"]={id:7,name:"Zip Code"};this.columnTypes[7]=this.columnTypes["zip"];this.columnTypes.all.push(this.columnTypes["zip"]);this.columnTypes["lat"]={id:8,name:"Latitude"};this.columnTypes[8]=this.columnTypes["lat"];this.columnTypes.all.push(this.columnTypes["lat"]);this.columnTypes["lng"]={id:9,name:"Longitude"};this.columnTypes[9]=this.columnTypes["lng"];this.columnTypes.all.push(this.columnTypes["lng"]);this.numericTypes=new Object;this.numericTypes.dollar=1;this.numericTypes.percent=2;this.container=$("<div />");this.dialogTabs=$("<div />");this.dialogTabs.attr("id","dataloaderPopupTabs");this.dialogContent=$("<div />");this.dialogContent.attr("id","dataloaderPopupDialog");this.container.append(this.dialogTabs,this.dialogContent);var div=$("<div />");div.addClass("contentContainer");this.contentContainer=div;this.dialogContentHeightAdjustment=14;if(set){this.currentSet=set}else{this.currentSet=new DataloaderSet;this.currentSet.setSimple(false)}};DataloaderSiteCreator.prototype.getType=function(){return"spreadsheet"};DataloaderSiteCreator.prototype.setEditType=function(newedittype){this.editType=newedittype};DataloaderSiteCreator.prototype.getEditType=function(){return this.editType};DataloaderSiteCreator.prototype.isEnabled=function(){return true};DataloaderSiteCreator.prototype.setLoading=function(loading){this.loading=loading};DataloaderSiteCreator.prototype.getLoading=function(){return this.loading};DataloaderSiteCreator.prototype.clearSet=function(){this.editType=null;this.currentSet=null;this.datasetUid=null;this.geocodeCapable=false;this.recentRow=null;this.recentCol=null;this.numberOfTabs=0;this.currentTab=0};DataloaderSiteCreator.prototype.enableMap=function(){this.clickEvent=PEvent.addListener(map,"click",function(overlay,point){PMIdentificationModule.clickHandler(overlay,point)});toggleMap(true);this.mapEnabled=true};DataloaderSiteCreator.prototype.disableMap=function(){PEvent.removeListener(this.clickEvent);toggleMap(false);this.mapEnabled=false};DataloaderSiteCreator.prototype.isMapEnabled=function(){return this.mapEnabled};DataloaderSiteCreator.prototype.buildDialog=function(tabs,defaultTab){this.closeDialog();var self=this;if(defaultTab==null||defaultTab==0){defaultTab=1}var dialogContent=this.contentContainer;for(var i=0;i<tabs.length;i++){var curTab=tabs[i];var tabNum=i+1;if(curTab.enabled==null){curTab.enabled=true}var tab=$("<div />");tab.attr("id","spdlTab"+tabNum);tab.addClass("popupTab spdlTab");var tabImage=$("<img />");if(curTab.enabled===true){tabImage.attr("src",this.tabButtonUrl+encodeURIComponent(curTab.title));tabImage.css("cursor","pointer")}else{tabImage.attr("src",this.tabDisabledButtonUrl+encodeURIComponent(curTab.title))}tab.append(tabImage);this.dialogTabs.append(tab);var tabContents=$("<div />");tabContents.attr("id","spdlTabContents"+tabNum);tabContents.addClass("spdlTabContents");if(tabNum==defaultTab){this.currentTab=tabNum;tab.addClass("selectedPopupTab")}else{tabContents.hide()}dialogContent.append(tabContents);if(curTab.content!=null){tabImage.click(function(tabNum){return function(){self.dialogTabSelected(tabNum)}}(tabNum))}this.numberOfTabs++}this.dialogContent.append(dialogContent);this.dialog=$("<div/>");this.dialog.attr("id","dataloaderPopupContainer");this.dialog.append(this.container);this.dialog.dialog({close:function(e,ui){self.closeDialog()},modal:true,closeOnEscape:false,draggable:false,resizable:false,zIndex:5002,dialogClass:"juiDataloaderDialog",height:0,width:0,position:{at:"left top"}});for(var i=0;i<tabs.length;i++){var tabId="spdlTabContents"+(i+1);document.getElementById(tabId).innerHTML=tabs[i].content}this.resizeDialog();this.windowResizeEvent=PEvent.addListener(window,"resize",function(){self.resizeDialog()});this.dialogContent.show()};DataloaderSiteCreator.prototype.dialogTabSelected=function(tabNum){if(this.currentTab==tabNum){return}$(".spdlTabContents").hide();$("#spdlTab"+this.currentTab).removeClass("selectedPopupTab");$("#spdlTab"+tabNum).addClass("selectedPopupTab");$("#spdlTabContents"+tabNum).show();this.currentTab=tabNum;this.resizeDialog()};DataloaderSiteCreator.prototype.resizeDialog=function(){var wHeight=$(window).height();var wWidth=$(window).width();var height=Math.floor(wHeight*.8);var width=Math.floor(wWidth*.85);var cHeight=height-this.dialogTabs.height();this.dialogContent.css({height:cHeight,width:width});this.dialogTabs.css("width",width);$(".juiDataloaderDialog").css({top:(wHeight-height)/2,left:(wWidth-width)/2});var self=this;this.dialogContent.waitForImages(function(){var variableHeight=$("#spdlTabContents"+self.currentTab+" .variableHeight");if(variableHeight.length>0){var nonvariableHeight=$("#spdlTabContents"+self.currentTab+" .nonvariableHeight");var nonvariableHeightTotal=0;nonvariableHeight.each(function(){nonvariableHeightTotal+=$(this).outerHeight(true)});var varHeight=cHeight-nonvariableHeightTotal-self.dialogContentHeightAdjustment;var minHeight=0;if(variableHeight.hasClass("typeTable")){minHeight=130}if(variableHeight.hasClass("editSitesTable")||variableHeight.hasClass("columnPermTable")){minHeight=300}variableHeight.css("height",Math.max(varHeight,Math.min(minHeight,variableHeight.height())))}})};DataloaderSiteCreator.prototype.closeDialog=function(){this.dialogTabs.html("");this.contentContainer.html("");this.numberOfTabs=0;this.currentTab=0;PEvent.removeListener(this.windowResizeEvent);$("#dataloaderPopupContainer").remove()};DataloaderSiteCreator.prototype.displayLoadingDialog=function(message,title){if(message==null||$.trim(message)==""){message="Loading..."}var dialogContent="<table class='centerContainer'><tr><td><div class='inProgress'>"+message+"<br /><br /><img src='/images/busy.gif' alt='Loading...' /></div></td></tr></table>";this.buildDialog([{title:title,content:dialogContent,enabled:true}]);$(".centerContainer").css("height",this.dialogContent.height()-this.dialogContentHeightAdjustment+"px")};DataloaderSiteCreator.prototype.selectColumnTypesDialog=function(uid,columns){this.datasetUid=uid;var addressFields=[];var latlngFields=[];var otherColumns=[];for(var i=0;i<columns.length;i++){var curColumn=columns[i];switch(curColumn.type){case this.columnTypes["address1"].id:addressFields[0]=curColumn;break;case this.columnTypes["address2"].id:addressFields[1]=curColumn;break;case this.columnTypes["city"].id:addressFields[2]=curColumn;break;case this.columnTypes["state"].id:addressFields[3]=curColumn;break;case this.columnTypes["zip"].id:addressFields[4]=curColumn;break;case this.columnTypes["lat"].id:latlngFields[0]=curColumn;break;case this.columnTypes["lng"].id:latlngFields[1]=curColumn;break;default:otherColumns.push(curColumn);break}}var displayAddress=addressFields.length>0;var displayLatLng=latlngFields.length>0;var displayBoth=displayAddress&&displayLatLng;var content="<div class='nonvariableHeight'>";if(displayBoth){content+="<div class='tableHeader'>Confirm that these columns contain the information to locate an address. Use the \"remaining columns\" section to find missing or mislabeled data types.</div><div class='typeTableRow'><table class='layoutTable'><tr>"}else if(displayAddress){content+="<div class='tableHeader'>Confirm that these columns are to be used for geocoding addresses. Use the \"remaining columns\" section to find missing or mislabeled data types.</div><div class='typeTableRow'><table class='layoutTable'><tr>"}else if(displayLatLng){content+="<div class='tableHeader'>Confirm that these columns represent the latitude and longitude for each point. Use the \"remaining columns\" section to find missing or mislabeled data types.</div><div class='typeTableRow'><table class='layoutTable'><tr>"}if(displayAddress){content+="<td><div id='addressTable' class='typeTable'><table><tr><th>Column Name:</th><th>Data Type:</th></tr>";var numRows=0;for(var i=0;i<addressFields.length;i++){var curField=addressFields[i];if(addressFields[i]!=null){var fieldNum=curField.num;var rowClass="";if(numRows%2==1){rowClass=" class='altRow'"}content+="<tr><td"+rowClass+">"+curField.name+"</td><td"+rowClass+">"+this.buildTypeDropdown(fieldNum,this.columnTypes[curField.type].id)+"</td></tr>";numRows++}}content+="</table></div></td>"}if(displayBoth){content+="<td class='andor'><div class='typeTable'>and /<br />or</div></td>"}if(displayLatLng){content+="<td><div id='latlngTable' class='typeTable'><table><tr><th>Column Name:</th><th>Data Type:</th></tr>";for(var i=0;i<latlngFields.length;i++){var curField=latlngFields[i];var fieldNum=curField.num;var rowClass="";if(i%2==1){rowClass=" class='altRow'"}content+="<tr><td"+rowClass+">"+curField.name+"</td><td"+rowClass+">"+this.buildTypeDropdown(fieldNum,this.columnTypes[curField.type].id)+"</td></tr>"}content+="</table></div></td>"}if(displayAddress||displayLatLng){content+="</table></div><hr class='typeTableDivider' />"}otherColumns.sort(function(a,b){if(a==null){return 1}else if(b==null){return-1}else{return a.num-b.num}});content+="<div class='tableHeader'>Confirm the types for the remaining columns:</div></div>";content+="<div class='typeTableRow'><div id='otherTable' class='typeTable scrollingTypeTable variableHeight'><table><tr><th>Column Name:</th><th>Data Type:</th><th>$</th><th>%</th></tr>";for(var i=0;i<otherColumns.length;i++){var curColumn=otherColumns[i];if(curColumn==null){break}var colNum=curColumn.num;var colType=curColumn.type;var rowClass="";if(i%2==1){rowClass=" class='altRow'"}var disableNumericRadios=" disabled";var dollarCheck="";var percentCheck="";if(colType==this.columnTypes["number"].id){disableNumericRadios="";if(curColumn.numtype!=null){if(curColumn.numtype==this.numericTypes.dollar){dollarCheck=" checked"}else if(curColumn.numtype==this.numericTypes.percent){percentCheck=" checked"}}}content+="<tr><td"+rowClass+">"+curColumn.name+"</td><td"+rowClass+">"+this.buildTypeDropdown(colNum,colType)+"</td><td><input type='radio' id='col"+colNum+"NumTypeD' name='col"+colNum+"NumType' value='"+this.numericTypes.dollar+"' onmousedown='sitecreator.numericTypeRadioClicked(this);'"+disableNumericRadios+dollarCheck+" /></td><td><input type='radio' id='col"+colNum+"NumTypeP' name='col"+colNum+"NumType' value='"+this.numericTypes.percent+"' onmousedown='sitecreator.numericTypeRadioClicked(this);'"+disableNumericRadios+percentCheck+" /></td></tr>"}content+="</table></div></div><br />";content+="<div class='buttonRow nonvariableHeight'>";content+="<div class='leftButtons'><a onclick='sitecreator.deleteReimportAlert();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=5&hp=16&tx=Delete%20Points%20and%20Reimport' alt='Delete Points and Reimport' /></a></div>";content+="<div class='rightButtons'><a onclick='sitecreator.confirmColumns();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=5&hp=16&tx=Next%20%3E%3E' alt='Next >>' /></a></div>";content+="</div>";this.buildDialog([{title:"Import Points",content:content,enabled:true}]);$(".scrollingTypeTable").each(function(){var innerTable=$(this).find("table");$(this).width(innerTable.width()+2)})};DataloaderSiteCreator.prototype.buildTypeDropdown=function(colNum,colDefault){if(colNum==null||typeof colNum=="string"&&colNum==""){return""}if(colDefault==null){colDefault=""}var dropdown="<select id='colType"+colNum+"' class='typeSelect' onchange='sitecreator.typeDropdownChange(this, "+colNum+");'>";var types=this.columnTypes.all;for(var i=0;i<types.length;i++){var curType=types[i];var selected="";if(curType.id==colDefault){selected=" selected "}dropdown+="<option value='"+curType.id+"'"+selected+">"+curType.name+"</option>"}dropdown+="</select>";return dropdown};DataloaderSiteCreator.prototype.typeDropdownChange=function(dropdown,colNum){if($(dropdown).val()==this.columnTypes["number"].id){$("input[name=col"+colNum+"NumType]:radio").removeAttr("disabled")}else{var radios=$("input[name=col"+colNum+"NumType]:radio");radios.each(function(){$(this).attr("checked",false);$(this).attr("disabled","disabled")})}};DataloaderSiteCreator.prototype.numericTypeRadioClicked=function(radioBox){var radioBox=$(radioBox);if(radioBox.is(":enabled")&&radioBox.attr("checked")){radioBox.mouseup(function(){setTimeout(function(){radioBox.attr("checked",false)});radioBox.unbind("mouseup")})}};DataloaderSiteCreator.prototype.deleteReimportAlert=function(){var self=this;alerter.popup("This will delete the points in your dataset and allow you to upload a new CSV. Do you wish to continue?","No","Yes",function(){self.deleteReimport()})};DataloaderSiteCreator.prototype.deleteReimport=function(skipDatabaseDelete){if(this.currentSet.isSaved()){if(!skipDatabaseDelete){deleteDataset(this.currentSet.getId())}this.currentSet.setId(null);this.currentSet.setSaved(false);this.disableMap();$(".siteEditingFunction").hide();$(".datasetFunction").hide();$("#importCSVStep").show()}this.currentSet.columns=null;this.currentSet.columnTypes=[];this.currentSet.numSites=null;clearCSVFileSelector();map.clearOverlays();map.clearOverlaySets();map.closeInfoWindow();session.remove("dlo");datasetSearch.reset();resetDataloaderMapZoom();updateMapOverlayText();this.closeDialog()};DataloaderSiteCreator.prototype.confirmColumns=function(){var self=this;var specialTypes=[];var duplicatedSpecialTypes=[];var columns=[];$(".typeSelect").each(function(){var curDropdown=$(this);var curType=curDropdown.val();if(curType!=self.columnTypes["text"].id&&curType!=self.columnTypes["number"].id){if(specialTypes[curType]==null){specialTypes[curType]=0}specialTypes[curType]++;if(specialTypes[curType]>1){if(specialTypes[curType]==2){duplicatedSpecialTypes.push(self.columnTypes[curType].name)}}}var colNum=curDropdown.attr("id").substring(7);var column=new Object;column.num=colNum;column.type=curType;if(curType==self.columnTypes["number"].id){var numType=$("input[name=col"+colNum+"NumType]:checked").val();if(numType!=null){column.numtype=numType}else{column.numtype=null}}columns.push(column)});if(duplicatedSpecialTypes.length>0){var message="The following column types have been set for more than one column:<br /><br />";for(var i=0;i<duplicatedSpecialTypes.length;i++){message+="- "+duplicatedSpecialTypes[i]+"<br />"}message+="<br />These types can only be set for one column each.";alerter.popup(message,"OK");return}var hasType=function(type){return!(specialTypes[self.columnTypes[type].id]==null||specialTypes[self.columnTypes[type].id]==0)};this.geocodeCapable=false;if(hasType("address1")&&(hasType("city")&&hasType("state")||hasType("zip"))){this.geocodeCapable=true}if(!(hasType("lat")&&hasType("lng"))&&!this.geocodeCapable){alerter.popup("In order to provide a location for each site, spreadsheets must have either a latitude and longitude column, or an address column combined with a zip column, or city and state columns.","OK");return}if(hasType("lat")?!hasType("lng"):hasType("lng")){alerter.popup("In order to use latitude and longitude, both must be assigned to a column.","OK");return}var columnUpdateError=function(error){var text="There was an error updating the columns of this dataset";if(error!=null){text+=": "+error}else{text+="."}alerter.popup(text,"OK")};ajax.call({type:"POST",url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dlsp&sbr=1&act=c",dataType:"json",data:{columns:JSON.stringify(columns),uid:this.datasetUid},success:function(result){if(result!=null&&result.dlsp!=null&&result.dlsp.status){if(result.dlsp.status=="ok"){self.validateDatasetValuesDialog()}else if(result.dlsp.status=="error"&&result.dlsp.error){columnUpdateError(result.dlsp.error)
}else{columnUpdateError()}}else{columnUpdateError()}},error:function(){columnUpdateError()}})};DataloaderSiteCreator.prototype.validateDatasetValuesDialog=function(){this.displayLoadingDialog("Validation in progress...","Import Points");var self=this;var validateError=function(error){var text="There was an error validating your spreadsheet";if(error!=null){text+=": "+error}else{text+="."}alerter.popup(text,"OK");self.closeDialog();toggleSiteCreator()};ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dlsp&act=v&uid="+this.datasetUid,dataType:"json",success:function(result){if(result!=null&&result.dlsp!=null&&result.dlsp.status){if(result.dlsp.status=="ok"){self.geocodeDatasetDialog()}else if(result.dlsp.status=="error"&&result.dlsp.error){validateError(result.dlsp.error)}else{validateError()}}else{validateError()}},error:function(){validateError()}})};DataloaderSiteCreator.prototype.genericImportError=function(){alerter.popup("There was an error importing your spreadsheet. Please try again or contact PolicyMap technical support.","OK");this.deleteReimport(true)};DataloaderSiteCreator.prototype.geocodeDatasetDialog=function(){this.displayLoadingDialog("Geocoding in progress...","Import Points");var self=this;ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dlsp&act=gc&uid="+this.datasetUid,dataType:"json",success:function(result){if(result!=null&&result.dlsp!=null&&result.dlsp.status){if(result.dlsp.status=="ok"){var geocodeResults={geocodedRows:result.dlsp.geocodedrows,latlngRows:result.dlsp.latlngrows,totalRows:result.dlsp.totalrows};self.getDatasetEditData(geocodeResults)}else{self.genericImportError()}}else{self.genericImportError()}},error:function(){self.genericImportError()}})};DataloaderSiteCreator.prototype.getDatasetEditData=function(geocodeResults){this.displayLoadingDialog("Building table...","Import Points");var self=this;ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dlsp&act=t&uid="+self.datasetUid,dataType:"json",success:function(response){if(response!=null&&response.dlsp!=null&&response.dlsp.status){if(response.dlsp.status=="ok"&&response.dlsp.table!=null){self.editDatasetDialog(response.dlsp.table,response.dlsp.columns,response.dlsp.labelcol,response.dlsp.searchcol,response.dlsp.sites,geocodeResults)}else{self.genericImportError()}}else{self.genericImportError()}},error:function(){self.genericImportError()}})};DataloaderSiteCreator.prototype.editDatasetDialog=function(table,columns,labelCol,searchCol,numSites,geocodeResults){var self=this;this.currentSet.setColumns(columns);this.currentSet.numSites=numSites;var setPerm=this.currentSet.getPermission();if(this.editType=="edit"){this.geocodeCapable=this.currentSet.hasColumnType(this.columnTypes["address1"].id)&&(this.currentSet.hasColumnType(this.columnTypes["city"].id)&&this.currentSet.hasColumnType(this.columnTypes["state"].id)||this.currentSet.hasColumnType(this.columnTypes["zip"].id))}var columnSortOptions=new Object;var columnOptions="<option value='none'>[None]</option>";for(var i=0;i<columns.length;i++){var curColumn=columns[i];if(curColumn.type!=this.columnTypes["image"].id){columnOptions+="<option value='"+curColumn.num+"'>"+curColumn.name+"</option>"}}var headerText="<span class='topHeaderText'>"+this.currentSet.title;var permLabel=$("#permlabel"+this.currentSet.permission).text();if(permLabel!=""){headerText+=" (Shared with"+permLabel.toLowerCase()+")"}headerText+="</span>";var editSitesContent="";editSitesContent="<div class='editSitesTop floatContainer nonvariableHeight'>";editSitesContent+="<div class='left'>"+headerText+"<br /><ol>";if(geocodeResults!=null){var latlngTotal=geocodeResults.latlngRows+geocodeResults.geocodedRows;editSitesContent+="<li>Result: "+latlngTotal+" of "+geocodeResults.totalRows+" points successfully geocoded.</li>"}editSitesContent+="<li>Click within an address field to manually edit address information. The system will automatically re-geocode updated address fields.</li><li>To sort your data, click on any of the column headers.</li></ol></div>";editSitesContent+="<div class='right'><table><tr><td class='leftTd'>Select field for label</br />to display (optional):</td>";editSitesContent+="<td><select id='labelColumn' onchange='sitecreator.labelColumnChange();'>"+columnOptions+"</select><br />";editSitesContent+="<span class='labelsDisabled'>Labels are only available for datasets<br />that contain up to 250 points.</span></td></tr>";editSitesContent+="<tr style='display: none;'><td class='leftTd'>Select field for<br />search (optional):</td>";editSitesContent+="<td><select id='searchColumn'>"+columnOptions+"</select></td></tr></table></div>";editSitesContent+="</div>";editSitesContent+="<div id='datasetTableContainer' class='editSitesTable variableHeight'>"+table+"</div>";for(var i=0;i<columns.length;i++){var curColumn=columns[i];switch(parseInt(curColumn.type)){case this.columnTypes["lat"].id:case this.columnTypes["lng"].id:columnSortOptions[i+2]={sorter:false};break;case this.columnTypes["number"].id:columnSortOptions[i+2]={sorter:"digit"};default:break}}if(this.geocodeCapable){editSitesContent+="<div class='floatContainer nonvariableHeight'><div class='addRowButton'>";editSitesContent+="<span class='enabledSaveButton'><a onclick='sitecreator.addDatasetRow();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=4&hp=12&tx=Add%20Row' alt='Add Row' /></a></span>";editSitesContent+="<span class='disabledSaveButton'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&alt=2&fs=11&vp=4&hp=12&tx=Add%20Row' alt='Add Row' /></span>";editSitesContent+="</div></div>"}editSitesContent+="<div class='buttonRow nonvariableHeight'>";if(this.editType=="create"){editSitesContent+="<div class='leftButtons'>";editSitesContent+="<span class='enabledSaveButton'><a onclick='sitecreator.deleteReimportAlert();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=5&hp=16&tx=Delete%20Points%20and%20Reimport' alt='Delete Points and Reimport' /></a></span>";editSitesContent+="<span class='disabledSaveButton'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&alt=2&vp=5&hp=16&tx=Delete%20Points%20and%20Reimport' alt='Delete Points and Reimport' /></span>";editSitesContent+="</div>"}editSitesContent+="<div class='rightButtons'>";editSitesContent+="<span class='enabledSaveButton'><a onclick='sitecreator.downloadSites();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=5&hp=16&tx=Download%20Points' alt='Download Points' /></a></span>";editSitesContent+="<span class='disabledSaveButton'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&alt=2&fs=11&vp=5&hp=16&tx=Download%20Points' alt='Download Points' /></span>";editSitesContent+="<span class='enabledSaveButton'><a onclick='sitecreator.saveDatasetButton();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=5&hp=16&tx=Save' alt='Save' /></a></span>";editSitesContent+="<span class='disabledSaveButton'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&alt=2&fs=11&vp=5&hp=16&tx=Save' alt='Save' /></span>";editSitesContent+="<span class='enabledSaveButton'><a onclick='sitecreator.goToMap();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=5&hp=16&tx=Save%20%26%20Close' alt='Save & Close' /></a></span>";editSitesContent+="<span class='disabledSaveButton'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&alt=2&fs=11&vp=5&hp=16&tx=Save%20%26%20Close' alt='Save & Close' /></span>";editSitesContent+="</div></div>";var isSiteLicense=PEnvironment.isSiteLicense;var myselfHeader="Display for Myself?";var publicHeader="Display for Public?";var individualHeader="Display for Individual Users?";if(isSiteLicense){publicHeader="Display for All Users?"}var setAccessContent="";setAccessContent="<div class='editSitesTop floatContainer nonvariableHeight'>";setAccessContent+="<div class='left'>"+headerText+"<br />Select the fields that will appear in the info bubble for each user category.</div>";setAccessContent+="<div class='right'>";if(setPerm==3){var checked="";if(this.currentSet.dlperm){checked=" checked"}setAccessContent+="<table><tr><td class='leftTd'><label for='sharedDownload'>Allow individual users permission<br />to download this dataset</label></td><td class='rightTd'><input type='checkbox' id='sharedDownloadBox' onclick='sitecreator.toggleDownloadPerm(this);'"+checked+" /></td></tr></table>"}setAccessContent+="</div>";setAccessContent+="</div>";setAccessContent+="<div id='columnTableContainer' class='columnPermTable variableHeight'><table id='columnTable'>";setAccessContent+="<tr><td class='firstRow'></td><td id='firstRowMyself' class='firstRow myselfColumn'>"+myselfHeader+"</td><td id='firstRowPublic' class='firstRow publicColumn'>"+publicHeader+"</td><td id='firstRowIndividual' class='firstRow individualColumn'>"+individualHeader+"<br /></td></tr>";setAccessContent+="<tr><td class='headerRow'>Field</td><td class='headerRow myselfColumn'><input type='checkbox' id='allMyself' value='1' onclick='sitecreator.toggleColumnAllPerm(this);'><label id='labelMyself' for='allMyself'> All</label></td><td class='headerRow publicColumn'><input type='checkbox' id='allPublic' value='2' onclick='sitecreator.toggleColumnAllPerm(this);'><label id='labelPublic' for='allPublic'> All</label></td><td class='headerRow individualColumn'><input type='checkbox' id='allIndividual' value='3' onclick='sitecreator.toggleColumnAllPerm(this);'><label id='labelIndividual' for='allIndividual'> All</label></td></tr>";for(var i=0;i<columns.length;i++){var curColumn=columns[i];var rowClass;if(i%2==0){rowClass="rowStyle1"}else{rowClass="rowStyle2"}setAccessContent+="<tr><td class='"+rowClass+"'>"+curColumn.name+"</td><td class='checkBoxCell "+rowClass+" myselfColumn'><input type='checkbox' id='myselfBox"+i+"' class='myselfBox' value='"+i+"' onclick='sitecreator.toggleColumnPerm(this);'></td><td class='checkBoxCell "+rowClass+" publicColumn'><input type='checkbox' id='publicBox"+i+"' class='publicBox' value='"+i+"' onclick='sitecreator.toggleColumnPerm(this);'></td><td class='checkBoxCell "+rowClass+" individualColumn'><input type='checkbox' id='individualBox"+i+"' class='individualBox' value='"+i+"' onclick='sitecreator.toggleColumnPerm(this);'></td></tr>"}setAccessContent+="</table></div>";setAccessContent+="<div class='buttonRow nonvariableHeight'>";if(this.editType=="create"){setAccessContent+="<div class='leftButtons'>";setAccessContent+="<span class='enabledSaveButton'><a onclick='sitecreator.deleteReimportAlert();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=5&hp=16&tx=Delete%20Points%20and%20Reimport' alt='Delete Points and Reimport' /></a></span>";setAccessContent+="<span class='disabledSaveButton'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&alt=2&fs=11&vp=5&hp=16&tx=Delete%20Points%20and%20Reimport' alt='Delete Points and Reimport' /></span>";setAccessContent+="</div>"}setAccessContent+="<div class='rightButtons'>";setAccessContent+="<span class='enabledSaveButton'><a onclick='sitecreator.saveDatasetButton();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=5&hp=16&tx=Save' alt='Save' /></a></span>";setAccessContent+="<span class='disabledSaveButton'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&alt=2&fs=11&vp=5&hp=16&tx=Save' alt='Save' /></span>";setAccessContent+="<span class='enabledSaveButton'><a onclick='sitecreator.goToMap();'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=5&hp=16&tx=Save%20%26%20Close' alt='Save & Close' /></a></span>";setAccessContent+="<span class='disabledSaveButton'><img src='"+PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&alt=2&fs=11&vp=5&hp=16&tx=Save%20%26%20Close' alt='Save & Close' /></span>";setAccessContent+="</div></div>";this.buildDialog([{title:"Add / Edit Points",content:editSitesContent,enabled:true},{title:"Set Access to Fields",content:setAccessContent,enabled:true}]);columnSortOptions[columns.length+2]={sorter:false};$("#datasetTable").tablesorter({cancelSelection:false,headers:columnSortOptions,cssHeader:"dlHeader",cssAsc:"dlHeaderSortAsc",cssDesc:"dlHeaderSortDesc",sortList:[[1,0]]});$("#datasetTable").bind("sortStart",function(){self.lockTable(1)});$("#datasetTable").bind("sortEnd",function(){self.unlockTable()});if(labelCol!=null){$("#labelColumn").val(labelCol)}if(searchCol!=null){$("#searchColumn").val(searchCol)}for(var i=0;i<columns.length;i++){var curColumn=columns[i];var revertToMyself=false;if(curColumn.permission==2&&setPerm!=2||curColumn.permission==3&&setPerm!=3){revertToMyself=true}if(curColumn.permission==1||revertToMyself){$("#myselfBox"+i).attr("checked","checked")}else if(curColumn.permission==2){$("#myselfBox"+i).attr("checked","checked");$("#publicBox"+i).attr("checked","checked")}else if(curColumn.permission==3){$("#myselfBox"+i).attr("checked","checked");$("#individualBox"+i).attr("checked","checked")}}var disablePublic=function(){$("#firstRowPublic").addClass("disabledPerm");$("#labelPublic").addClass("disabledPerm");$("#allPublic").attr("disabled","disabled");$(".publicBox").attr("disabled","disabled")};var disableIndividual=function(){$("#firstRowIndividual").addClass("disabledPerm");$("#labelIndividual").addClass("disabledPerm");$("#allIndividual").attr("disabled","disabled");$(".individualBox").attr("disabled","disabled")};if(setPerm==1){disablePublic();disableIndividual()}else if(setPerm==2){disableIndividual()}else if(setPerm==3){disablePublic()}if(isSiteLicense&&isAutoLoginUser()){$(".myselfColumn, .individualColumn").hide()}this.checkLabelDropdown();for(var i=0;i<columns.length;i++){var curColumn=columns[i];if(curColumn.type==this.columnTypes["number"].id&&curColumn.numtype&&curColumn.numtype==this.numericTypes.percent){var addButtons=function(curColumn){var curColumnNum=curColumn.num;var stopClick=function(event){event.cancelBubble=true;if(event.stopPropagation){event.stopPropagation()}};var shiftLeft=$("<img />");shiftLeft.attr({id:"c"+curColumnNum+"sdl",src:"/images/shift_decimal_left.png",alt:"Divide all values by 100",title:"Divide all values by 100"});shiftLeft.click(function(e){self.shiftDecimals(curColumnNum,1);if(!e){var e=window.event}stopClick(e)});var shiftRight=$("<img />");shiftRight.attr({id:"c"+curColumnNum+"sdr",src:"/images/shift_decimal_right.png",alt:"Multiply all values by 100",title:"Multiply all values by 100"});shiftRight.click(function(e){self.shiftDecimals(curColumnNum,2);if(!e){var e=window.event}stopClick(e)});$("#col"+curColumnNum+"DecimalFunctions").append(shiftLeft);$("#col"+curColumnNum+"DecimalFunctions").append(shiftRight);$("#col"+curColumnNum+"Header").css("min-width","50px")}(curColumn)}}$("#labelColumn").poshytip({content:"Labels appear at the six closest zoom levels.",className:"tip-yellowsimple",showOn:"none",alignTo:"target",alignX:"inner-left",offsetX:-30,offsetY:7,timeOnScreen:3e3})};DataloaderSiteCreator.prototype.formatLatLng=function(value){var valueString=String(value);var parts=valueString.split(".");if(parts.length>1){if(parts[1].length>3){value=parts[0]+"."+parts[1].substring(0,3)+"..."}}return value};DataloaderSiteCreator.prototype.checkLabelDropdown=function(){if(this.currentSet.numSites>250){$("#labelColumn").val("none");$("#labelColumn").attr("disabled","disabled");$(".labelsDisabled").show()}else{$("#labelColumn").attr("disabled",null);$(".labelsDisabled").hide()}};DataloaderSiteCreator.prototype.editDatasetItem=function(td,row,col){if(this.recentRow!=null&&this.recentRow==row&&this.recentCol!=null&&this.recentCol==col){this.recentRow=null;this.recentCol=null;return}var self=this;var td=$(td);if(td.hasClass("pending")){return}var tdWidth=td.width();td.width(tdWidth);var tdText=td.text();var tdTextbox=$("<input type='text' />");tdTextbox.attr("id","editr"+row+"c"+col);tdTextbox.addClass("cellEditInProgress");tdTextbox.width(tdWidth-3);tdTextbox.val(tdText);tdTextbox.click(function(e){e.stopPropagation()});tdTextbox.blur(function(e){self.updateDatasetItem(td,row,col,tdText,$(this).val())});tdTextbox.bind("keydown",function(e){e=e||window.event;var code=e.keyCode||e.which;if(code==9){var numCols=self.currentSet.getColumns().length;var nextCol;if(e.shiftKey){nextCol=col-1;if(nextCol<2){nextCol=numCols-1}}else{nextCol=col+1;if(nextCol>=numCols){nextCol=2}}self.editDatasetItem($("#cellr"+row+"c"+nextCol)[0],row,nextCol)}else if(code==13){$(this).blur()}else if(code==27){td.text(tdText);self.recentRow=null;self.recentCol=null;enableSaveButtons()}});this.recentRow=row;this.recentCol=col;td.html(tdTextbox);setTimeout(function(){tdTextbox.focus()},0);disableSaveButtons()};DataloaderSiteCreator.prototype.updateDatasetItem=function(td,row,col,oldValue,newValue){var self=this;td.css({width:""});if(oldValue==newValue){td.text(oldValue);if($(".cellEditInProgress").length==0){enableSaveButtons()}return}td.text(newValue);td.removeClass("editable");td.addClass("pending");var updateItemError=function(error){var text="There was an error updating this value";if(error!=null){text+=": "+error}else{text+="."}alerter.popup(text,"OK",null,null,function(){var cellEdit=$(".cellEditInProgress");if(cellEdit.length>0){cellEdit.focus()}});td.removeClass("pending");td.addClass("editable");td.text(oldValue);if($(".cellEditInProgress").length==0){enableSaveButtons()}};var cellQuery="&rid="+row+"&cid="+col+"&v="+encodeURIComponent(newValue);ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dlsp&act=u"+cellQuery+"&uid="+this.datasetUid,dataType:"json",success:function(result){if(result!=null&&result.dlsp!=null&&result.dlsp.status){if(result.dlsp.status=="ok"){td.removeClass("pending");td.addClass("editable");td.text(result.dlsp.value);if(result.dlsp.geocode==true){if(result.dlsp.latlng==true){$("#geocoded"+row).html("<img src='/images/greendot.png' class='geocodeImage' alt='Yes' title='Site successfully geocoded' />");$("#cellr"+row+"c0").text(self.formatLatLng(result.dlsp.lat));$("#cellr"+row+"c1").text(self.formatLatLng(result.dlsp.lng))}else{$("#geocoded"+row).html("<img src='/images/reddot.png' class='geocodeImage' alt='No' title='Site not successfully geocoded' />");$("#cellr"+row+"c0").text("");$("#cellr"+row+"c1").text("")}}$("#datasetTable").trigger("update");if($(".cellEditInProgress").length==0){enableSaveButtons()}}else if(result.dlsp.status=="error"&&result.dlsp.error){updateItemError(result.dlsp.error)}else{updateItemError()}}else{updateItemError()}},error:function(){updateItemError()}})};DataloaderSiteCreator.prototype.lockTable=function(whichMessage){var message="Updating table...";if(whichMessage==2){message="Saving dataset..."}var tableIds=["datasetTable","columnTable"];for(var i=0;i<tableIds.length;i++){curTableId=tableIds[i];var curContainerId=curTableId+"Container";var curContainer=$("#"+curContainerId);var tableCover=$("<div />");tableCover.attr("id",curTableId+"Cover");tableCover.addClass("dataloaderTableCover");curContainer.append(tableCover);var tableLoading=$("<div />");tableLoading.attr("id",curTableId+"Loading");tableLoading.addClass("dataloaderTableLoading");tableLoading.html("<img src='/images/busy.gif' class='center' alt='Loading...'><br />"+message);curContainer.append(tableLoading)}this.lockTablePosition();$(window).bind("resize",this.lockTablePosition);$(".dataloaderTableCover").show();$(".dataloaderTableLoading").show();disableSaveButtons()};DataloaderSiteCreator.prototype.lockTablePosition=function(){var tableIds=["datasetTable","columnTable"];for(var i=0;i<tableIds.length;i++){var curTableId=tableIds[i];var curTable=$("#"+curTableId);var tableCover=$("#"+curTableId+"Cover");tableCover.css({height:curTable.height(),width:curTable.width()});var tableContainer=$("#"+curTableId+"Container");var tableLoading=$("#"+curTableId+"Loading");var leftPos=tableContainer.width()/2-tableLoading.width()/2+tableContainer.offset().left;var topPos=tableContainer.height()/2-tableLoading.height()/2+tableContainer.offset().top;tableLoading.css({left:leftPos,top:topPos})}};DataloaderSiteCreator.prototype.unlockTable=function(){$(window).unbind("resize",this.lockTablePosition);var covers=$(".dataloaderTableCover");covers.fadeOut(300,function(){covers.remove()});var loading=$(".dataloaderTableLoading");loading.fadeOut(300,function(){loading.remove()});enableSaveButtons()};DataloaderSiteCreator.prototype.shiftDecimals=function(colNum,direction){var self=this;var shiftDecimalsError=function(error){alerter.popup("There was an error adjusting the decimals of this column.","OK");self.unlockTable()};this.lockTable(1);ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dlsp&act=sd&cid="+colNum+"&sd="+direction+"&uid="+this.datasetUid,dataType:"json",success:function(result){if(result!=null&&result.dlsp!=null&&result.dlsp.status){if(result.dlsp.status=="ok"){if(result.dlsp.newvalues!=null){for(rowNum in result.dlsp.newvalues){$("#cellr"+rowNum+"c"+colNum).text(result.dlsp.newvalues[rowNum])}}else{var alertText;if(direction==1){alertText="Unable to divide the values in this column by 100. At least one value will exceed the minimum."}else{alertText="Unable to multiply the values in this column by 100. At least one value will exceed the maximum."}alerter.popup(alertText,"OK")}self.unlockTable()}else{shiftDecimalsError()}}else{shiftDecimalsError()}},error:function(){shiftDecimalsError()}})};DataloaderSiteCreator.prototype.labelColumnChange=function(){var labelVal=$("#labelColumn").val();if(labelVal!="none"){$("#labelColumn").poshytip("show")}};DataloaderSiteCreator.prototype.addDatasetRow=function(){if($(".dataloaderTableCover").length>0){return}var self=this;this.lockTable(1);var addRowError=function(error){alerter.popup("There was an error adding a new row to the dataset.","OK");self.unlockTable()};ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dlsp&act=a&uid="+this.datasetUid,dataType:"json",success:function(result){if(result!=null&&result.dlsp!=null&&result.dlsp.status){if(result.dlsp.status=="ok"){var newRowId=result.dlsp.newrow;var newRow="<tr id='row"+newRowId+"'><td id='geocoded"+newRowId+"'><img src='/images/reddot.png' class='geocodeImage' alt='No' title='Site not successfully geocoded' /></td><td>"+(newRowId+1)+"</td>";var firstFieldId=null;var columns=self.currentSet.getColumns();for(var i=0;i<columns.length;i++){var colType=columns[i].type;var cellId="cellr"+newRowId+"c"+i;var onclick="";var cellClass="";if(colType!=self.columnTypes["lat"].id&&colType!=self.columnTypes["lng"].id){onclick=" onclick='sitecreator.editDatasetItem(this, "+newRowId+", "+i+");'";cellClass=" class='editableCell'";if(firstFieldId==null){firstFieldId=cellId}}newRow+="<td id='"+cellId+"'"+cellClass+onclick+"></td>"}newRow+="<td><a onclick='sitecreator.removeDatasetRow("+newRowId+");'><img src='/images/close_button2.gif' alt='Delete Row' /></a></td></tr>";$("#datasetTable tr:last").after(newRow);var firstField=$("#"+firstFieldId);$("#datasetTable").trigger("update");$("#datasetTableContainer").scrollTo(firstField);self.currentSet.numSites++;self.checkLabelDropdown();self.unlockTable();setTimeout(function(){firstField.click()},0)}else if(result.dlsp.status=="trialmax"){alerter.popup("You have reached the maximum of "+trialUserMaxDatasetPoints+" rows for trial users. <a href='/pricing.html' target='_blank'>Subscribe</a> to load more.","OK");self.unlockTable()}else{addRowError()}}else{addRowError()}},error:function(result){addRowError()}})};DataloaderSiteCreator.prototype.removeDatasetRow=function(rowNum){var self=this;var removeRowError=function(error){alerter.popup("There was an error removing the row from the dataset.","OK");self.unlockTable()};alerter.popup("Are you sure you want to remove this row from the dataset?","No","Yes",function(){self.lockTable(1);ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dlsp&act=d&rid="+rowNum+"&uid="+self.datasetUid,dataType:"json",success:function(result){if(result!=null&&result.dlsp!=null&&result.dlsp.status){if(result.dlsp.status=="ok"){$("#row"+rowNum).fadeOut();$("#datasetTable").trigger("update");self.currentSet.numSites--;self.checkLabelDropdown();self.unlockTable()}else{removeRowError()}}else{removeRowError()}},error:function(){removeRowError()}})},function(){return})};DataloaderSiteCreator.prototype.toggleColumnPerm=function(checkbox){checkbox=$(checkbox);checkboxValue=checkbox.val();if(PEnvironment.isSiteLicense==true&&isAutoLoginUser()){if(!checkbox.hasClass("publicBox")){return}if(checkbox.is(":checked")){$("#myselfBox"+checkboxValue).attr("checked","checked")}else{$("#myselfBox"+checkboxValue).removeAttr("checked");$("#allMyself, #allPublic").removeAttr("checked")}return}if(checkbox.is(":checked")){if(checkbox.hasClass("publicBox")||checkbox.hasClass("individualBox")){$("#myselfBox"+checkboxValue).attr("checked","checked")}}else{if(checkbox.hasClass("myselfBox")){$("#publicBox"+checkboxValue+", #individualBox"+checkboxValue).removeAttr("checked");$("#allMyself").removeAttr("checked");$("#allPublic, #allIndividual").removeAttr("checked")}else if(checkbox.hasClass("publicBox")){$("#allPublic").removeAttr("checked")}else if(checkbox.hasClass("individualBox")){$("#allIndividual").removeAttr("checked")}}};DataloaderSiteCreator.prototype.toggleColumnAllPerm=function(checkbox){checkbox=$(checkbox);checkboxValue=checkbox.val();if(PEnvironment.isSiteLicense==true&&isAutoLoginUser()){if(checkboxValue!="2"){return}if(checkbox.is(":checked")){$("#allMyself").attr("checked","checked");$(".myselfBox, .publicBox").each(function(){$(this).attr("checked","checked")})}else{$("#allMyself").attr("checked",false);$(".myselfBox, .publicBox").each(function(){$(this).attr("checked",false)})}return}var whichClass=null;if(checkboxValue=="1"){whichClass=".myselfBox"}else if(checkboxValue=="2"){whichClass=".publicBox"}else if(checkboxValue=="3"){whichClass=".individualBox"}else{return}if(checkbox.is(":checked")){if(checkboxValue=="2"||checkboxValue=="3"){var allMyselfBox=$("#allMyself");if(!allMyselfBox.is(":checked")){allMyselfBox.attr("checked","checked");this.toggleColumnAllPerm(allMyselfBox[0])}}$(whichClass).each(function(){$(this).attr("checked","checked")})}else{if(checkboxValue=="1"){$("#allMyself, #allPublic, #allIndividual, .myselfBox, .publicBox, .individualBox").attr("checked",false)}else{$(whichClass).each(function(){$(this).attr("checked",false)})}}};DataloaderSiteCreator.prototype.toggleDownloadPerm=function(checkbox){this.currentSet.dlperm=$(checkbox).is(":checked")};DataloaderSiteCreator.prototype.saveDatasetButton=function(){this.saveDataset(function(){saveDatasetAlert()})};DataloaderSiteCreator.prototype.saveDataset=function(callback){if($(".dataloaderTableLoading").length>0){return}var self=this;this.lockTable(2);var reenableSave=function(){self.unlockTable()};var columnPerms=this.buildColumnPermissions();var dlperm=this.currentSet.dlperm;var labelCol=$("#labelColumn").val();var searchCol=$("#searchColumn").val();this.currentSet.setLabels(labelCol!="none");this.currentSet.setSearch(searchCol!="none");var saveError=function(){alerter.popup("There was an error saving your dataset.","OK");reenableSave()};ajax.call({type:"POST",url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dlsp&sbr=1&act=s",dataType:"json",data:{columnperms:JSON.stringify(columnPerms),dlperm:dlperm,label:labelCol,search:searchCol,uid:this.datasetUid},success:function(result){if(result!=null&&result.dlsp!=null&&result.dlsp.status&&result.dlsp.status=="ok"){self.currentSet.setSaved(true);var datasetId=result.dlsp.id;self.currentSet.setId(datasetId);session.put("dlo",datasetId);if(result.dlsp.box){self.currentSet.setBox(result.dlsp.box.xmin,result.dlsp.box.ymin,result.dlsp.box.xmax,result.dlsp.box.ymax)}else{self.currentSet.clearBox()}reenableSave();if(callback!=null){callback()}}else if(result!=null&&result.dlsp!=null&&result.dlsp.status&&result.dlsp.status=="noowner"){alerter.popup("The specified dataset owner could not be found.","OK");reenableSave()}else{saveError()}},error:function(){saveError()}})};DataloaderSiteCreator.prototype.buildColumnPermissions=function(){var columnPerms=[];var columns=this.currentSet.getColumns();for(var i=0;i<columns.length;i++){if($("#individualBox"+i).is(":checked")){columnPerms[i]=3}else if($("#publicBox"+i).is(":checked")){columnPerms[i]=2}else if($("#myselfBox"+i).is(":checked")){columnPerms[i]=1}else{columnPerms[i]=0}}return columnPerms};DataloaderSiteCreator.prototype.downloadSites=function(){this.saveDataset(function(){downloadSites()})};DataloaderSiteCreator.prototype.goToMap=function(skipSave){var self=this;var postSave=function(){self.updateMapOverlaySet();map.setCenterBounds(self.currentSet.getBox());$("#da1").attr("disabled",null);$("#importCSVStep").hide();toggleSiteCreator();self.closeDialog()};if(skipSave!=true){this.saveDataset(function(){postSave();saveDatasetAlert(true)})}else{postSave()}};DataloaderSiteCreator.prototype.updateMapOverlaySet=function(){map.clearOverlaySets();var icon=this.currentSet.getIcon();var set=new POverlaySet(this.currentSet.getId(),icon,15);if(icon.headpin){set.colorcodes=PinIcons[icon.headpin].colors}set.allowDL=false;set.child=false;set.children=[];set.hidelabels=false;set.isPoly=false;set.labels=this.currentSet.hasLabels();set.name=this.currentSet.getTitle();set.processed=false;set.search=this.currentSet.hasSearch();set.type="dl";P.instances.map.addOverlaySet(set);if(set.search){datasetSearch.update(set.id)}else{datasetSearch.reset()}labelManager.updateMapLabels()};function updateCSVFilename(filename){var fullPathParts=filename.split("\\");$("#csvFileDisplay").val(fullPathParts[fullPathParts.length-1])}function importSpreadsheet(){$("#importSpreadsheet").hide();$("#disabledImportSpreadsheet").show();sitecreator.displayLoadingDialog("Uploading spreadsheet...","Import Points");if(!initialDatasetCheck()){return}var datasetTitle=$.trim($("#setTitle").val());var setPerm=$("input[name='permsetting']:checked").val();var beginImportProcess=function(){sitecreator.currentSet.setTitle(datasetTitle);sitecreator.currentSet.setPermission(setPerm);if(setPerm==2||setPerm==4){sitecreator.currentSet.setCategory($("#setcategory").val())}else if(setPerm==3){updateDatasetUsers()}var da1=$("#da1");var da2=$("#da2");if(da1.length>0){if($.trim(da1.val())==""||da1.hasClass("textboxdefault")){da1.removeClass("textboxdefault");da1.val(session.get("_useremail"))}sitecreator.currentSet.da1=da1.val()}else{sitecreator.currentSet.da1=null}if(da2.length>0){if(da2.attr("checked")){sitecreator.currentSet.da2=true}else{sitecreator.currentSet.da2=false}}else{sitecreator.currentSet.da2=null}var toSend=["title","icon","permission","category","users","da1","da2","email","download"];var datasetString=JSON.stringify(sitecreator.currentSet,toSend);$("#csvDataset").val(datasetString);$("#csvUpload").submit()};var doNotBeginImportProcess=function(){$("#disabledImportSpreadsheet").hide();$("#importSpreadsheet").show();sitecreator.closeDialog()};if(setPerm==2||setPerm==4){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=n&dn="+encodeURIComponent(datasetTitle),dataType:"json",success:function(result){if(result!=null&&result.dl!=null&&result.dl.inuse&&result.dl.inuse==true){alerter.popup("This public dataset name is already in use. Please choose another name.","OK");doNotBeginImportProcess();return}else if(result==null||result.dl==null){alerter.popup("There was an error verifying your dataset's details.","OK");doNotBeginImportProcess();return}beginImportProcess()},error:function(){alerter.popup("There was an error verifying your dataset's details.","OK");doNotBeginImportProcess()}})}else{beginImportProcess()}}function csvUploadResponse(response){if(!sitecreator||sitecreator.getType()!="spreadsheet"){return}if(response===false||response==null||response.dlsp==null||response.dlsp.status==null){$("#disabledImportSpreadsheet").hide();
$("#importSpreadsheet").show();alerter.popup("There was an error importing your spreadsheet.","OK");sitecreator.closeDialog();return}if(response.dlsp.status!="ok"){$("#disabledImportSpreadsheet").hide();$("#importSpreadsheet").show();var message;if(response.dlsp.status=="badusers"){highlightBadEmailBoxes(response.dlsp.badusers);message="One or more of the specified accounts do not exist. Please correct the highlighted email addresses."}else if(response.dlsp.status=="notcsv"){message='Only CSVs are accepted for upload. Please ensure your file is in CSV format and ends in ".csv".'}else if(response.dlsp.status=="invalidcsv"){var errors=response.dlsp.csverror.errors;message="The following error(s) were encountered while importing your spreadsheet:<br /><br />";for(var i=0;i<errors.length;i++){message+="- "+errors[i]+"<br />"}if(response.dlsp.csverror.halt){message+="<br />One or more of these errors caused the validation process to halt."}}else if(response.dlsp.status=="trialmax"){message="You have reached the maximum of "+trialUserMaxDatasets+" datasets for trial users. <a href='/pricing.html' target='_blank'>Subscribe</a> to load more."}else{message="There was an error importing your spreadsheet."}alerter.popup(message,"OK");sitecreator.closeDialog();return}$("#disabledImportSpreadsheet").hide();sitecreator.selectColumnTypesDialog(response.dlsp.uid,response.dlsp.columns)}function editSpreadsheetSites(){if(sitecreator==null||sitecreator.getType()!="spreadsheet"){return null}var openEditSites=function(){sitecreator.getDatasetEditData()};if(sitecreator.currentSet.isModified()){saveDatasetProperties(function(success){if(success){openEditSites()}})}else{openEditSites()}}DatasetSearch=function(){this.enabled=true;this.mapDiv=null;this.searchBox=null;this.searchField=null;this.urlParams=getUrlParams();this.currentDataset=null;this.autosuggest=new AutoSuggest;var ds=this;this.mapDiv=$("#map");if(this.mapDiv.length>0){this.build();if(isWidgetPage()||isCBClone()){$(window).resize(function(){ds.position()})}PEvent.addListener(map,"removeoverlayset",function(){if(ds.currentDataset!=null){var setOnMap=false;var sets=map.getOverlaySets(false,true);for(var i=0;i<sets.length;i++){if(sets[i].id==ds.currentDataset.id){setOnMap=true;break}}if(setOnMap==false){ds.reset()}}})}else{this.enabled=false}};DatasetSearch.prototype.build=function(){if(PEnvironment.pageName=="dataloader"){return}if(!this.enabled||this.searchBox!=null){return}var ds=this;var searchBox=$("<div />");searchBox.attr("id","datasetSearch");searchBox.addClass("datasetSearch");var searchBoxContents=$("<table />");var tr=$("<tr />");searchBoxContents.append(tr);var td=$("<td />");td.html("Search Sites:");td.addClass("text");tr.append(td);var td=$("<td />");searchField=$("<input />");searchField.attr({id:"dsearchbox",text:"text",size:32});td.append(searchField);tr.append(td);var td=$("<td />");var searchBoxGo=$("<img />");searchBoxGo.addClass("goButton");searchBoxGo.attr({src:"/images/global-button-go-small.png",title:"Search"});searchBoxGo.click(function(){ds.search()});td.append(searchBoxGo);tr.append(td);if(PEnvironment.pageName!="dataloader"){var td=$("<td />");var searchBoxClose=$("<img />");searchBoxClose.addClass("closeButton");searchBoxClose.attr({src:"/images/close_button2.gif",title:"Close Dataset Search"});searchBoxClose.mousedown(function(){ds.reset()});td.append(searchBoxClose);tr.append(td)}searchBox.append(searchBoxContents);this.mapDiv.append(searchBox);var searchBoxElement=searchField[0];this.autosuggest.attach(searchBoxElement,"d");PEvent.addListener(searchBoxElement,"keydown",function(e){var e=e||window.event;if(e&&e.keyCode==13&&ds.autosuggest.getSelectedItem()==null){ds.search()}});this.searchBox=searchBox;this.searchField=searchField;if(isWidgetPage()||isCBClone()){this.position()}};DatasetSearch.prototype.position=function(){if(isWidgetPage()){if(this.urlParams["altLayout"]){this.searchBox.css("left","225px")}else{this.searchBox.css("left","7px")}this.searchBox.css("top",this.mapDiv.height()-58+"px")}else if(isCBClone()){this.searchBox.css({left:Math.floor(this.mapDiv.width()/2-this.searchBox.width()/2)+"px",top:"10px"})}};DatasetSearch.prototype.reset=function(){if(PEnvironment.pageName=="dataloader"){return}this.searchBox.hide();$(".dsearchr").attr("checked",false);$(".data-points__search-icon").removeClass("is-active");this.currentDataset=null};DatasetSearch.prototype.show=function(){if(PEnvironment.pageName=="dataloader"){return}if(!this.enabled||this.currentDataset==null){return}this.searchField.val("");this.searchBox.show()};DatasetSearch.prototype.update=function(datasetId){if(!this.enabled||datasetId==null||this.currentDataset!=null&&this.currentDataset.id==datasetId){return}var dataset=null;var sets=map.getOverlaySets(false,true);for(var i=0;i<sets.length;i++){if(sets[i].id==datasetId){dataset=sets[i];break}}this.currentDataset=dataset;if(dataset!=null){this.show()}else{this.reset()}};DatasetSearch.prototype.search=function(){if(!this.enabled){return}var ds=this;var searchText=this.searchField.val();if(searchText.length<1){return}var setId=this.currentDataset.id;var setType=this.currentDataset.type;var didArg="";if(setType=="old"){didArg="&did="+setId}else{didArg="&dlid="+setId}ajax.call({url:PEnvironment.autosuggestUrl+"?rid=1"+"&t=d"+didArg+"&dt="+setType+"&s="+encodeURIComponent(searchText),dataType:"json",context:this,success:function(response){if(response==null||response.rid==null||response.results==null){return}if(response.results.length<1){alerter.popup('No sites matching the search term "'+searchText+'" were found.',"OK");return}ds.loadSite(response.results[0]);ds.autosuggest.removeAutoSuggest()}})};DatasetSearch.prototype.loadSite=function(site){var ds=this;switch(site.type){case 7:var sitePoint=new PLatLng(site.lat,site.lng);var z=map.getCurrentMapType().getScales().length-3;map.setCenter(sitePoint,z);var filters=this.currentDataset.createQuery();map.identifyItem(site.did,site.dt,site.iid,filters,function(markers){ds.displayInfoBubble(ds,site,markers)});break;case 8:case 9:case 10:polycreator.polyload(this.currentDataset.bdid,site.name,site.lat,site.lng,function(poly){if(poly[0]){var bounds=poly[0].getBounds();var centroid=poly[0].getCentroid();var zoomLevel=map.getBoundsZoomLevel(bounds);map.setCenter(centroid,zoomLevel);var filters=ds.currentDataset.createQuery();map.identifyItem(site.did,site.dt,site.iid,filters,function(markers){ds.displayInfoBubble(ds,site,markers)})}});break}};DatasetSearch.prototype.displayInfoBubble=function(ds,site,markers){if(markers.length>0){PMIdentificationModule.buildInfoWindow(markers)}else{var filters=false;for(var group in ds.currentDataset.filtergroups){var filters=ds.currentDataset.filtergroups[group];if(filters.length>0&&!filters[0].name.match("_HIDE")){filters=true;break}}if(filters){alerter.popup("The site you're searching for has been filtered and will not display. Please clear all filters to view this site.","OK");map.identifyItem(site.did,site.dt,site.iid,null,function(markers){ds.displayInfoBubble(ds,site,markers)})}}};DatasetSearch.prototype.setCurrentDataset=function(dataset){if(!this.enabled){return}this.currentDataset=dataset};DatasetSearch.prototype.getCurrentDataset=function(){if(!this.enabled){return null}return this.currentDataset};function rebuildDropkick(dropdownId,options){$("#dk_container_"+dropdownId).remove();$("#"+dropdownId).off();$("#"+dropdownId).chosen({width:options.width,disable_search:true});$("#"+dropdownId).on("change",options.change);if($("#"+dropdownId).attr("disabled")){disableDropkick(dropdownId)}}function selectDropkickItem(dropdownId,value,options){$("#"+dropdownId).val(value);rebuildDropkick(dropdownId,options)}function disableDropkick(dropdownId){$("#"+dropdownId).prop("disabled",true).trigger("chosen:updated")}function enableDropkick(dropdownId){$("#"+dropdownId).prop("disabled",false).trigger("chosen:updated")}function collapseDropkick(dropdownId){$("#"+dropdownId).trigger("chosen:close")}DynamicNamedFeature=function(){this.names={};this.updateNames()};DynamicNamedFeature.prototype.getName=function(feature){if(this.names[feature]!=null){return this.names[feature]}else{return""}};DynamicNamedFeature.prototype.updateNames=function(noReplace){if(PEnvironment.isPolicyMap){this.names["myPolicyMap"]="My Saved Work";this.names["myCustomRegions"]="My Custom Regions";if(productProperty.exists("my_data_tab_label")){this.names["myDataTab"]=productProperty.getValue("my_data_tab_label")}else{this.names["myDataTab"]="My Data"}this.names["myUploadedData"]="My Uploaded Data"}else{if(isPublicUser()||isAutoLoginUser()){this.names["myPolicyMap"]="Saved Work";this.names["myCustomRegions"]="Saved Custom Regions";this.names["myUploadedData"]="Data Uploaded By Users"}else{this.names["myPolicyMap"]="My Saved Work";this.names["myCustomRegions"]="My Saved Custom Regions";this.names["myUploadedData"]="Data Loaded By Me or Other Users"}if(productProperty.exists("my_data_tab_label")){this.names["myDataTab"]=productProperty.getValue("my_data_tab_label")}else{if(isPublicUser()||isAutoLoginUser()){this.names["myDataTab"]="Uploaded Data"}else{this.names["myDataTab"]="My Data"}}}if(noReplace==null||noReplace!==true){$(".my-policymap-title").text(this.names["myPolicyMap"]);$(".my-custom-regions-title").text(this.names["myCustomRegions"]);$(".my-data-tab-title").text(this.names["myDataTab"]);$(".my-uploaded-data-title").text(this.names["myUploadedData"])}};EmbeddingMapOptions=function(map,widget,urlParams){var init=function(){this.map=map;this.widget=widget;this.urlParams=urlParams;this.id=urlParams["id"];this.eventTypes=new Object;this.eventTypes.addpoints="addpoints";this.eventTypes.addindicator="addindicator";this.eventManager=new PEventManager;this.mapLayersHash=pMapLayer.layersByName;this.addOptions()};var self=this;if(PEnvironment.isWidget){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=mo&act=g",success:function(data){if(data!=null&&data.mo!=null&&data.responseCode===200){pMapLayer=new MapOptions(data.mo);PMapType.POLICYMAP=new PMapType(pMapLayer.defaultMapLayers,new PProjection(54004),"Map");PMapType.DEFAULT=PMapType.POLICYMAP;P.instances.map.setMapType(PMapType.DEFAULT)}init.call(self)},error:function(){init.call(self)}})}else{init.call(self)}};EmbeddingMapOptions.prototype.addOptions=function(){this.addPlace();this.addIndicators();this.addPoints();this.addMapOptionsLayers()};EmbeddingMapOptions.prototype.addPlace=function(urlParams){var curZoom=null;var urlParams=this.urlParams;if(urlParams["p"]&&(!urlParams["iwtype"]||urlParams["iwtype"]=="place"||urlParams["iwx"]&&urlParams["iwy"])){var f=function(places){var place=places[places.length-1];this.map.clearOverlays();this.map.refresh();if(place instanceof PPlace){global_places=[place];if(!urlParams["cx"]&&!urlParams["cy"]&&!urlParams["cz"]){this.map.setCenterBounds(place.getBounds());if(curZoom)this.map.setZoom(curZoom)}if(urlParams["cx"]&&urlParams["cy"]&&urlParams["cz"]){map.setCenter(new PLatLng(urlParams["cy"],urlParams["cx"]),urlParams["cz"])}if(urlParams["nobounds"]){map.setCenterBounds(place.getBounds());session.remove("p")}else{var polygons=place.getVertices();if(polygons)addPolygons(this.map,place);mapstates.currentplace=place}}else if(!urlParams["cx"]&&!urlParams["cy"]&&!urlParams["cz"]){this.map.setCenter(place,curZoom||13)}if(urlParams["iwx"]&&urlParams["iwy"]){var title="<div style='font-size: 11px'>"+place.getLabel()+" ("+place.getType().getName()+")</div>";point=place.getBounds().getCenter()}mapstates.add(new PMapState(this.map.getCenter(),this.map.getZoom(),this.map.getIndicator(),null,mapstates.currentplace));if("sid"in urlParams){if(urlParams["sid"]=="1395"){var tablewidth=$("#widgetPrintButton").parents("table:first").width();var cell_1_width=$("#widgetPrintButton").parents("td:first").width();var cell_2_width=$("#belowMapWidgetMapOptions").width();var cell_3_width=$("#widgetPrintButton").parents("td:first").next().next().width();var newtdwidth=parseInt((tablewidth-cell_1_width-cell_2_width-cell_3_width)/2);var url="/report_widget?type=hfap&area=predefined&pid="+urlParams["p"]+"&sid=1395";var hfaplink='<a id="getReportButton" href="'+url+'" target="_new">Get Report</a>';var newtd='<td width="'+newtdwidth+'">'+hfaplink+"<td>";$("#widgetPrintButton").parents("td:first").after(newtd)}}};placeLoader.load([urlParams["p"]],f)}else if(urlParams["place"]&&urlParams["iwtype"]!="identify"){var addy=urlParams["place"];geocoder.getLatLng(addy,function(latlng){if(latlng){this.map.refresh();var html=addy+"<br /><br />";addMarkerWindow(html,latlng);if(urlParams["cx"]&&urlParams["cy"]&&urlParams["cz"]){this.map.setCenter(new PPoint(urlParams["cx"],urlParams["cy"]),urlParams["cz"])}else if(urlParams["cz"]){this.map.setCenter(latlng,urlParams["cz"])}else{this.map.setCenter(latlng,curZoom||13)}}})}else if(urlParams["zip"]||urlParams["zipcode"]){var ptype=PPlaceType.ZIP;var zip=urlParams["zip"]||urlParams["zipcode"];var t="";if(urlParams["county"]){ptype=PPlaceType.COUNTY;t=urlParams["county"]+", "+state}else if(urlParams["city"]){ptype=PPlaceType.CITY;t=urlParams["city"]+", "+state}else if(urlParams["cbsa"]){ptype=PPlaceType.CBSA;t=urlParams["cbsa"]+", "+state}else{ptype=PPlaceType.ZIP;t=zip}var that=this;geocoder.getPlace(t,function(places){map.refresh();var place=places[0];map.setCenterBounds(place.getBounds());addPolygons(that.map,place);if("sid"in urlParams){if(urlParams["sid"]=="1395"){var tablewidth=$("#widgetPrintButton").parents("table:first").width();var cell_1_width=$("#widgetPrintButton").parents("td:first").width();var cell_2_width=$("#belowMapWidgetMapOptions").width();var cell_3_width=$("#widgetPrintButton").parents("td:first").next().next().width();var newtdwidth=parseInt((tablewidth-cell_1_width-cell_2_width-cell_3_width)/2);var url="/report_widget?type=hfap&area=predefined&pid="+place.getID()+"&sid=1395";var hfaplink='<a id="getReportButton" href="'+url+'" target="_new">Get Report</a>';var newtd='<td width="'+newtdwidth+'">'+hfaplink+"<td>";$("#widgetPrintButton").parents("td:first").after(newtd)}}},null,null,[ptype])}else if(urlParams["state"]){var ptype=PPlaceType.STATE;var state=urlParams["state"];var t="";if(urlParams["county"]){ptype=PPlaceType.COUNTY;t=urlParams["county"]+", "+state}else if(urlParams["city"]){ptype=PPlaceType.CITY;t=urlParams["city"]+", "+state}else if(urlParams["cbsa"]){ptype=PPlaceType.CBSA;t=urlParams["cbsa"]+", "+state}else{ptype=PPlaceType.STATE;t=state}var that=this;geocoder.getPlace(t,function(places){map.refresh();var place=places[0];map.setCenterBounds(place.getBounds());addPolygons(that.map,place);if("sid"in urlParams){if(urlParams["sid"]=="1395"){var tablewidth=$("#widgetPrintButton").parents("table:first").width();var cell_1_width=$("#widgetPrintButton").parents("td:first").width();var cell_2_width=$("#belowMapWidgetMapOptions").width();var cell_3_width=$("#widgetPrintButton").parents("td:first").next().next().width();var newtdwidth=parseInt((tablewidth-cell_1_width-cell_2_width-cell_3_width)/2);var url="/report_widget?type=hfap&area=predefined&pid="+place.getID()+"&sid=1395";var hfaplink='<a id="getReportButton" href="'+url+'" target="_new">Get Report</a>';var newtd='<td width="'+newtdwidth+'">'+hfaplink+"<td>";$("#widgetPrintButton").parents("td:first").after(newtd)}}},null,null,[ptype])}if(urlParams["cp"]){polycreator.load(urlParams["cp"],function(places){var placeids=[];for(var i=0;i<places.length;i++){var place=places[i];placeids.push(place.id);map.refresh();custom_place=place;polycreator.setUpPlaceAndPolylines(place,map);if(!urlParams["cx"]&&!urlParams["cy"]&&!urlParams["cz"]){map.setCenterBounds(place.getBounds())}if(urlParams["iwtype"]=="cp")polycreator.polyline.polyline.infomarker.openInfoWindow(html)}})}};EmbeddingMapOptions.prototype.addIndicators=function(){if(this.urlParams["i"]){if(this.urlParams["lockBoundaryType"]&&this.urlParams["btd"]){this.widget.legend.setLockBoundaryTypeGlobally();this.widget.legend.lockBoundaryTypeGlobally(this.urlParams["btd"])}var ind=this.urlParams["i"];if(ria[ind]){if(this.urlParams["tf"]){var tf=this.urlParams["tf"];session.put("tf",tf)}else if(this.urlParams["period"]){var period=this.urlParams["period"];session.put("period",period)}selectIndicators(ind)}}};EmbeddingMapOptions.prototype.addPoints=function(){if(PEnvironment.pageName=="embedmap_dyn"){PEvent.addListener(map,"setoverlaysets",function(sets){if(sets==null||sets.length==0){return}var source="Source: ";var legendHtml='<h4 style="padding-bottom:0px">Points</h4>';legendHtml+='<div class="breakdown sites">';for(var i=0;i<sets.length;i++){if(sets[i].child){continue}var filters=sets[i].getFilters();legendHtml+='<div><img style="margin-right:3px;" src="'+sets[i].icon.image+'">'+sets[i].getLabel()+"</div>";for(var j=0;j<filters.length;j++){if(j==0||filters[j].name!=filters[j-1].name){legendHtml+='<div class="name">'+filters[j].name+":</div>"}if(filters[j].values[0]=="COLORCODE"){var displayfilters=sets[i].filtersbyicons;var len=displayfilters.length;var colorlegend="";for(var l=0;l<len;l++){colorlegend+="<div class='value'>";colorlegend+="<img border='0' src='"+sets[i].filtericons[l].image+"'> <span>"+displayfilters[l].valuesDisplay+"</span>";colorlegend+="</div>"}legendHtml+=colorlegend}else{legendHtml+='<div class="value">'+filters[j].valuesDisplay+"</div>"}}var srcs=sets[i].sources;if(srcs.length>0){var sourceDiv="<div class='sourceLinks'>Source: ";for(var p=0;p<srcs.length;p++){var link="";if(srcs[p].link){link=" href='/our-data-directory.html#"+srcs[p].link+"' target='_blank'"}var comma="";if(p!=0){comma=", "}var a=comma+"<a"+link+">"+srcs[p].label+"</a>";sourceDiv+=a}sourceDiv+="</div>";legendHtml+=sourceDiv}}legendHtml+="</div>";var $sitesLegendContainer=$("#sitesLegendContainer");$sitesLegendContainer.show();$sitesLegendContainer.html(legendHtml)})}getOverlaySetsFromSession()};EmbeddingMapOptions.prototype.addMapOptionsLayers=function(){var map=this.map;var urlParams=this.urlParams;var mapLayersHash=this.mapLayersHash;if(isEmbedPage()){var mo;if(urlParams["ml"]){var layers=urlParams["ml"];mo=layers.split(",");for(var i=0;i<pMapLayer.mapOptionsDefault.length;i++){pMapLayer.mapOptionsDefault[i].on()}}else if(urlParams["moo"]){var layers=urlParams["moo"];mo=layers.split(",")}else{for(var i=0;i<pMapLayer.mapOptionsDefault.length;i++){pMapLayer.mapOptionsDefault[i].on()}}if(mo!=null){var label;for(var i=0;i<mo.length;i++){var curLayer=mo[i];if(mapLayersHash[curLayer]){this.toggleWidgetMapOptionsLayers(curLayer);if(label=pMapLayer.mapLayerLabels[curLayer]){label.on()}}}}return}var ml;if(pMapLayer.nonCategorizedLayers){ml=pMapLayer.nonCategorizedLayers}else{return}var scale=map.getScale();var layerDivArray=[];var label;if(pMapLayer.layerCategories!=null&&pMapLayer.layerCategories.length>0){var mbox=pMapLayer.layerCategories;var optsbox=document.getElementById("optsbox");$("#optsbox").addClass("optsbox");$("#mapoptions").show();var headerDiv=document.createElement("div");headerDiv.className="header";optsbox.appendChild(headerDiv);var div=document.createElement("div");div.innerHTML="Map Options";div.className="mainTitle";headerDiv.appendChild(div);var close=document.createElement("img");close.className="optsboxclose";close.src="images/close_button2.gif";PEvent.addListener(close,"click",mapOptions);headerDiv.appendChild(close);var categories=mbox.mapOptionsCategories;for(var i in categories){var ldiv=document.createElement("div");ldiv.className="section";var title=document.createElement("div");title.innerHTML=i;title.className="title";ldiv.appendChild(title);optsbox.appendChild(ldiv);var layers=categories[i];for(var j=0;j<layers.length;j++){var layer=layers[j];if(mapLayersHash[layer.name]){var layerTitle=mapLayersHash[layer.name].title.replace(/<br>/," ");var divMain=document.createElement("div");divMain.className="layerbox";divMain.layername=layerTitle;var opt=document.createElement("input");opt.type="checkbox";opt.layername=layer.name;opt.id=layer.name;divMain.appendChild(opt);if(layer.on){opt.checked=true;mapLayersHash[layer.name].on();if(label=pMapLayer.mapLayerLabels[layer.name])label.on()}var that=this;PEvent.addListener(opt,"click",function(){that.toggleWidgetMapOptionsLayers(this.layername)});var text=document.createElement("label");$(text).attr("for",layer.name);text.style.verticalAlign="top";text.style.padding="0 3px";text.style.textTransform="capitalize";jQuery(text).attr("for",layer.name);text.innerHTML=layer.title||layerTitle;if(opt.disabled){text.title="Not available at this zoom level";text.style.color="#ccc"}divMain.appendChild(text);layerDivArray.push(divMain);ldiv.appendChild(divMain);var br=document.createElement("br");br.style.clear="both";ldiv.appendChild(br)}}}$(ldiv).css("border","none")}var optsbox=document.getElementById("belowMapWidgetMapOptions");var layers=ml;if(PEnvironment.pageName=="embedmap_dyn"){layers=layers.split(",")}for(var j=layers.length-1;j>-1;j--){var layer=layers[j];if(PEnvironment.pageName=="embedmap_dyn"){if(mapLayersHash[layer]){mapLayersHash[layer].on();if(label=pMapLayer.mapLayerLabels[layer])label.on()}continue}else if(mapLayersHash[layer.name]){var layerTitle=mapLayersHash[layer.name].title.replace(/<br>/," ");var divMain=document.createElement("div");divMain.className="widget_layerbox";divMain.layername=layerTitle;var opt=document.createElement("input");opt.type="checkbox";opt.layername=layer.name;opt.id=layer.name;divMain.appendChild(opt);if(layer.on){opt.checked=true;this.toggleWidgetMapOptionsLayers(layer.name);if(label=pMapLayer.mapLayerLabels[layer.name])label.on()}if(layer.hide){continue}var that=this;PEvent.addListener(opt,"click",function(){that.toggleWidgetMapOptionsLayers(this.layername)});var text=document.createElement("label");$(text).attr("for",layer.name);text.style.verticalAlign="top";text.style.padding="0 3px";text.style.textTransform="capitalize";jQuery(text).attr("for",layer.name);text.innerHTML=layer.title||layerTitle;if(opt.disabled){text.title="Not available at this zoom level";text.style.color="#ccc"}divMain.appendChild(text);layerDivArray.push(divMain);optsbox.appendChild(divMain);if(layer.name=="floodmap_undetermined")$(divMain).append('<div style="background:#0000FF;width:45px;height:10px;border:1px solid #aaa;position:absolute;right:15px;bottom:-6px"></div>');else if(layer.name=="floodmap_moderate")$(divMain).append('<div style="background:#FFFF00;width:45px;height:10px;border:1px solid #aaa;position:absolute;right:15px;bottom:-6px"></div>');else if(layer.name=="floodmap_high")$(divMain).append('<div style="background:#FF0000;width:45px;height:10px;border:1px solid #aaa;position:absolute;right:15px;bottom:-6px"></div>');else if(layer.name=="floodmap_minimal")$(divMain).append('<div style="background:#00FF00;width:45px;height:10px;border:1px solid #aaa;position:absolute;right:15px;bottom:-6px"></div>')}}this.refreshMapOptionsLayers()};EmbeddingMapOptions.prototype.toggleWidgetMapOptionsLayers=function(name){var mapLayersHash=this.mapLayersHash;var layer=mapLayersHash[name];var label=null;if(pMapLayer.mapLayerLabels[layer.name])label=pMapLayer.mapLayerLabels[layer.name];if(layer.isOn()){layer.off();if(label)label.off();if(mapLayersHash[name].pointDataset){mapLayersHash[name].pointDataset.off();map.removeOverlaySet(mapLayersHash[name].pointDataset)}}else{layer.on();if(label)label.on();if(mapLayersHash[name].pointDataset&&map.getScale()<=layer.maxScale){mapLayersHash[name].pointDataset.on();map.addOverlaySet(mapLayersHash[name].pointDataset)}}};EmbeddingMapOptions.prototype.refreshMapOptionsLayers=function(){if(PEnvironment.pageName=="embedmap_dyn")return;var mapLayersHash=this.mapLayersHash;var scale=map.getScale();var elems=$(".optsbox");for(var j=0;j<elems.length;j++){var elem=elems[j];var inputs=$(elem).find("input");var labels=$(elem).find("label");for(var i=0;i<inputs.length;i++){var layerpoints=mapLayersHash[inputs[i].layername].pointDataset;if(mapLayersHash[inputs[i].layername].minScale>scale||mapLayersHash[inputs[i].layername].maxScale<scale){inputs[i].disabled=true;labels[i].title="Not available at this zoom level";labels[i].style.color="#ccc";if(inputs[i].checked){if(layerpoints&&layerpoints.isOn()){map.removeOverlaySet(layerpoints);layerpoints.off()}}}else{inputs[i].disabled=false;labels[i].title="";labels[i].style.color="#333";if(inputs[i].checked){if(layerpoints&&!layerpoints.isOn()){map.addOverlaySet(layerpoints);layerpoints.on()}}}}}};function embedMapOnLoad(){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=tax&act=p",success:function(data){if(data!==undefined&&data.responseCode===200){P.instances.debug.log(P.Debug.DEBUG2,"Pin Taxonomy obtained");var pinTaxonomy=new Taxonomy(data.tax.taxonomy,P.constants.TAXONOMY_TYPE_POINTS);var rootNodes=_.sortBy(pinTaxonomy.getRootNodes(),function(node){return node.sort_order});_.each(rootNodes,function(node){node.pinsets=pinTaxonomy.getAllChildrenOfNodeId(node.node_id);pincats.push(node)});pincatsType=data.tax.type;embedMapOnReady()}else{errorPopup(data)}}})}function embedMapOnReady(){session.put("_userid",2);var urlParams=getEmbedMapParams();jQuery("#map").css({width:urlParams["ew"]+"px",height:urlParams["eh"]+"px"});session.checkUrl(urlParams);if(typeof index_delayed!="undefined")index_delayed();jQuery("#legend_toggle").click(function(){toggleMapLegend(this)});if(urlParams["rmp"]&&PColorRampOptions[urlParams["rmp"]])PColorRamp.DEFAULT=PColorRampOptions[urlParams["rmp"]].ramp;var options=new PPolyCreatorOptions;options.poly.weight=1;options.poly.opacity=.5;polycreator=new PPolyCreator(options);map=new PMap(document.getElementById("map"));map.addControl(new PLargeMapControl);map.enableDoubleClickZoom();map.disableKeyboard();widget=new PTRFIndicatorLegend(map,map.getLegend(),{enableToggle:false,enableShade:true,enableBreaks:true});var indElm=$("#legend");var indicatorShade=widget.getIndicatorShade();var indicatorBreaks=widget.getIndicatorBreaks();var legendContainer=new PLegendContainer(indElm);widget.addListener("refresh",legendContainer.show,legendContainer);widget.addListener("clear",legendContainer.hide,legendContainer);var breaksWidget=new PBreaksWidget(indElm.find("#breaks_container"));breaksWidget.removeEditRangesLinks();indicatorBreaks.addListener("refresh",breaksWidget.refresh,breaksWidget);indicatorBreaks.addListener("clear",breaksWidget.clear,breaksWidget);var shadeWidget=new PIndicatorShadeWidget(indElm.find("#shade_container"),true);indicatorShade.addListener("refresh",shadeWidget.update,shadeWidget);indicatorShade.addListener("clear",shadeWidget.clear,shadeWidget);shadeWidget.addListener("change",indicatorShade.changeShade,indicatorShade);legendContainer.init();if(!urlParams["elegend"]){legendContainer.remove()}if(urlParams["cx"]&&urlParams["cy"]&&urlParams["cz"]){map.setCenter(new PLatLng(urlParams["cy"],urlParams["cx"]),urlParams["cz"])}else{map.setCenter(new PLatLng(37.6902,-96.9129),2)}if(urlParams["nb"])map.getLegend().setNumberOfBreaks(parseInt(urlParams["nb"]));else map.getLegend().setNumberOfBreaks(DEFAULT_NUMBREAKS);if(urlParams["iwx"]&&!urlParams["i"]&&urlParams["iwtype"]=="identify")PMIdentificationModule.showInfoWindow(urlParams);PEvent.addListener(map,"click",function(overlay,point){PMIdentificationModule.clickHandler(overlay,point)});var layerpoints=map.getCurrentMapType().getActiveLayerPoints();PEvent.addListener(map,"zoomend",function(){for(var i in layerpoints){if(map.getScale()<=layerpoints[i].maxScale&&layerpoints[i].isOn()){if(!layerpoints[i].pointDataset.isOn())map.addOverlaySet(layerpoints[i].pointDataset);layerpoints[i].pointDataset.on()}else if(map.getScale()>layerpoints[i].maxScale&&layerpoints[i].isOn()){if(layerpoints[i].pointDataset.isOn())map.removeOverlaySet(layerpoints[i].pointDataset);layerpoints[i].pointDataset.off()}}});PEvent.addListener(map,"setoverlaysets",function(overlaysets){if(!urlParams["i"]){$("#shade_container").hide()}if(!urlParams["i"]&&urlParams["etitle"]){jQuery(".embedMapTitle").show();document.getElementById("maptitle").innerHTML=createTitleForWidgetAndEmbedMap(null,overlaysets);var height=jQuery(".embedMapTitle").height();jQuery("#map").css({width:urlParams["ew"]+"px",height:urlParams["eh"]-height+"px"})}legendContainer.show()});var eoptions=new EmbeddingMapOptions(map,widget,urlParams);PEvent.addListener(map,"zoomend",function(){var legend=map.getLegend();legend.clearStoredScale();if(legend.boundaryTypeIsLocked()){if(!legend.isValidBoundaryType(map.getLegend().getBoundaryType())){legend.unlockBoundaryType()}}eoptions.refreshMapOptionsLayers();if(map.getLegend().getBoundaryType()){widget.getIndicatorShade().setOldBoundaryTypeId(map.getLegend().getBoundaryType().id)}if(widget.legend.getBoundaryType()&&widget.getIndicatorShade().getOldBoundaryTypeId()!=widget.legend.getBoundaryType().id){widget.getIndicatorShade().setOldBoundaryTypeId(widget.legend.getBoundaryType().id)}widget.refresh();map.refresh()});PEvent.addListener(map,"setindicator",function(ind){if(ind.hasBubbleOptions()){ind.loadBubbleIndicators()}if(urlParams["etitle"]){jQuery(".embedMapTitle").show();document.getElementById("maptitle").innerHTML=createTitleForWidgetAndEmbedMap(ind);if($("#morelink").hasClass("on")){var moretitle=document.getElementById("moretitle");moretitle.innerHTML=ind.getDescription();var sources=ind.getSources();if(sources.length>1){moretitle.innerHTML+=" (See data directory for "+ind.getSourceList(true)+".)"}else if(sources.length==1){var sourceURL=ind.getSourceURL(sources[0]);if(sourceURL!=null){moretitle.innerHTML+=" <a class='dataLink' target='_blank' href='"+sourceURL+"'>(see data directory)</a>"}}}var height=jQuery(".embedMapTitle").height();jQuery("#map").css({width:urlParams["ew"]+"px",height:urlParams["eh"]-height+"px"})}})}function examplesOnLoad(place,ind,placetypes,period,highlightPlace,latlng,zoom,ptype){var map=new PMap(document.getElementById("mapContainer"));var indoptions={ind:ind,period:period,ptype:ptype};map.addControl(new PSmallMapControl);map.enableDoubleClickZoom();if(place=="united states"){map.setCenter(new PLatLng(37.8902,-98.9129),2);if(ind)showIndicator(map,indoptions);var mapLink=document.getElementById("mapLink");if(mapLink)mapLink.href="/maps?i="+ind}else if(latlng&&zoom){map.setCenter(new PLatLng(latlng[0],latlng[1]),zoom);if(ind)showIndicator(map,indoptions)}else{centerPlace(place,map,indoptions,placetypes,highlightPlace)}}function centerPlace(place,map,indoptions,placetypes,highlightPlace){var ind=indoptions.ind;if(!placetypes)var placetypes=[PPlaceType.CITY];var geocoder=new PClientGeocoder;if(geocoder&&place.replace(/^\s+|\s+$/g,"")!=""){geocoder.getPlace(place,function(places){if(places.length==0)alert('Place "'+place+'" not found');else{map.setCenterBounds(places[0].getBounds())}if(ind)showIndicator(map,indoptions);var mapLink=document.getElementById("mapLink");if(mapLink)mapLink.href="/maps?p="+places[0].id+"&i="+ind;if(highlightPlace)examplesAddPolygons(map,places[0].getVertices()[0])},10,null,placetypes)}}function showIndicator(map,indoptions){var ind=indoptions.ind;var period=indoptions.period;var ptype=indoptions.ptype;if(ptype){PPlaceTypeConfig.PLEGEND.zooms[map.getZoom()]=ptype}if(ind==9627156)PColorRamp.DEFAULT=new PColorRamp("default",[new PColor("5D4770"),new PColor("E6CCE0"),new PColor("FAFAB6")]);else PColorRamp.DEFAULT=new PColorRamp("default",[new PColor("FFE6F4"),new PColor("E6CCE0"),new PColor("CCB1CC"),new PColor("B29AB8"),new PColor("9B839B"),new PColor("866F94"),new PColor("725B82"),new PColor("5D4770")]);PIndicatorLoader.load([ind],function(inds){if(period)inds[0].setPeriod(period);map.setIndicator(inds[0]);var title=document.getElementById("mapTitle");title.innerHTML=inds[0].getFullLabel()});map.getLegend().setNumberOfBreaks(5);map.getLegend().setColorRamp(PColorRamp.DEFAULT);var widget=new PTRFOnMapWidget(map,document.getElementById("onmaplegend"),P_WIDGET_INDICATOR_ID);PEvent.addListener(map,"zoomend",function(){map.refreshWidget(widget)})}function examplesAddPolygons(map,vertices){var poly=new PPolyline(vertices);
map.addOverlay(poly)}P.GoogleMap=function(){this.debug=new P.Debug;this.showing=false;this.loaded=false;this.loading=false;this.mapDivName="googleMap";this.overlayMaps={};this.roundRobin=[0,0,0,0];this.startZoom=17;this.maxZoom=21;this.baseHost;this.apiHost;var prefix=window.location.hostname.split(/\./)[1];if(prefix.indexOf("-dev")>-1||prefix.indexOf("staging")>-1){this.apiHost="www."+prefix+".policymapdev.com";this.baseHost="."+prefix+".policymapdev.com"}else{this.apiHost="www.policymap.com";this.baseHost=".policymap.com"}this.baseSend=PEnvironment.dataServicesUrl+"?";this.SVGOverlays=[];this.debugLayer={};this.debugLayer.opacity=.5;this.defaults={};this.defaults.mapOptions={};this.defaults.indicator={};this.defaults.polygons={};this.defaults.lineWidth=1;this.defaults.polygonLineWidth=3;this.defaults.opacity=.75;this.defaults.polygons.color="0070FF";this.defaults.mapOptions.opacity=.5;this.current={};this.current.indicator={};this.current.mapOptions=[];this.current.polygons=[];this.current.tileTypes={};this.current.tileTypes.mapOptions=false;this.current.tileTypes.indicator=false;this.current.tileTypes.polygons=false;this.current.indicator.opacity=this.defaults.opacity;this.current.indicator.opacityText=this.defaults.opacity*100;this.geoBoundaryId=0;this.polygons=[89300,9e4,90100,90200,90300,90450,90500,90550,92050,92200,92900,94e3,94200,95200,95600,95850,96100,96600,96650];this.currentBoundaries={};this.currentBoundaryIds="";this.boundariesToId=[];this.boundariesToId.pp_statebounds=2;this.boundariesToId.pp_cbsabounds07=201;this.boundariesToId.pp_mdbounds07=202;this.boundariesToId.pp_csubbounds=21;this.boundariesToId.countybounds=4;this.boundariesToId.pp_placebounds=16;this.boundariesToId.pp_zipbounds=8;this.boundariesToId.tractbounds=6;this.boundariesToId.blkgrpbounds=15;this.boundariesToId.parcels=22;this.boundariesToId.pp_congdistbounds=23;this.boundariesToId.pp_sldubounds=48;this.boundariesToId.pp_sldlbounds=49;this.boundariesToId.prox_schdistbounds=42;this.boundariesToId.pp_cdbgbounds=76;this.boundariesToId.parcels_camden_nj=204;this.boundariesToId.pp_chiwardbounds=205;this.boundariesToId.pp_chicabounds=206;this.boundariesToId.pp_njrentmktbounds=207};P.GoogleMap.prototype.load=function(){if(this.loading===true){return}if(this.loading===false&&this.loaded===false){this.loading=true}if(this.loaded===false){this.appendJS("//maps.google.com/maps/api/js?sensor=false&callback=P.instances.googleMap.init")}};P.GoogleMap.prototype.toggle=function(){if(this.loaded===false){this.load();return}if(this.showing===false){this.show()}else{this.hide()}};P.GoogleMap.prototype.init=function(){var self=this;this.loading=false;this.loaded=true;if(typeof P.instances.map==="object"){this.pMapDiv=$(P.instances.map.getContainer());this.mapDiv=$("<div />");this.mapDiv.attr("id",this.mapDivName);this.mapDiv.addClass("map--split");this.pMapDiv.after(this.mapDiv)}else{throw"No map object to attach to."}if(!google.maps.Polygon.prototype.getBounds){google.maps.Polygon.prototype.getBounds=function(latLng){var bounds=new google.maps.LatLngBounds;var paths=this.getPaths();var path;for(var p=0;p<paths.getLength();p++){path=paths.getAt(p);for(var i=0;i<path.getLength();i++){bounds.extend(path.getAt(i))}}return bounds}}this.overlayMaps.base={getTileUrl:function(c,z){self.roundRobin[0]++;if(self.roundRobin[0]>1){self.roundRobin[0]=0}return"//khms"+self.roundRobin[0]+".googleapis.com/kh?v=175&hl=en-US&x="+c.x+"&y="+c.y+"&z="+z},tileSize:new google.maps.Size(256,256),maxZoom:23,minZoom:0,isPng:true,name:"base"};this.overlayMaps.label={getTileUrl:function(c,z){self.roundRobin[2]++;if(self.roundRobin[2]>1){self.roundRobin[2]=0}return"http://mt"+self.roundRobin[2]+".google.com/vt?lyrs=h@135&src=apiv3&hl=en-US&apistyle=p.v:off,s.t:1|p.v:on,s.t:2|p.v:on,s.t:3|p.v:on,s.t:6|p.v:on&x="+c.x+"&y="+c.y+"&z="+z},tileSize:new google.maps.Size(256,256),maxZoom:23,minZoom:0,isPng:true};this.overlayMaps.boundary={getTileUrl:function(c,z){self.roundRobin[1]++;if(self.roundRobin[1]>4){self.roundRobin[1]=1}var url=window.location.protocol+"//dl"+self.roundRobin[1]+self.baseHost+self.baseSend+"id=1&ty=tile&t=bnd"+"&blw="+self.defaults.lineWidth+"&bcc="+"000000"+"&x="+c.x+"&y="+c.y+"&z="+z+"&mo="+self.current.boundaryTypeId;self.debug.log(P.Debug.DEBUG3,url);return url},opacity:self.defaults.mapOptions.opacity,tileSize:new google.maps.Size(256,256),maxZoom:23,minZoom:0,isPng:true};this.overlayMaps.indicator={getTileUrl:function(c,z){self.roundRobin[1]++;if(self.roundRobin[1]>4){self.roundRobin[1]=1}var indicator=self.current.indicator;var url=window.location.protocol+"//dl"+self.roundRobin[1]+self.baseHost+self.baseSend+"id=1&ty=tile&t=ind"+"&x="+c.x+"&y="+c.y+"&z="+z+"&ii="+indicator.id+"&tfi="+indicator.periodids[indicator.periodIndex]+"&ilw="+indicator.lineWidth+"&bt="+indicator.boundaryType+"&ir="+indicator.breaksText+"&crc="+indicator.colors;self.debug.log(P.Debug.DEBUG3,url);return url},opacity:self.current.indicator.opacity,tileSize:new google.maps.Size(256,256),maxZoom:23,minZoom:0,isPng:true};this.overlayMaps.polygons={getTileUrl:function(c,z){self.roundRobin[1]++;if(self.roundRobin[3]>4){self.roundRobin[3]=1}var polygon=self.current.polygon;var extra="";if(polygon.filters!=""){extra="&fl="+polygon.filters}var url=window.location.protocol+"//dl"+self.roundRobin[3]+self.baseHost+self.baseSend+"id=1&ty=tile&t=ply"+"&x="+c.x+"&y="+c.y+"&z="+z+"&bi="+polygon.ids+"&fcc="+polygon.colors+"&flw="+polygon.lws+extra;self.debug.log(P.Debug.DEBUG3,url);return url},opacity:1,tileSize:new google.maps.Size(256,256),maxZoom:23,minZoom:0,isPng:true};this.overlayMaps.debug={getTileUrl:function(c,z){self.roundRobin[1]++;if(self.roundRobin[1]>4){self.roundRobin[1]=1}var url=window.location.protocol+"//dl"+self.roundRobin[1]+self.baseHost+self.baseSend+"id=1&ty=tile&t=dbg"+"&x="+c.x+"&y="+c.y+"&z="+z;self.debug.log(P.Debug.DEBUG3,url);return url},opacity:self.debugLayer.opacity,tileSize:new google.maps.Size(256,256),maxZoom:23,minZoom:0,isPng:true};var data=P.instances.map.getCenter();var mapOptions={zoom:P.instances.map.getZoom()+2,center:new google.maps.LatLng(data.latitude,data.longitude),mapTypeControl:false,rotateControl:false,panControl:false,scrollwheel:false,streetViewControl:false,zoomControl:false};this.map=new google.maps.Map(document.getElementById(this.mapDivName),mapOptions);this.layerLevel={};this.layerLevel.base=0;this.layerLevel.boundary=1;this.layerLevel.indicator=2;this.layerLevel.debug=3;this.layerLevel.label=4;this.layerLevel.polygons=5;this.map.overlayMapTypes.clear();this.map.overlayMapTypes.push(null);this.map.overlayMapTypes.push(null);this.map.overlayMapTypes.push(null);this.map.overlayMapTypes.push(null);this.map.overlayMapTypes.push(null);this.map.overlayMapTypes.push(null);this.imageMapType={};this.imageMapType.base=new google.maps.ImageMapType(this.overlayMaps.base);this.imageMapType.boundary=new google.maps.ImageMapType(this.overlayMaps.boundary);this.imageMapType.indicator=new google.maps.ImageMapType(this.overlayMaps.indicator);this.imageMapType.debug=new google.maps.ImageMapType(this.overlayMaps.debug);this.imageMapType.label=new google.maps.ImageMapType(this.overlayMaps.label);this.imageMapType.polygons=new google.maps.ImageMapType(this.overlayMaps.polygons);this.map.mapTypes.set("base",this.imageMapType.base);this.map.setMapTypeId("base");this.map.overlayMapTypes.setAt(this.layerLevel.label,this.imageMapType.label);google.maps.event.addDomListener(window,"resize",function(){this.resize()});google.maps.event.addListener(this.map,"zoom_changed",function(){self.checkZoom()});google.maps.event.addListener(this.map,"dragend",function(){var data=self.map.getCenter();P.instances.map.setCenter(new PLatLng(data.lat(),data.lng()))});$(window).on(P.events.MAP_RESIZED,function(){self.resize()});$(window).on(P.events.MAP_RESET,function(){self.hide()});$(window).on(P.events.LEGEND_UPDATED,function(){self.indicatorLayerOff();self.indicatorLayer();self.refreshBoundaries()});$(window).on(P.events.OVERLAYSET_FILTER_CHANGED,function(){self.checkOverlaySet()});PEvent.addListener(P.instances.map,"moveend",function(){var data=P.instances.map.getCenter();self.map.setCenter(new google.maps.LatLng(data.latitude,data.longitude));google.maps.event.trigger(self.map,"resize")});PEvent.addListener(P.instances.map,"zoomend",function(){self.refreshBoundaries(true);self.map.setZoom(P.instances.map.getZoom()+2);self.checkZoom()});PEvent.addListener(P.instances.map,"addoverlay",function(overlay){self.checkSVGPolygons()});PEvent.addListener(P.instances.map,"removeoverlay",function(overlay){self.checkSVGPolygons()});PEvent.addListener(P.instances.map,"setindicator",function(overlay){self.addIndicator(overlay);self.indicatorLayer()});PEvent.addListener(P.instances.map,"removeindicator",function(overlay){self.removeIndicator();self.indicatorLayer()});PEvent.addListener(P.instances.map,"addoverlayset",function(overlay){self.checkOverlaySet(overlay)});PEvent.addListener(P.instances.map,"removeoverlayset",function(overlay){self.checkOverlaySet(overlay)});this.toggleLabels=$('<div id="satellite__labels" class="googleMapControlsCommon"><input id="satelliteLabels" type="checkbox" checked="checked" /><label for="satelliteLabels">Labels</label></div>');this.mapDiv.append(this.toggleLabels);this.toggleLabels.on("change",function(){if($(this).find("input").is(":checked")){self.map.overlayMapTypes.setAt(self.layerLevel.label,self.imageMapType.label)}else{self.map.overlayMapTypes.setAt(self.layerLevel.label,null)}});this.toggleIndicator=$('<div id="indicator__toggle" class="is-hidden googleMapControlsCommon"><input id="indicatorToggle" type="checkbox" checked="checked" /><label for="indicatorToggle">Data Layer</label></div>');this.mapDiv.append(this.toggleIndicator);this.toggleIndicator.on("change",function(){if($(this).find("input").is(":checked")){self.current.indicator.on=true}else{self.current.indicator.on=false}self.indicatorLayer()});this.indicatorOpacitySlider=$('<div id="indicatorOpacitySlider" class="is-hidden"></div>');this.mapDiv.append(this.indicatorOpacitySlider);this.indicatorOpacitySlider.slider({min:0,max:100,value:self.current.indicator.opacityText,slide:function(event,ui){self.current.indicator.opacityText=ui.value;self.current.indicator.opacity=ui.value/100;self.indicatorOpacityTextDiv.text("Opacity: "+self.current.indicator.opacityText)},change:function(event,ui){self.imageMapType.indicator.setOpacity(self.current.indicator.opacity)}});this.indicatorOpacityTextDiv=$('<div id="indicatorOpacityTextDiv" class="googleMapControlsCommon is-hidden"></div>');this.indicatorOpacityTextDiv.text("Opacity: "+this.current.indicator.opacityText);this.mapDiv.append(this.indicatorOpacityTextDiv);this.zoomBar=$('<div class="google-zoom-control">'+'<img src="/images/control_zoomin.png" class="google-zoom-control__control-images google-zoom-control__plus-image" id="googleZoomInImg" title="Zoom In">'+'<img src="/images/control_zoomout.png" class="google-zoom-control__control-images google-zoom-control__minus-image" id="googleZoomOutImg" title="Zoom Out">'+"</div>");this.mapDiv.append(this.zoomBar);this.zoomInImg=$("#googleZoomInImg");this.zoomOutImg=$("#googleZoomOutImg");this.zoomInImg.on("click",function(){self.map.setZoom(self.map.getZoom()+1)});this.zoomOutImg.on("click",function(){self.map.setZoom(self.map.getZoom()-1)});this.dividerDiv=$('<div id="googleDividerDiv" />');this.dividerDiv.addClass("map--divider");this.mapDiv.append(this.dividerDiv);this.pMapDiv.addClass("map--split");this.mapDiv.show();this.mapDiv.append($("#satellite__holder"));this.show();this.checkZoom();this.refreshBoundaries(true);this.checkOverlaySet();this.checkSVGPolygons();if(P.instances.map&&P.instances.map.getIndicator()!=null){this.addIndicator(P.instances.map.getIndicator());this.indicatorLayer()}$(window).trigger(P.events.GOOGLE_MAP_LOADED);this.loaded=true};P.GoogleMap.prototype.show=function(){if(this.showing===true){return}var center=P.instances.map.getCenter();this.pMapDiv.addClass("map--split");this.mapDiv.show();this.mapDiv.append($("#satellite__holder"));google.maps.event.trigger(this.map,"resize");this.pmapReset(center);session.put("aerialShowing",true);this.showing=true};P.GoogleMap.prototype.hide=function(){if(this.showing===false){return}this.mapDiv.hide();var center=P.instances.map.getCenter();this.pMapDiv.removeClass("map--split");this.pMapDiv.append($("#satellite__holder"));this.pmapReset(center);session.remove("aerialShowing");this.showing=false};P.GoogleMap.prototype.resize=function(){this.mapDiv.css("height",this.pMapDiv.css("height"));this.dividerDiv.css("height",this.pMapDiv.css("height"));google.maps.event.trigger(self.map,"resize")};P.GoogleMap.prototype.pmapReset=function(center){this.resize();P.instances.map.kamap.resize();P.instances.map.panTo(center)};P.GoogleMap.prototype.refreshBoundaries=function(dontZoom){if(typeof this.map==="object"){this.currentBoundaryIds="";var first=true;for(var i in this.currentBoundaries){if(this.boundariesToId[i]!==null){var scale=P.instances.map.getScale();if(scale<=this.currentBoundaries[i].maxScale&&scale>=this.currentBoundaries[i].minScale){if(first===true){first=false}else{this.currentBoundaryIds+=","}this.currentBoundaryIds+=this.boundariesToId[i]}}}this.current.tileTypes.bound=!first;if(dontZoom==null){this.map.setZoom(this.map.getZoom())}}};P.GoogleMap.prototype.checkOverlaySet=function(){this.current.polygons=[];this.current.polygon={};this.current.tileTypes.poly=false;var sets=P.instances.map.getOverlaySets();if(sets.length>0){for(var i=0;i<sets.length;i++){var polygon={};polygon.ids=[];polygon.filters=[];polygon.colors=[];polygon.lws=[];var set=sets[i];if(set.bdid!==null){this.current.tileTypes.poly=true;if(set.filtersbyicons.length>0){for(var z=0;z<set.filtersbyicons.length;z++){polygon.filters.push(set.createFilterQuery(set.filtersbyicons[z]));if(set.colorcodes!==null&&set.colorcodes[z]!==null){polygon.colors.push(set.colorcodes[z].color)}else{polygon.colors.push(this.defaults.polygons.color)}polygon.lws.push(this.defaults.polygonLineWidth)}}else{polygon.filters.push(set.createQuery(false));polygon.colors.push(this.defaults.polygons.color);polygon.lws.push(this.defaults.polygonLineWidth)}polygon.ids.push(set.bdid);this.current.polygons.push(polygon)}this.current.polygon={ids:polygon.ids.join(","),filters:polygon.filters.join(","),colors:polygon.colors.join(","),lws:polygon.lws.join(",")};break}}if(this.current.tileTypes.poly===true){this.map.overlayMapTypes.setAt(this.layerLevel.polygons,this.imageMapType.polygons)}else{this.map.overlayMapTypes.setAt(this.layerLevel.polygons,null)}};P.GoogleMap.prototype.appendJS=function(filename){var s=document.createElement("script");s.setAttribute("type","text/javascript");s.setAttribute("src",filename);document.getElementsByTagName("head")[0].appendChild(s)};P.GoogleMap.prototype.checkZoom=function(){var gzoom=P.instances.googleMap.map.getZoom();if(gzoom>=this.startZoom){this.zoomBar.show()}else{this.zoomBar.hide()}if(gzoom===this.startZoom){this.zoomOutImg.hide()}else{this.zoomOutImg.show()}if(gzoom===this.maxZoom){this.zoomInImg.hide()}else{this.zoomInImg.show()}};P.GoogleMap.prototype.removeIndicator=function(){this.current.indicator={};this.overlayMaps.indicator.opacity=this.current.indicator.opacity=this.defaults.opacity;this.current.indicator.opacityText=this.defaults.opacity*100;this.toggleIndicator.addClass("is-hidden")};P.GoogleMap.prototype.addIndicator=function(ind){if(ind!=null){var legend=map.getLegend();this.current.indicator={id:ind.id,periodids:ind.periodids,lineWidth:this.defaults.lineWidth,periodId:ind.periodids[ind.curPerIndex],periodIndex:ind.curPerIndex,boundaryType:ind.legend._boundaryType.id,breaksText:ind.breaks[ind.curPerIndex][ind.legend._boundaryType.id][legend.getNumberOfBreaks()],colors:P.instances.map.getLegend().getColors().join(","),on:true};if(ind.nodata!=null){this.current.indicator.breaksText=ind.nodata+","+this.current.indicator.breaksText}this.toggleIndicator.removeClass("is-hidden")}};P.GoogleMap.prototype.indicatorLayer=function(){if(this.current.indicator.on===true){this.indicatorLayerOn()}else{this.indicatorLayerOff()}};P.GoogleMap.prototype.indicatorLayerOn=function(){this.map.overlayMapTypes.setAt(this.layerLevel.indicator,this.imageMapType.indicator);this.indicatorOpacitySlider.removeClass("is-hidden");this.indicatorOpacityTextDiv.removeClass("is-hidden")};P.GoogleMap.prototype.indicatorLayerOff=function(){this.map.overlayMapTypes.setAt(this.layerLevel.indicator,null);this.indicatorOpacitySlider.addClass("is-hidden");this.indicatorOpacityTextDiv.addClass("is-hidden")};P.GoogleMap.prototype.checkSVGPolygons=function(){this.clearSVGPolygons();if(P.instances.map!==null&&P.instances.map.overlays!==null){for(var x=0;x<P.instances.map.overlays.length;x++){var gpaths=[];var overlay=P.instances.map.overlays[x];if(overlay instanceof PPolyline){for(var y=0;y<overlay.points.length;y++){var gll=new google.maps.LatLng(overlay.points[y].latitude,overlay.points[y].longitude);gpaths.push(gll)}}var polyline={path:gpaths,strokeColor:overlay.color,strokeOpacity:overlay.opacity,strokeWeight:overlay.weight};var poly=new google.maps.Polyline(polyline);poly.setMap(this.map);this.SVGOverlays.push(poly)}}};P.GoogleMap.prototype.clearSVGPolygons=function(){for(var i in this.SVGOverlays){this.SVGOverlays[i].setMap(null);delete this.SVGOverlays[i]}this.SVGOverlays=new Array};var hoverLoader=0;function loadHovers(){hoverLoader++;hoverSVGObj=new hoverSVG;hoverSVGObj.addBoundaries()}function hoverSVG(){this.opacity=0;this.stroke=1;this.color="#000000";this.places=new Array;this.minx=0;this.miny=0;this.maxx=0;this.maxy=0;this.firstPolygon=true;this.padding=300;this.svg_ns="http://www.w3.org/2000/svg";var xlink_ns="http://www.w3.org/1999/xlink";this.svg=document.createElementNS(this.svg_ns,"svg");this.svg.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",xlink_ns);this.svg.setAttributeNS(null,"version","1.1");this.svg.setAttributeNS(null,"overflow","visible");this.svg.style.position="absolute";this.svg.style.zIindex=10001;var s=document.createElementNS(this.svg_ns,"script");s.setAttributeNS(xlink_ns,"type","text/ecmascript");s.setAttributeNS(xlink_ns,"xlink:href","/js/svg.js");this.svg.appendChild(s)}hoverSVG.prototype.addBoundaries=function(){var bounds=map.getBounds();bounds.getPlacesWithin(PPlaceTypeConfig.PPLACECONTAINMENT.getTypeByAbsoluteZoom(map.getZoom(),true),null,null,function(places){for(var i=0;i<places.length;i++){if(places[i].country=="United States"){hoverSVGObj.addBoundary(places[i])}}hoverSVGObj.plotBoundaries()})};hoverSVG.prototype.addBoundary=function(place){var polygons=place.getVertices();var stuff=new Object;stuff.label=place.label;var centerpoint=map.mapType.projection.fromLatLngToPixel(place.centroid);stuff.center=[centerpoint.x,centerpoint.y];stuff.data=new Array;for(var v=0;v<polygons.length;v++){var polygon=polygons[v];for(var i=0;i<polygon.length;i++){var first;var projectedpoint=map.mapType.projection.fromLatLngToPixel(polygon[i]);var xy=[projectedpoint.x,projectedpoint.y,false];if(xy!=null){var x=xy[0];var y=xy[1];if(this.firstPolygon||x<this.minx){this.minx=x;this.minLon=polygon[i].longitude}if(this.firstPolygon||y<this.miny){this.miny=y;this.minLat=polygon[i].latitude}if(this.firstPolygon||x>this.maxx){this.maxx=x;this.maxLon=polygon[i].longitude}if(this.firstPolygon||y>this.maxy){this.maxy=y;this.maxLat=polygon[i].latitude}if(i==0){first=xy;first[2]=true}stuff.data.push(xy);this.firstPolygon=false}}stuff.data.push(first)}this.places.push(stuff)};hoverSVG.prototype.plotBoundaries=function(){if(this.minx<0)this.offx=Math.abs(this.minx);if(this.miny<0)this.offy=Math.abs(this.miny);for(var i=0;i<this.places.length;i++){var place=this.places[i];var pathString="";var p=document.createElementNS(this.svg_ns,"path");p.setAttribute("stroke-linejoin","round");p.setAttribute("stroke-linecap","round");p.setAttribute("stroke-opacity",this.opacity);p.setAttribute("stroke-width",this.stroke);p.setAttribute("stroke",this.color);p.setAttribute("fill","black");p.setAttribute("fill-opacity","0");p.setAttribute("centerx",place.center[0]+this.offx+this.padding);p.setAttribute("centery",place.center[1]+this.offy+this.padding);p.setAttribute("onmouseover","hoverShow(evt)");p.setAttribute("onmouseout","hoverHide(evt)");p.setAttribute("onclick","hoverClick(evt)");var desc=document.createElementNS(this.svg_ns,"desc");var t=document.createTextNode(place.label);desc.appendChild(t);p.appendChild(desc);for(var z=0;z<place.data.length;z++){var data=place.data[z];var x=data[0];var y=data[1];var first=data[2];var dataString=x+this.offx+this.stroke+this.padding+" "+(y+this.offy+this.stroke+this.padding);pathString+=first==true?"M":" L";pathString+=dataString}p.setAttribute("d",pathString);this.svg.appendChild(p)}var g=document.createElementNS(this.svg_ns,"g");g.setAttributeNS(null,"id","infoBubble");g.setAttributeNS(null,"opacity","1");g.setAttributeNS(null,"visibility","hidden");g.setAttributeNS(null,"pointer-events","none");this.svg.appendChild(g);var path=document.createElementNS(this.svg_ns,"path");path.setAttributeNS(null,"fill-opacity","0.5");path.setAttributeNS(null,"fill-rule","evenodd");path.setAttributeNS(null,"stroke-width","2.5");path.setAttributeNS(null,"d","m89.69019,40.06386l336.9598,2.3983c20.81299,0.1481 56.056,5.474 63.55399,34.7749c8.66101,38.5328 11.547,211.94778 -2.39899,238.6308c-10.28101,21.521 -19.828,28.698 -29.97702,34.77399c-30.065,14.44302 -170.28,11.99103 -170.28,11.99103l-178.67169,100.72897l115.11769,-101.92798l-145.09619,0.00098c-20.36009,0 -38.9787,-12.80399 -45.5673,-40.77197c-11.47156,-50.78302 -13.70463,-193.21301 -2.3984,-226.63781c10.7142,-30.5384 28.72081,-54.175 58.75811,-53.9612z");g.appendChild(path);path=document.createElementNS(this.svg_ns,"path");path.setAttributeNS(null,"fill","#ffffff");path.setAttributeNS(null,"fill-rule","evenodd");path.setAttributeNS(null,"stroke","#000000");path.setAttributeNS(null,"stroke-width","10");path.setAttributeNS(null,"stroke-linejoin","round");path.setAttributeNS(null,"d","m76.7452,28.737l336.95979,2.3983c20.81302,0.1481 56.056,5.474 63.55402,34.7749c8.66101,38.5328 11.547,211.9478 -2.39902,238.63078c-10.28098,21.52103 -19.82797,28.69803 -29.97699,34.77402c-30.065,14.44299 -170.28,11.991 -170.28,11.991l-178.6717,100.729l115.1177,-101.92801l-145.0962,0.00101c-20.3601,0 -38.9787,-12.80402 -45.5673,-40.772c-11.47156,-50.78299 -13.70463,-193.213 -2.3984,-226.6378c10.7142,-30.53839 28.7208,-54.175 58.7581,-53.9612z");path.setAttributeNS(null,"onclick","bubbleClick(evt)");g.appendChild(path);g=document.createElementNS(this.svg_ns,"g");g.setAttributeNS(null,"id","toolTip");g.setAttributeNS(null,"opacity","1");g.setAttributeNS(null,"visibility","hidden");g.setAttributeNS(null,"pointer-events","none");this.svg.appendChild(g);var rect=document.createElementNS(this.svg_ns,"rect");rect.setAttributeNS(null,"id","tipBox");rect.setAttributeNS(null,"x","0");rect.setAttributeNS(null,"y","5");rect.setAttributeNS(null,"width","88");rect.setAttributeNS(null,"height","20");rect.setAttributeNS(null,"rx","2");rect.setAttributeNS(null,"ry","2");rect.setAttributeNS(null,"fill","white");rect.setAttributeNS(null,"stroke","none");g.appendChild(rect);var text=document.createElementNS(this.svg_ns,"text");text.setAttributeNS(null,"id","tipText");text.setAttributeNS(null,"x","5");text.setAttributeNS(null,"y","20");text.setAttributeNS(null,"font-family","Arial");text.setAttributeNS(null,"font-size","12");g.appendChild(text);var tspan=document.createElementNS(this.svg_ns,"tspan");tspan.setAttributeNS(null,"id","tipDesc");tspan.setAttributeNS(null,"dx","5");tspan.setAttributeNS(null,"font-weight","bold");text.appendChild(tspan);this.svg.setAttributeNS(null,"width",Math.abs(this.maxx-this.minx+this.padding*2)+"px");this.svg.setAttributeNS(null,"height",Math.abs(this.maxy-this.miny+this.padding*2)+"px");var icon=new PIcon;icon.iconSize=new PSize(1,1);map.addOverlay(new PMarker(new PLatLng(this.minLat,this.minLon),icon));overlay=map.overlays[map.overlays.length-1];var top=parseInt(overlay.image.style.top);var left=parseInt(overlay.image.style.left);this.svg.style.top=top-this.padding+"px";this.svg.style.left=left-this.padding+"px";$("#hoverSVG").remove();var div=$("<div/>");div.attr("style","position: absolute; left: 0px; top: 0px; width: 3000px; height: 3000px; z-index: 101");div.attr("id","hoverSVG");div.append(this.svg);$("#merged").after(div)};function globalOnLoad(){populateAggregation(PPlaceTypeConfig2.AGGREGATION);if(productProperty.exists("center_point")){var pointString=productProperty.getValue("center_point");var points=pointString.split(",");if(points.length==2){customLng=points[0];customLat=points[1]}}if(productProperty.exists("zoom")){customZoom=productProperty.getValue("zoom")}if(productProperty.exists("live_map_boundary_island")){placeLoader.load(productProperty.getValue("live_map_boundary_island"),function(places){if(places.length>0){liveMapBoundaryIsland=places[0]}})}}function showLoginPopup(warning,redirect){var displayLogin=true;if(PEnvironment.pageName=="maps"||PEnvironment.pageName=="analytics"){var customRegions=session.get("cp");if(customRegions!=null&&customRegions.length>0){alerter.popup("Logging in requires removing all custom regions that are currently on the map. Do you wish to continue?","No","Yes",function(){var placesToRemove=[];for(id in polycreator.customPlaces){placesToRemove.push(polycreator.customPlaces[id].place)}for(var i=0;i<placesToRemove.length;i++){polycreator.removeCustomRegionFromMap(placesToRemove[i])}showLoginPopupAlert(warning,redirect)});displayLogin=false}}else if(PEnvironment.pageName=="tables"){var customRegions=session.get("cp");if(customRegions!=null&&customRegions.length>0){alerter.popup("Logging in requires removing all custom regions that are currently in the table. Do you wish to continue?","No","Yes",function(){var placesToRemove=[];for(var i=0;i<global_places.length;i++){var curPlace=global_places[i];if(curPlace.getType()==PPlaceType.CUSTOM){placesToRemove.push(curPlace)}}for(var i=0;i<placesToRemove.length;i++){cube.remove(placesToRemove[i])}showLoginPopupAlert(warning,redirect)});displayLogin=false}}else if(PEnvironment.pageName=="reports"||PEnvironment.pageName=="report_generate"){if(ajax.activeRequests>0){alerter.popup("Cannot login while a report is generating. Please wait until it has finished and try again.","OK");displayLogin=false;return}if(reportObject.locationType&&reportObject.locationType=="custom"){alerter.popup("Logging in requires closing this custom region report. Do you wish to continue?","No","Yes",function(){resetReportPage();showLoginPopupAlert(warning,redirect)});displayLogin=false}}else if(PEnvironment.pageName=="dataloader"){if(sitecreator!=null){alerter.popup("Logging in requires closing the current dataset. All unsaved changes will be lost. Do you wish to continue?","No","Yes",function(){$("#datasetEditor").hide();clearDataset();if(whichDataloaderTab()==2){updateUserDatasetList()}showLoginPopupAlert(warning,redirect)});displayLogin=false}}if(displayLogin){showLoginPopupAlert(warning,redirect)}}function showLoginPopupAlert(warning,redirect){genericAlertDialog({template:"login",action:"login",warning:typeof warning=="undefined"?null:warning,redirect:typeof redirect=="undefined"?null:redirect})}function autoLogin(callback){nrLoginSubmit(null,null,function(){session.load();if(callback!=null){callback()}})}function getDefaultMapLat(){if(customLat!=null&&customLng!=null){return customLat}else{return P.constants.USA_LAT}}function getDefaultMapLng(){if(customLat!=null&&customLng!=null){return customLng}else{return P.constants.USA_LNG}}function getDefaultMapZoom(){if(customZoom!=null){return customZoom}else{return P.constants.USA_ZOOM}}function addSitesByLocation(mapobj,cat,pinsetArg){var pinset=pincats[cat].pinsets[pinsetArg];pinset.dataset_id=pinset.id;var setIsOn=false;var sets=map.getOverlaySets();for(var i=0;i<sets.length;i++){if(sets[i].id==pinset.dataset_id){setIsOn=true;break}}if(setIsOn){return}var successFunction=function(dataArg){if(dataArg.responseCode!==200){_.each(dataArg.errors,function(error){P.instances.debug.log(P.Debug.ERROR,"PointSets WebService Error : "+error.message)})}else{var buildSet=function(setData){var data=_.toArray(setData)[0];if(data.isPoly===true&&(data.icon==null||typeof data.icon==="string"&&$.trim(data.icon)==="")){data.icon=PinIcons["polygon"]}else if(data.icon!=null&&!(data.icon instanceof Object)){data.icon=PinIcons[data.icon]}var overlaySet=new POverlaySet(data.id,data.icon,15);overlaySet.setLabel(data.name);if(overlaySet.isIFFDataset()){overlaySet.allowFiltersWithColorCode=true}if(overlaySet.displayfiltergroups===undefined){overlaySet.displayfiltergroups={}}_.each(data.filters,function(displayFilterGroup){overlaySet.displayfiltergroups[displayFilterGroup.displayName]=_.map(displayFilterGroup.filters,function(filter){var iconOptions=buildFilterIconOptionsIFF(overlaySet,displayFilterGroup,filter);return new PAttributeFilter(displayFilterGroup.displayName,filter.values,filter.type,filter.displayName,displayFilterGroup.columnName,filter.attrType,filter.id,displayFilterGroup.id,iconOptions)})});overlaySet.colorcodes=_.map(data.colorcodes,function(colorCodeName){return PinIcons[colorCodeName]});if(isCultureBlocksSubwayDataset(overlaySet)){setDefaultSubwayFilters(overlaySet,overlaySet.displayfiltergroups)}if(overlaySet.colorcodes.length===0){if(data.icon&&data.icon.headpin){overlaySet.colorcodes=PinIcons[data.icon.headpin].colors}}overlaySet.sources=data.sources;overlaySet.type=data.type;overlaySet.isPoly=data.isPoly;overlaySet.hasLabels=data.labels;overlaySet.hideLabels=data.hidelabels;overlaySet.labelZoom=data.labelzoom;overlaySet.search=data.search;overlaySet.allowDL=data.allowDL;overlaySet.children=_.map(data.children,function(child){return buildSet({childset:child})});overlaySet.child=data.child;overlaySet.description=data.description;overlaySet.map=map;if(data.isPoly){overlaySet.bdid=data.bdid;overlaySet.polycolor=data.polycolor;overlaySet.polystyle=data.polystyle}if(data.boundingBox){overlaySet.boundingBox=data.boundingBox}if(data.type==="dl"){overlaySet.owner=data.owner;overlaySet.ownerfirst=data.ownerfirst;overlaySet.ownerlast=data.ownerlast;overlaySet.created=data.created;overlaySet.perm=data.perm}if(overlaySet.isIFFDataset()){overlaySet=getIFFOverlaySetWithFilters(overlaySet,[overlaySet.displayfiltergroups["School Type_HIDE"][0]])}return overlaySet};var overlaySet=buildSet(dataArg.pnt);map.addOverlaySet(overlaySet);for(var i=0;i<overlaySet.children.length;i++){map.addOverlaySet(overlaySet.children[i])}labelManager.updateMapLabels()}};if(pinset!=null&&pinset.type!="old"){var data={responseCode:200};data.pnt={};data.pnt[pinset.id+"dl"]=pinset;successFunction(data)}else{ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=pnt&act=g&di="+pinset.dataset_id+"&dt="+pinset.type,success:successFunction,error:function(xhr,status,error){P.instances.debug.log(P.Debug.ERROR,"PointSets Ajax Error: status "+status+" error:"+error)}})}}function addSites(mapobj,set){if(set==null){return}if(set.allow!=null&&set.allow==false){return subscribeAlertCallback(null,null,set.id)}var sets=mapobj.getOverlaySets();if(set.id==129600){for(var i=0;i<sets.length;i++){if(sets[i].id&&sets[i].id==130350){mapobj.removeOverlaySet(sets[i]);break}}}else if(set.id==130350){for(var i=0;i<sets.length;i++){if(sets[i].id&&sets[i].id==129600){mapobj.removeOverlaySet(sets[i]);break}}}var site=createSites(mapobj,set);if(site!=null){mapobj.addOverlaySet(site)}for(var i=0;i<set.children.length>0;i++){addSites(mapobj,getOverlaySetByIdAndType(set.children[i].id,set.children[i].type))}labelManager.updateMapLabels()}function getOverlaySetByIdAndType(id,type){var set=null;catLoop:for(var i=0;i<pincats.length;i++){var sets=pincats[i].pinsets;setLoop:for(var j=0;j<sets.length;j++){if(sets[j].id==id&&sets[j].type==type){set=sets[j];break catLoop
}}}return set}function getActiveOverlaySetByIdAndType(id,type){var searchSets=[];if(PEnvironment.pageName=="maps"||PEnvironment.pageName=="analytics"||PEnvironment.pageName=="widget"){searchSets=P.instances.map.getOverlaySets()}else if(PEnvironment.pageName=="tables"){searchSets=P.instances.table.getOverlaySets()}var setMatch=function(checkSet){return checkSet.id&&checkSet.id==id&&checkSet.type&&checkSet.type==type};for(var i=0;i<searchSets.length;i++){var curSet=searchSets[i];if(setMatch(curSet)){return curSet}else if(curSet.children.length>0){for(var j=0;j<curSet.children.length;j++){var curChildSet=curSet.children[j];if(setMatch(curChildSet)){return curChildSet}}}}return null}function isPublicUser(){var retVal;if(session.get(P.constants.sessionUsername)===undefined){retVal=true}if(isWidgetOrEmbedMap()||isCitiReports()||isCBClone()){retVal=false}return retVal}function isExpiredSubscription(){var retVal=isExpiredSubscriptionValue;return retVal}function showExpNoteCount(){if(expNoteCount++==0){return true}return false}function isRegisteredUser(){var isRegisteredUser=false;if(session!==undefined&&session.get(P.constants.userType)!==undefined){isRegisteredUser=session.get(P.constants.userType)==="Registered User"||session.get(P.constants.userType)==="Standard Subscriber"||session.get(P.constants.userType)==="Premium Subscriber"||session.get(P.constants.userType)==="Superuser"}else{isRegisteredUser=isSubscriberValue}if(isWidgetOrEmbedMap()||isCitiReports()){isRegisteredUser=true}return isRegisteredUser}function isSubscriber(){var retVal;if(session!==undefined&&session.get(P.constants.userType)!==undefined){retVal=session.get(P.constants.userType)==="Standard Subscriber"||session.get(P.constants.userType)==="Premium Subscriber"||session.get(P.constants.userType)==="Superuser"}else{retVal=isSubscriberValue}if(isWidgetOrEmbedMap()||isCitiReports()){retVal=true}return retVal}function isPremiumSubscriber(){var retVal;if(session!==undefined&&session.get(P.constants.userType)!==undefined){retVal=session.get(P.constants.userType)==="Premium Subscriber"||session.get(P.constants.userType)==="Superuser"}else{retVal=isPremiumSubscriberValue}return retVal}function isTrial(){var retVal;if(session!==undefined&&session.get(P.constants.isTrial)!==undefined){retVal=session.get(P.constants.isTrial)}else{retVal=isTrialValue}return retVal}function isAutoLoginUser(){if(session!=null&&session.get(P.constants.isAutoLoginUser)!=null){return session.get(P.constants.isAutoLoginUser)}else{return false}}function allowPeriod(ind,period){return true}function getContextPath(){return""}function allowIndicator(ind){if(isSubscriber()){return true}var retVal=true;if(ind.containsSource(/boxwood means/i,true)){retVal=false}else if(ind.containsSource(/greatschools/i,true)){retVal=false}return retVal}function selectIndicators(){var inds=arguments[0]+"";var ind0=[inds];var fromlist=null;if(arguments.length>1)fromlist=true;var indlist=ria[ind0].vars;var selected=null;var indarr;if(indlist){indarr=indlist.split(",");var l=indarr.length;for(var i=0;i<l;i++){if(ind0==indarr[i]){selected=i;break}}}else{indarr=ind0}if(PEnvironment.pageName=="analytics"){var disableList=[];if(jQuery.inArray(ind0[0],disableList)>=0){allowSelect=false;unsupportedIndicator()}else{allowSelect=true;var legendIndex=legendMerger.addIndicator(_.first(indarr,3),selected,fromlist,this.prefLegend);session.put("m"+legendIndex+"i",ind0);updateTitle(0);if(typeof wiz!="undefined"&&wiz!=null)wiz.next();closeCubeWindow()}}else{session.put("i",ind0);widget.setIndicatorListByIds(indarr,selected,fromlist);closeCubeWindow()}}function selectQA(indicator,sites,placeId,question,answer){if(indicator!=null&&indicator.length>0){selectIndicator(indicator[0].id,indicator[0].timeFrame)}if(sites!=null&&sites.length>0){}if(placeId){placeLoader.load([placeId],function(places){if(places.length>0){var addr=null;clearPolygons(map);var place=places[0];if(place instanceof PPlace){if(place&&place.getIdentifier()=="US"){var point=new PLatLng(P.constants.USA_LAT,P.constants.USA_LNG);map.setCenter(point,P.constants.USA_ZOOM)}else{map.setCenterBounds(place.getBounds())}mapstates.currentplace=place;map.infoWindowType="place"}}else{map.setCenter(new PLatLng(getDefaultMapLat(),getDefaultMapLng()),getDefaultMapZoom())}})}showAnswer(question,answer)}function clearDataAlert(){var text="Are you sure you want to clear the data layer currently displayed?";if(isCBClone()){alerter.popup(text,"No","Yes",clearMapDataCB)}else if(PEnvironment.pageName=="tables"){alerter.popup(text,"No","Yes",clearTableData)}else{alerter.popup(text,"No","Yes",clearMapData)}}function createOnMapLegend(onmaplegend,leg,zoom){if(!map.getIndicator()&&$(".site_title").length==0){onmaplegend.style.display="none";return}var ind=widget.legend.getIndicator();var placetype=widget.legend.getBoundaryType();var legCont=$(".legContentHolder");var legTable=$("#legTableHolder");var credits=$("#legCredits");var html="";if(leg.getElementsByTagName("table").length>0&&map.getIndicator()){html="<table cellpadding='0' cellspacing='0' border='0'>";html+=leg.getElementsByTagName("table")[0].innerHTML;html+="</table>";$(credits).html("Shaded by: "+placetype.getName()+"<br />");$(credits).append("Source: ");$(credits).append(ind.getSourceList(true))}else if($(".site_title").length==0)html="<div style='color: #ff0000; font-size: 12px'><i>Zoom in further to see this data.</i></div>";if(html.length>0)$(legTable).html(html);else if($("#sitesLegendContainer").length){$("#idlegDiv").hide()}else{$(legCont).hide()}}function fullScreen(){var toptable=document.getElementById("search_menu");var widgetcolumn=document.getElementById("widgetcolumn");var bc_td=document.getElementById("bc_td");var mapdiv=document.getElementById("map");var maptitlebox=document.getElementById("maptitlebox");var mapdescription=document.getElementById("mapdescription");var qadiv=document.getElementById("qadiv");var qalinks=document.getElementById("qalinks");var addsiteswidget=document.getElementById("addsites_widget");var leg=document.getElementById("legend");var mapcolumn=document.getElementById("mapcolumn");var mapsContainer=document.getElementById("mapsContainer");var center=map.getCenter();var onmaplegend=document.getElementById("onmaplegend");while(onmaplegend.hasChildNodes())onmaplegend.removeChild(onmaplegend.firstChild);onmaplegend.style.border="0";onmaplegend.style.cursor="default";onmaplegend.style.width="196px";onmaplegend.style.padding="0 0 6px 0";onmaplegend.style.top="12px";onmaplegend.style.display="block";onmaplegend.style.background="url(images/global-widget-legend-bg-bottom.gif) no-repeat bottom left";var titleDiv=document.createElement("div");var title=document.createElement("h3");title.className="indLegendHeader";if(map.getLegend().isHidden){title.innerHTML="Legend <a class='toggleText'>Show Legend</a>"}else{title.innerHTML="Legend <a class='toggleText'>Hide Legend</a>"}title.style.cursor="pointer";titleDiv.appendChild(title);onmaplegend.appendChild(titleDiv);PEvent.addListener(title,"click",function(){toggleMapLegend(this)});var legCont=document.createElement("div");legCont.className="legContentHolder";onmaplegend.appendChild(legCont);var legDiv=document.createElement("div");legDiv.className="breakdown";legDiv.id="idlegDiv";legCont.appendChild(legDiv);if(map.getLegend().isHidden){$(".legContentHolder").hide();$(".indLegendHeader").addClass("hide");map.getLegend().isHidden=true}var legTable=document.createElement("div");legTable.id="legTableHolder";legDiv.appendChild(legTable);var p=document.createElement("p");p.className="credits";p.id="legCredits";legDiv.appendChild(p);var sites=createSitesHtmlForLegend();var sitesDiv=document.createElement("div");sitesDiv.innerHTML=sites;legCont.appendChild(sitesDiv);if(toptable.style.display!="none"){toptable.style.display="none";addsiteswidget.style.display="none";leg.style.display="none";bc_td.style.display="none";widgetcolumn.rowSpan="1";mapcolumn.colSpan="2";qadiv.style.display="none";qalinks.style.display="none";mapcolumn.style.paddingLeft="10px";mapdiv.style.height=screen.height-340+"px";maptitlebox.style.paddingLeft="15px";mapdescription.style.paddingLeft="15px";mapsContainer.style.height=mapdiv.style.height;mapsContainer.style.marginTop="8px";if(googleMap&&googleMap.gmap){googleMap.gmap.getContainer().style.height=mapdiv.style.height;googleMap.dividerDiv.css("height",mapdiv.style.height);googleMap.gmap.checkResize()}var siteTitles=$("#site_title");if(widget.legend||siteTitles.length>0){createOnMapLegend(onmaplegend,leg);onmaplegendZoomEvent=PEvent.addListener(map,"zoomend",function(){session.put("curZoom",map.getZoom());widget.refresh();leg.style.display="none";map.mapOptions.populate();createOnMapLegend(onmaplegend,leg,"zoom")})}document.getElementById("expand_text_toggle").innerHTML="Reduce Map";map.kamap.resize()}else{toptable.style.display="";addsiteswidget.style.display="block";if(map.getIndicator())leg.style.display="block";if(version){bc_td.style.display="block"}else{bc_td.style.display="table-cell"}widgetcolumn.rowSpan="2";mapcolumn.colSpan="1";qadiv.style.display="block";qalinks.style.display="block";mapcolumn.style.paddingLeft="0px";mapdiv.style.marginTop="0px";mapdiv.style.height="450px";mapdiv.style.paddingLeft="0px";maptitlebox.style.paddingLeft="228px";mapdescription.style.paddingLeft="228px";mapsContainer.style.height=mapdiv.style.height;mapsContainer.style.marginTop="0px";if(googleMap&&googleMap.gmap){googleMap.gmap.getContainer().style.height=mapdiv.style.height;googleMap.dividerDiv.css("height",mapdiv.style.height);googleMap.gmap.checkResize()}onmaplegend.style.display="none";if(onmaplegendZoomEvent){PEvent.removeListener(onmaplegendZoomEvent);onmaplegendZoomEvent=null}document.getElementById("expand_text_toggle").innerHTML="Expand Map";jQuery(".legend_container").find("br").css("display","inline");map.kamap.resize()}map.panTo(center)}function showAnswer(ques,ans){var text="<b>"+ques+"</b><br /><br />"+ans;alerter.popup(text,"OK")}function changeQA(category,title){if(PEnvironment.pageName=="maps"){qawidget.change(category);var ct=document.getElementById("quickanswerscategory");if(title)ct.innerHTML="&nbsp;&#8212; "+title;else ct.innerHTML=""}}function selectIndicator(id,period){session.put("period",period);selectIndicators(id)}function clearIndicatorList(){widget.clearIndicatorList()}function dummyOnLoad(){return true}function createSites(map,attr){if(attr.isPoly==true&&(attr.icon==null||typeof attr.icon=="string"&&$.trim(attr.icon)=="")){attr.icon=PinIcons["polygon"]}else if(attr.icon!=null&&!(attr.icon instanceof Object)){attr.icon=PinIcons[attr.icon]}var site=new POverlaySet(attr.id,attr.icon,15);site.setLabel(attr.name);if(attr.icon&&attr.icon.headpin){site.colorcodes=PinIcons[attr.icon.headpin].colors}site.sources=attr.sources;site.type=attr.type;site.isPoly=attr.isPoly;site.hasLabels=attr.labels;site.hideLabels=attr.hidelabels;site.labelZoom=attr.labelzoom;site.search=attr.search;site.allowDL=attr.allowDL;site.children=attr.children;site.child=attr.child;site.description=attr.description;if(attr.isPoly){site.bdid=attr.bdid;site.polycolor=attr.polycolor;site.polystyle=attr.polystyle}if(attr.boundingBox){site.boundingBox=attr.boundingBox}if(attr.type=="dl"){site.owner=attr.owner;site.ownerfirst=attr.ownerfirst;site.ownerlast=attr.ownerlast;site.created=attr.created;site.perm=attr.perm}var haveSet=false;var sets=map.getOverlaySets();for(var i=0;i<sets.length;i++){if(sets[i].id&&sets[i].id==attr.id){haveSet=true;break}}if(!haveSet){return site}}function bestFitZoomAndCenterForOverlaySets(){var overlaySets=map.getOverlaySets(true,true);var boundingBox=[0,90,-180,0];for(var i=0;i<overlaySets.length;i++){if(overlaySets[i].boundingBox){var box=overlaySets[i].boundingBox.split(/,/);if(box[0]<boundingBox[0]){boundingBox[0]=box[0]}if(box[1]<boundingBox[1]){boundingBox[1]=box[1]}if(box[2]>boundingBox[2]){boundingBox[2]=box[2]}if(box[3]>boundingBox[3]){boundingBox[3]=box[3]}}}if(boundingBox[0]!=0){map.setCenterBounds(new PLatLngBounds(new PLatLng(boundingBox[1],boundingBox[0]),new PLatLng(boundingBox[3],boundingBox[2])))}}function addAllSitesNew(top,node,rootNode){var pinsets;if(newpincats[rootNode]==null){pinsets=new Array;var theNode=new Object;theNode.id="newMenuNode"+rootNode;theNode.node_id=theNode.id;theNode.display=true;theNode.pinsets=pinsets;newpincats.push(theNode)}else{pinsets=newpincats[rootNode].pinsets}var ul=$("<ul/>");for(var i in node){n=node[i];rootNode=n.rootId;var pincount=pinsets.length;var li=$("<li/>");ul.append(li);var a=$("<a/>");a.text(n.label);li.append(a);if(n.children){li.attr("rel","branch");addAllSitesNew(li,n.children,rootNode)}else if(n.set_id!=null){li.attr("rel","leaf");a.attr("rootId",n.rootId);a.attr("pincount",pincount);var pinset={icon:n.icon,allow:true,labels:false,children:[],type:n.type,sources:[],isPoly:n.isPoly,polystyle:n.polystyle,polycolor:n.polycolor?n.polycolor:null,bdid:n.dataset_id,boundingBox:n.boundingBox?n.boundingBox:null,id:n.dataset_id,child:false,processed:true,hidelabels:false,search:n.search,name:n.label,description:n.description};if(n.type=="dl"){var text=a.text();a.html(text+'<img rootId="'+n.rootId+'" pincount="'+pincount+'" class="getsPoshyTip" src="/images/info_small.png"/>')}pinsets.push(pinset)}}top.append(ul)}function addAllSitesWK(){var div=$("<div/>");div.attr("id",name);var html='<div id="addsites" class="horMenusBox">'+' <div id="addsites_widget" class="horMenusContainer horMenusContainerWidget widgetMenu" style="margin-bottom: 100px; display: block;">'+'  <div class="horMenusTitleImage"></div>'+'   <div class="adddatalayer" style="margin-top:8px"><span class="sectionTitle" id="addSitesWK">Add Sites</span></div><br clear="both">'+'   <div class="WKTopMenu" id="WKMenu0">FDIC Bank Failures</div><div class="WKFilterMenu" id="newMenuNode0"/>'+'   <div class="WKTopMenu" id="WKMenu1">LIHTC</div><div class="WKFilterMenu" id="newMenuNode1"/>';var bogusDiv=$("<div/>");bogusDiv.attr("id","bogusDiv");addAllSitesNew($("#bogusDiv"),pincats[0].children,0,"Bogus");addAllSitesNew($("#bogusDiv"),pincats[1].children,1,"Bogus");for(var i=2;pincats[i]!=null;i++){if(pincats[i]!=null){html+='   <div class="WKTopMenu" id="WKMenu'+i+'">'+pincats[i].label+'</div><div class="WKFilterMenu" id="newMenuNode'+i+'"/>'}}html+="  </div></div></div>";for(var i=2;pincats[i]!=null;i++){if(pincats[i]!=null){html+='<div class="siteHolderMenu" id="siteHolderMenu'+i+'"/>'}}$("#addsites").html(html);$("#WKMenu0").click(function(){addSitesByLocation(map,0,0)});$("#WKMenu1").click(function(){addSitesByLocation(map,1,0)});var cancelCallback=function(suffix){$("#siteHolderMenu"+suffix).hide();$("#addSitesWK").append($("#siteHolderMenu"+suffix));var dialogId=$("#siteHolderMenu"+suffix).attr("dialogId");$("#"+dialogId).remove()};var treeMenu=function(which,text){$("#siteHolderMenu"+which).show();var title=$("<div />");title.html(text);title.addClass("menu-title");var content=$("<div/>");content.addClass("WKMenuContent");content.append(title);var menu=$("#siteHolderMenu"+which);content.append(menu);content={content:content,popupStyle:"wk",width:715,addCancel:true,cancelText:"Close",cancelCallback:function(){cancelCallback(which)}};var dialogId=alerter.popup(content);$("#siteHolderMenu"+which).attr("dialogId",dialogId)};for(var i=2;pincats[i]!=null;i++){if(pincats[i]!=null){$("#WKMenu"+i).attr("i",i);$("#WKMenu"+i).click(function(){var i=$(this).attr("i");treeMenu(i,$(this).text())});addAllSitesNew($("#siteHolderMenu"+i),pincats[i].children,i,i)}}var jstreeConfig={themes:{theme:"default",dots:false,icons:true,url:"/cssold/jstree.css"},core:{animation:0},plugins:["html_data","themes","ui","types"],types:{types:{branch:{icon:{image:"/images/folder.png"}},leaf:{icon:{image:"/images/file.png"}}}}};var poshytipConfig={className:"tip-yellowsimple",showTimeout:1,alignTo:"target",alignX:"right",alignY:"center",offsetX:30,fade:false,slide:false,allowTipHover:true};var addPoshyTip=function(n,i){$(this).find(".getsPoshyTip").each(function(n,i){var config=poshytipConfig;var rootId=$(this).attr("rootId");var pincount=$(this).attr("pincount");poshytipConfig.content=pincats[rootId].pinsets[pincount].description;$(this).poshytip(config)})};var selectNode=function(event,data,suffix){var node=$(data.rslt.obj).find("a").first();var rootId=node.attr("rootId");if(rootId!=null){var pincount=node.attr("pincount");addSitesByLocation(map,rootId,pincount);cancelCallback(suffix)}};var setupTree=function(i){$($("#siteHolderMenu"+i)).jstree(jstreeConfig).bind("loaded.jstree",addPoshyTip).bind("select_node.jstree",function(event,data){selectNode(event,data,i)}).delegate("a","click",function(e){$($("#siteHolderMenu"+i)).jstree("toggle_node",this);e.preventDefault();return false})};for(var i=2;pincats[i]!=null;i++){if(pincats[i]!=null){setupTree(i)}}pincats=newpincats}function addAllSites(){if(pincatsType=="new"){addAllSitesWK();return}var urlParams=getUrlParams();var html="";var htmlParts={mysites:"",public:"",remaining:""};var horMenu_widget="";var horMenuBox_widget="";var altHtmlHeader="";if(PEnvironment.pageName=="widget"){if(urlParams["altLayout"]){altHtmlHeader='<ul id="addsites_widget" class="vertical-menu alternateIndMenuWidgetayout sitesAlt"><div class="menubg"><li class="first"><a class="link singleword">Add Sites</a><ul>'}else{horMenu_widget=" horMenu_widget";horMenuBox_widget=" horMenuBox_widget";html+='<div id="addsites_widget" class="horMenusContainer horMenusContainerWidget widgetMenu" style="margin-bottom:100px;">'+'<div class="horMenusTitleImage"></div>'+'<div class="adddatalayer" style="margin-top:8px"><span class="sectionTitle">Add Sites</span></div>'+'<br clear="both">'}}for(var i=0;i<pincats.length;i++){pincat=pincats[i];if(pincat.display==false){continue}var curHtml="";var mySites="";var horMenu_public="";var noSites=false;if(pincat.name=="My Sites"){if(isPublicUser()){noSites=true}else{if(pincat.pinsets.length==0){noSites=true}var hasAllowed=false;for(var j=0;j<pincat.pinsets.length;j++){if(pincat.pinsets[j].allow){hasAllowed=true;break}}if(!hasAllowed){noSites=true}}mySites=" mySites"}if(pincat.publiccatid!=null){mySites=" mySites publicSites";horMenu_public=" horMenuPublicSites";if(pincat.pinsets.length==0){noSites=true}}if(urlParams["altLayout"]){curHtml+='<li><div><div><span class="liInd"><a class="liLink">'+pincat.name+"</a></span></div></div>"}else curHtml+='<div class="horMenuBox'+mySites+horMenuBox_widget+'"><ul class="horMenu'+horMenu_public+horMenu_widget+'"><li name="menuTitle"><div class="gradient"><div class="categoryHeader">'+pincat.name+"</div></div>";if(noSites){curHtml+='<ul class="autoHeight"><li><div class="noAvailSites"><span>';if(pincat.publiccatid!=null){curHtml+="No datasets available in this category."}else if(isPremiumSubscriber()){curHtml+='To learn about submitting your own data to view on PolicyMap, contact us at <a class="pagelinks" href="javascript:sendMail(\'@policymap.com\', \'pmap\', \'PolicyMap\')">pma<span class="spamFixText"></span>p@po<span class="spamFixText"></span>licy<span class="spamFixText"></span>map.com</a> or by calling 1-866-923-MAPS.'}else if(isExpiredSubscription()||isSubscriber()){curHtml+='To learn more about submitting your own data by upgrading to a Premium Subscription, <a class="pagelinks" href="/servlets/update?reg_type=full">click here</a>.'}else if(!isSubscriber()){var link=isPublicUser()?"/register?reg_type=sub":"/servlets/upgrade?reg_type=sub";curHtml+='Available to subscribers only.  If you\'re a subscriber, <a onclick="showLoginPopup()" class="pagelinks">login</a> to access, or become a <a href="'+link+'" class="pagelinks">subscriber</a>.'}curHtml+="</span></div></li>"}else if(pincat.pinsets!=null){if(pincat.name=="My Sites"||pincat.publiccatid!=null){curHtml+='<ul class="autoHeight opendown">';var divider=false;for(var j=0;j<pincat.pinsets.length;j++){pinset=pincat.pinsets[j];if(j==0&&pinset.type=="old"){curHtml+='<li class="sectionHeader">Loaded by TRF:</li>'}var theClass="notAllowed";var onclick="addSitesByLocation(map, "+i+", "+j+"); this.blur();";if(pinset.allow){theClass="isAllowed clickable"}curHtml+='<li><div><a class="liLink '+theClass+'" onclick="'+onclick+' return false;">'+pinset.name+"</a></div></li>"}}else{curHtml+='<ul class="autoHeight opendown">';for(var j=0;j<pincat.pinsets.length;j++){pinset=pincat.pinsets[j];var theClass="notAllowed";var onclick="addSitesByLocation(map, "+i+", "+j+"); this.blur();";if(pinset.allow){theClass="isAllowed clickable"}curHtml+='<li><div><a class="liLink '+theClass+'" href="#" onclick="'+onclick+' return false;">'+pinset.name+"</a></div></li>"}}}else{curHtml+='<li><div><a><span style="color:#ccc;font-style:italic">Coming Soon</span></a></div></li>'}if(urlParams["altLayout"])curHtml+='</ul></li><div class="sitesFilters" name="filters"><div style="position:relative;padding:0 1px" id="'+pincat.node_id+'"></div></div>';else curHtml+='</ul></li></ul><div class="sitesFilters" name="filters"><div style="position:relative;padding:0 1px" id="'+pincat.node_id+'"></div></div></div>';if(pincat.name=="My Sites"){htmlParts.mysites+=curHtml}else if(pincat.publiccatid!=null){htmlParts["public"]+=curHtml}else{htmlParts.remaining+=curHtml}}html+=htmlParts.mysites;if(PEnvironment.pageName!="widget"){publicHtml='<div class="horMenuBox mySites" onclick="togglePublicCategories();"><ul class="horMenu"><li name="menuTitle"><div class="gradient"><div class="categoryHeader"><span id="publicCategoriesText">&#9658;&nbsp;&nbsp;Subscriber-shared Sites</span></div></div></div>';publicHtml+='<div id="publicCategories">'+htmlParts["public"]+"</div>";html+=publicHtml}if(urlParams["altLayout"])html=altHtmlHeader+htmlParts.remaining+"</li></ul>";else html+=htmlParts.remaining;html+="</div>";document.getElementById("addsites").innerHTML=html}function editDlSet(setid){setWindowLocation("/dataloader?di="+setid)}function togglePublicCategories(force){var pubCatDiv=$("#publicCategories");var pubCatText="&nbsp;&nbsp;Subscriber-shared Sites";if(force=="show"&&!pubCatDiv.is(":visible")){pubCatDiv.show()}else if(force=="hide"&&pubCatDiv.is(":visible")){pubCatDiv.hide()}else{pubCatDiv.toggle()}if(pubCatDiv.is(":visible")){$("#publicCategoriesText").html("&#9660;"+pubCatText)}else{$("#publicCategoriesText").html("&#9658;"+pubCatText)}}function getState(place){var state="";if(!place){return null}if(PEnvironment.pageName=="report_generate"||PEnvironment.pageName=="report_widget"){for(var i=0;i<place.length;i++){if(place[i].getType()==PPlaceType.STATE){return place[i]}}}else{var placeType=place.getType();var placeState=place.getState();if(PEnvironment.pageName=="report_area"){if(placeState&&placeType!=PPlaceType.CBSA&&placeType!=PPlaceType.STATE&&placeType!=PPlaceType.CDBG&&placeType!=PPlaceType.COUNTRY){state=", "+placeState}return state}else if(PEnvironment.pageName=="tables"){if(placeState&&placeType!=PPlaceType.CBSA&&placeType!=PPlaceType.STATE&&placeType!=PPlaceType.COUNTRY){state=", "+placeState}return state}else{if(placeState&&placeType!=PPlaceType.CBSA&&placeType!=PPlaceType.STATE&&placeType!=PPlaceType.CDBG&&placeType!=PPlaceType.COUNTRY){state=", "+placeState}return state}}}function getCounty(places){if(!places)return null;for(var i=0;i<places.length;i++){if(places[i].getType()==PPlaceType.COUNTY)return places[i]}}function getSumOfPlaces(cube,indicator,period){return cube.getSumOfPlaces(indicator,period)}function getSumOfPlacesIgnoreNulls(cube,indicator,period){return cube.getSumOfPlaces(indicator,period,null,true)}function getMeanOfPlacesIgnoreNulls(cube,indicator,period){return cube.getMeanOfPlaces(indicator,period,true,true)}function subscribeCheckRedirect(location){if(isSubscriber()){var l="/"+location;setWindowLocation(l)}else{genericAlertDialog({template:"subscriber"})}}function subscribeAlertCallback(callback,customText,pinsetId){var link=isPublicUser()?"/register?reg_type=sub":"/servlets/upgrade?reg_type=sub";var text="";if(customText){text=customText}else{text="Available to subscribers only.  If you're a subscriber, <a onclick='loginAlert(this)' class='pagelinks'>login</a> to access, or become a <a href='"+link+"' class='pagelinks'>subscriber</a>."}if(pinsetId&&pinsetId==86500){text+="<br /><br />Click <a href='/our-data-directory.html#National Center for Charitable Statistics (NCCS) at the Urban Institute' class='pagelinks'>here</a> to learn more about National Center for Charitable Statistics Nonprofit Locations."}else if(pinsetId&&pinsetId==99800){text="Not yet available to PolicyMap users. Stay tuned to our PolicyMap email updates and blog for a release announcement about these data."}else if(pinsetId&&pinsetId==98500){text="Only available to subscribers. For more information about accessing this data, please <a href='/contact.html' class='pagelinks'>contact us</a>"}else if(pinsetId&&pinsetId==97400||pinsetId==99050||pinsetId==99100){superMarketLIIFTeaseAlert();return}if(PEnvironment.pageName=="widget")text="This data is available in PolicyMap to subscribers.  <a href='/pricing.html' class='pagelinks' target='_blank'>Click here</a> if you'd like to learn more.";if(callback&&callback.constructor==Function){alerter.popup(text,"OK",null,callback)}else{alerter.popup(text,"OK")}}function subscribeAlert(customText,customTemplate){var options={};if(customTemplate!=null){options.template=customTemplate}else if(PEnvironment.pageName=="widget"){options.template="subscriber-widget"}else{options.template="subscriber"}if(customText!=null){options.customText=customText}genericAlertDialog(options)}function allowedPinsets(pinsetID){if(PEnvironment.pageName=="embedmap_dyn")return true;for(var i=0;i<pincats.length;i++){for(var j=0;j<pincats[i].pinsets.length;j++){if(pincats[i].pinsets[j].id==pinsetID){return pincats[i].pinsets[j]}}}}function selectPlace(geo_boundary_id,overrideZoomWarning){if(allowSelect!==false){placeLoader.load([geo_boundary_id],function(place){if(place.length>0){selectLoadedPlace(place[0],overrideZoomWarning)}})}}function selectLoadedPlace(place,overrideZoomWarning){if(allowSelect!=false){var geo_boundary_id=place.getID();if(PEnvironment.pageName=="tables"){if(window.chart){addPlaceType(geo_boundary_id);session.put("p",geo_boundary_id)}}else if(PEnvironment.pageName=="citi-reports"){addPlaceToCitiMap([place])}else{if(window.map){if(PEnvironment.pageName=="widget"&&textOnlyIsOn){textOnlyLoadPlace([place])}if(!overrideZoomWarning){var text="This data layer is specific to <b>"+place.getLabel()+", "+place.getState()+"</b>.<br /><br />Do you wish to recenter the map over this location, or remain at the current position at the current zoom level?";var yes=function(){var html=createPlacesDiv([place]);addMarkerWindow(html,place);session.put("p",geo_boundary_id)};var no=function(){if(PEnvironment.pageName!=="analytics"){widget.refresh()}};alerter.popup(text,"Stay","Recenter",yes,no)}else{var html=createPlacesDiv([place]);addMarkerWindow(html,place);session.put("p",geo_boundary_id)}}}}}function getPlaceTypeById(typeId){var tempPlace=new PPlace;tempPlace.typeid=typeId;return tempPlace.getTypeById()}function getObjectPosition(object){return[$(object).offset().left,$(object).offset().top]}function filenameFromURL(url){urlParts=url.split("/");return urlParts[urlParts.length-1]}function validateContactForm(){var valid=true;var nameError="",emailError="",descriptionError="";$("#name").val($.trim($("#name").val()));$("#email").val($.trim($("#email").val()));$("#description").val($.trim($("#description").val()));if($("#name").val().length==0){nameError="Please enter your name.";valid=false}if(!validateContactEmail($("#email").val())){emailError="Please enter a valid email address.";valid=false}if($("#description").val().length==0){descriptionError="Please enter a question before submitting the form.";valid=false}$("#nameError").text(nameError);$("#emailError").text(emailError);$("#descriptionError").text(descriptionError);if(valid){var form=$("#emailForm");var superSecretVar=$("<input />");superSecretVar.attr({type:"hidden",name:"superSecretVar",value:hex_md5($("#name").val()+$("#email").val())});form.append(superSecretVar);form.submit()}}function validateUniversityForm(){var valid=true;var fnameError="",lnameError="",emailError="",universityError="",titleError="";$("#university").val($.trim($("#university").val()));$("#fname").val($.trim($("#fname").val()));$("#lname").val($.trim($("#lname").val()));$("#title").val($.trim($("#title").val()));$("#email").val($.trim($("#email").val()));if($("#university").val().length==0){universityError="Please enter your University.";valid=false}if($("#fname").val().length==0){fnameError="Please enter your first name.";valid=false}if($("#lname").val().length==0){lnameError="Please enter your last name.";valid=false}if($("#title").val().length==0){titleError="Please enter your title.";valid=false}if(!validateContactEmail($("#email").val())){emailError="Please enter a valid email address.";valid=false}$("#universityError").text(universityError);$("#fnameError").text(fnameError);$("#lnameError").text(lnameError);$("#titleError").text(titleError);$("#emailError").text(emailError);if(valid){var form=$("#siteLicenseForm");var superSecretVar=$("<input />");superSecretVar.attr({type:"hidden",name:"superSecretVar",value:hex_md5($("#fname").val()+$("#lname").val())});form.append(superSecretVar);form.submit()}}function validateContactEmail(email){var reg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;return reg.test(email)}function getUrlParams(){var which=window.location.search;if(reportObject.urlSuffix!=null){which=reportObject.urlSuffix}var urlParams=PWebUtil.parseQuery(which);if(PEnvironment.pageName=="embedmap_dyn"){urlParams=getEmbedMapParams()}else if(PEnvironment.pageName=="widget"){urlParams=getWidgetParams(urlParams)}return urlParams}function isWidgetOrEmbedMap(){return isWidgetPage()||isWidgetReportPage()||isEmbedPage()}function isWidgetPage(){return PEnvironment.pageName=="widget"}function isWidgetReportPage(){return PEnvironment.pageName=="report_widget"}function isEmbedPage(){return PEnvironment.pageName=="embedmap_dyn"}function isMNWidget(){return PEnvironment.productId==74||PEnvironment.productId==1396}function imageAlert(imgurl,topcaption,bottomcaption){var minAlertWidth=200;var maxImageWidth=600;if(topcaption&&topcaption!=""){topcaption=topcaption+"<br /><br />"}else{topcaption=""}if(bottomcaption&&bottomcaption!=null){bottomcaption+="<br /><br />"+bottomcaption}else{bottomcaption=""}var image=$("<img />");image.load(function(){var imgWidth=this.width;var imgHeight=this.height;if(imgWidth>maxImageWidth){imgHeight=imgHeight/(imgWidth/maxImageWidth);imgWidth=maxImageWidth}var html=topcaption+"<img src='"+imgurl+"' width='"+imgWidth+"' height='"+imgHeight+"' />"+bottomcaption;var alertWidth;if(imgWidth<minAlertWidth){alertWidth=minAlertWidth}else{alertWidth=imgWidth+20}alerter.popup({content:html,width:alertWidth,cancelText:"OK"})});image.error(function(){var html=topcaption+"[Image Not Found]"+bottomcaption;alerter.popup(html,"OK")});image.attr("src",imgurl)}function validateEmailAddressValue(email){return/^([A-Za-z0-9_\-\.\+])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z0-9]{2,})$/.test(email)}function nrLoginSubmit(username,password,callback){var args="?nr=1";if(username!=null&&password!=null){var salt=loginSalt;var input=hex_md5(username.toLowerCase()+password+salt);args+="&username="+encodeURIComponent(username)+"&password="+input;if(typeof callback!="function"){callback=function(result){if(result.s==true){session.save();alerter.popup("You have successfully logged in.","OK")}else{alerter.popup("Invalid username or password.","OK")}}}}var loginURL=PEnvironment.loginURL;if(username==null&&password==null){loginURL="/servlets/login/"}ajax.call({url:loginURL+args,success:callback})}function nrLogoutSubmit(callback){ajax.call({url:PEnvironment.loginURL+"?nr=1&logout=1",success:callback})}function loadReCaptcha(callback,secure){var reCaptchaURL=(secure?"https":"http")+"://www.google.com/recaptcha/api/js/recaptcha_ajax.js";
var recheck=function(){return typeof Recaptcha!="undefined"};var rewait=function(){if(recheck()){callback()}else{setTimeout(rewait,500)}};if(recheck()){if(callback!=null){callback()}}else{appendJS(reCaptchaURL);if(callback!=null){rewait()}}}Function.prototype.KamapBindAsEventListener=function(object){var __method=this;return function(event){return __method.call(object,event||window.event)}};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};PUnload=function(){PEvent.clearAllListeners()};function fixPNG(o){var arVersion=navigator.appVersion.split("MSIE");var version=parseFloat(arVersion[1]);if(version>=5.5&&version<7&&document.body.filters){var t=PEnvironment.kamapUrl+"images/a_pixel.gif";if(o.src!=t){var s=o.src;o.src=t;o.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+s+"',sizingMethod='scale')"}}}function addPNGBackground(o,url){var arVersion=navigator.appVersion.split("MSIE");var version=parseFloat(arVersion[1]);o.style.backgroundImage="url("+url+")";if(version>=5.5&&version<7&&document.body.filters){o.style.backgroundImage="none";o.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+url+"',sizingMethod='crop')"}}function resetDetailsButton(){$("#morelink").hide();$("#morelink").removeClass("on")}function navteqCounter(){if(P.WKPrint.isPrintPage()===false){ajax.call({pleaseWait:false,url:PEnvironment.navteqTrackerUrl})}}function noDataAlert(){if(noDataAlertCount++>0){return}if(PEnvironment.pageName=="report_generate"&&(currentReport.reportType=="hud"||currentReport.reportType=="wellsfargo"||currentReport.reportType.indexOf("wf_")==0)||isCBClone()){var p=getUrlParams();addErrors('If the area you\'ve selected shows "N/A" in parts of the report, there is no data for that location, or data has been suppressed for components of that area.')}else{addErrors('If the area you\'ve selected shows "N/A" in parts of the report, your area is too small, there is no data for that location, or data has been suppressed for components of that area.')}}function isCitiReports(){if(PEnvironment.pageName=="citi-reports")return true;else return false}function getMonthFromPeriod(index){var month=["January","February","March","April","May","June","July","August","September","October","November","December"];return month[index]}function formatMonthlyPeriod(p){var arr=p.split("-");var m=getMonthFromPeriod(arr[1]-1);return m+" "+arr[0]}function getOrdinal(n,noSup){var o=n%10==1&&n%100!=11?"st":n%10==2&&n%100!=12?"nd":n%10==3&&n%100!=13?"rd":"th";if(noSup){return n+o}else{return n+"<sup>"+o+"</sup>"}}function isFinalReportPage(){if(PEnvironment&&(PEnvironment.pageName=="report_generate"||PEnvironment.pageName=="report_widget")){return true}else{return false}}function initSearchBox(options){var searchTabTypes=["Default",PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP,PPlaceType.CONGRESSIONAL,PPlaceType.SENATE,PPlaceType.SCHOOL,PPlaceType.SLD_UPPER,PPlaceType.CBSA];search=new PTRFPlaceSearchBox(document.getElementById("SetLocation"),searchTabTypes,options);search.setDefaultTypes([PPlaceType.COUNTRY,PPlaceType.STATE,PPlaceType.COUNTY,PPlaceType.COUNTY_SUBDIVISION,PPlaceType.CITY,PPlaceType.ZIP]);$(window).trigger(P.events.SEARCH_BOX_INIT)}function isCensusTractTypeId(i){if(i==P_PLACETYPE_CENSUSTRACT_ID){return true}return false}function setUpMobileMapIdentifyEvents(map){initMobileMapEvents(map);PEvent.addListener(map,"drag",function(){map.cancelClick=true});PEvent.addListener(map,"mouseup",function(overlay,point){map.cancelClick=false;if(!map.infoWindowIsClosing&&(point&&!isNaN(point.lat())||overlay)){PMIdentificationModule.clickHandler(overlay,point)}map.infoWindowIsClosing=false});PEvent.addListener(map,"infowindowclose",function(){map.infoWindowIsClosing=true})}function touchHandler(event){var touches=event.changedTouches,first=touches[0],type="";switch(event.type){case"touchstart":type="mousedown";break;case"touchmove":type="mousemove";break;case"touchend":type="mouseup";break;default:return}var simulatedEvent=document.createEvent("MouseEvent");simulatedEvent.initMouseEvent(type,true,true,window,1,first.screenX,first.screenY,first.clientX,first.clientY,false,false,false,false,0,null);first.target.dispatchEvent(simulatedEvent);event.stopImmediatePropagation();event.preventDefault()}function initMobileMapEvents(map){var id=map.getContainer().id;document.getElementById(id).addEventListener("touchstart",touchHandler,true);document.getElementById(id).addEventListener("touchmove",touchHandler,true);document.getElementById(id).addEventListener("touchend",touchHandler,true);document.getElementById(id).addEventListener("touchcancel",touchHandler,true)}function isMobile(){return PEnvironment.mobile}function isIffCustomFilterWidget(){return PEnvironment.isWidget&&$.inArray(PEnvironment.productId,[237,1399,1400,1692])>-1}function isIFFAccountabilityColumn(datasetId,columnName){return datasetId!=null&&columnName!=null&&((datasetId==123100||datasetId==143400||datasetId==147950)&&columnName=="accountdeterm"||(datasetId==139700||datasetId==149900)&&columnName=="accountrating"||(datasetId==140850||datasetId==150800||datasetId==155200||datasetId==156800||datasetId==157050)&&columnName=="schoolgrade")}function isMilwaukeeMVAWidget(){if(PEnvironment.isWidget&&PEnvironment.productId==386){return true}return false}function createMergedCube(cubes){var places=[];var values=[];var inds=[];var periods=[];for(var i=0;i<cubes.length;i++){places=places.concat(cubes[i].places);var per=cubes[i].periods[0];periods.push(per);values[per]=cubes[i].values[per];inds=inds.concat(cubes[i].indicators)}var cube=new PCube(inds,places,periods);cube.values=values;return cube}function splitArray(a,n){var len=a.length,out=[],i=0;while(i<len){var size=Math.ceil((len-i)/n--);out.push(a.slice(i,i+=size))}return out}function isTractType(type,id){var r=false;if(type&&(type==PPlaceType.CENSUSTRACT||type==PPlaceType.CENSUSTRACT_2010)){r=true}else if(id&&(id==6||id==106)){r=true}return r}function comparePlaceType(placeTypeLeft,placeTypeRight){var containmentOrder=PPlaceTypeConfig.containmentOrder;var leftIndex;var rightIndex;for(var i=0;i<containmentOrder.length;i++){if(containmentOrder[i].id==placeTypeLeft.id)leftIndex=i;if(containmentOrder[i].id==placeTypeRight.id)rightIndex=i}if(leftIndex>rightIndex)return 1;else if(rightIndex>leftIndex)return-1;else if(rightIndex!=null&&rightIndex==leftIndex)return 0;else return null}function orderPlaceTypes(placeTypes){var containmentOrder=PPlaceTypeConfig.containmentOrder;var sortedPlaceTypes=new Array;for(var i=0;i<containmentOrder.length;i++){for(var j=0;j<placeTypes.length;j++){if(containmentOrder[i]==placeTypes[j]&&sortedPlaceTypes[sortedPlaceTypes.length-1]!=placeTypes[j])sortedPlaceTypes.push(placeTypes[j])}}return sortedPlaceTypes}function allPlacesSameType(places){var lastPlaceType=null;for(var i=0;i<places.length;i++){var curPlaceType=places[i].getType();if(lastPlaceType==null){lastPlaceType=curPlaceType}else if(lastPlaceType!=curPlaceType){return false}}return true}function trimDateYear(date){if(date!=null&&typeof date=="string"&&date!=""&&date.toLowerCase()!="n/a"){return date.substring(0,date.length-4)+date.substring(date.length-2)}else{return"N/A"}}function newsletterSignup(){var spotpix=new Image;spotpix.src="http://ad.doubleclick.net/activity;src=4212896;type=conve043;cat=news01;ord=1??";var emailAddress=null;var newsletterEmailFields=$(".newsletter-form input[class=email]");for(var i=0;i<newsletterEmailFields.length;i++){var curEmail=$(newsletterEmailFields[i]).val();if(curEmail.length>0){emailAddress=curEmail;break}}if(emailAddress!=null){if(validateEmailAddressValue(emailAddress)){var requestFailure=function(){alerter.popup('There was an error signing up "'+emailAddress+'" for the PolicyMap newsletter.',"OK")};ajax.call({url:"/ep",type:"POST",data:{e:emailAddress},dataType:"json",success:function(response){if(response.status&&response.status=="ok"){alerter.popup("Success! You're all signed up for the PolicyMap monthly newsletter.","OK");$(".newsletter-form input[class=email]").val("")}else{requestFailure()}},error:function(){requestFailure()}})}else{alerter.popup('The email address "'+emailAddress+'" is not valid. Please check the email address and try again.',"OK")}}}function setSession(name,value){var expires=new Date;if(value==null){value="";expires.setTime(expires.getTime()-10*365*24*60*60*1e3)}else{expires.setTime(expires.getTime()+10*365*24*60*60*1e3)}var cookie_string=name+"="+value+"; expires="+expires.toGMTString()+"; path=/"+"; domain="+PEnvironment.cookieDomain;document.cookie=cookie_string}function getSession(cookiename){var name=cookiename+"=";var ca=document.cookie.split(";");for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==" ")c=c.substring(1);if(c.indexOf(name)!=-1)return c.substring(name.length,c.length)}return""}function deleteSession(cookiename){document.cookie=cookiename+"=; expires=Thu, 01 Jan 1970 00:00:01 GMT;"}function addOverlaySet(datasetId,type){getOverlaySet(datasetId,type).done(function(overlayset){if(PEnvironment.pageName=="tables"){var overlayExists=_.some(P.instances.table.getOverlaySets(),function(overlay){return overlay.id===overlayset.id});if(!overlayExists){if(global_places.length<1){alerter.popup("At least one place must be added to the table before a point or polygon dataset can be added.","OK")}else{refreshCubeQueue(null,[overlayset])}}else{logger.log(P.Debug.ERROR,"Overlay set not added. Overlay set already exists.")}}else{var checkAndAddOverlaySet=function(curSet){var overlayExists=_.some(map.getOverlaySets(),function(curMapSet){return curMapSet.id===curSet.id});if(!overlayExists){map.addOverlaySet(curSet);for(var i=0;i<curSet.children.length;i++){checkAndAddOverlaySet(curSet.children[i])}}else{logger.log(P.Debug.ERROR,"Overlay set not added. Overlay set already exists.")}};checkAndAddOverlaySet(overlayset);if(overlayset.hasLabels){if(overlayset.hideLabels||overlayset.hidelabels||labelManager.isHidden(overlayset.id,overlayset.type)){if(!labelManager.isHidden(overlayset.id,overlayset.type)){labelManager.setHiddenNoUpdate(overlayset.id,overlayset.type,true)}}}labelManager.updateMapLabels()}})}function removeOverlaySet(datasetId,type){if(PEnvironment.pageName=="tables"){}else{var overlays=map.getOverlaySets();var overlay=_.find(overlays,function(overlay){return overlay.id===datasetId&&overlay.type===type});map.removeOverlaySet(overlay);labelManager.updateMapLabels()}}function getDataset(datasetId,type){return ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=pnt&act=g&di="+datasetId+"&dt="+type})}function getOverlaySet(datasetId,type){return getDataset(datasetId,type).then(function(data){if(data.responseCode==200&&data.pnt!=null){var setArray=_.toArray(data.pnt);if(setArray.length>0){return overlaySetUtil.buildOverlaySet(setArray[0])}}})}function setWindowLocation(location,unload){P.instances.reallyUnload=true;if(unload==null||unload===false){P.instances.reallyUnload=false}window.location=location}kaToolCustomizer=function(katool,pmap){this.katool=katool;this.kaMap=katool.kaMap;this.pmap=pmap;this._onmousemove=null;this._onmousedown=null;this._onmouseup=null;this._ondblclick=null;this._onclick=null;this._onmousewheel=null;this._onkeypress=null;this._onmouseover=null;this._onmouseout=null;this.name="custom";this.cursor="move";this.rMouseDownTime=0;kaToolCustomizer.prototype.activate=this.katool.activate;kaToolCustomizer.prototype.deactivate=this.katool.activate};kaToolCustomizer.prototype.onmousemove=function(e){if(this.pmap)this.pmap.triggerEvent("mousemove",e);else if(this._onmousemove)this._onmousemove.apply(this,[e]);this.katool.onmousemove.apply(this.katool,[e])};kaToolCustomizer.prototype.onmousedown=function(e){if(this._onmousedown)this._onmousedown.apply(this,[e]);this.katool.onmousedown.apply(this.katool,[e])};kaToolCustomizer.prototype.onmouseup=function(e){e=e?e:event?event:null;if(e.button==2){if(this.pmap&&this.pmap.enableDblClickZoom&&this.pmap.getZoom()>0){var clickTime=(new Date).getTime()-this.rMouseDownTime;if(clickTime<750){var pos=this.katool.getMousePosition(e);var aPixPos=this.katool.adjustPixPosition(pos[0],pos[1]);var geo=this.kaMap.pixToGeo(aPixPos[0],aPixPos[1]);this.kaMap.zoomTo(geo[0],geo[1],this.pmap.getScale(this.pmap.getZoom()-1))}else this.rMouseDownTime=(new Date).getTime()}}if(this.pmap)this.pmap.triggerEvent("mouseup",e);else if(this._onmouseup)this._onmouseup.apply(this,[e]);this.katool.onmouseup.apply(this.katool,[e])};kaToolCustomizer.prototype.onclick=function(e){if(this.katool.allowClick){if(this.pmap)this.pmap.triggerEvent("click",e);else if(this._onclick)this._onclick.apply(this,[e]);this.katool.onclick.apply(this.katool,[e])}};kaToolCustomizer.prototype.ondblclick=function(e){if(this._ondblclick)this._ondblclick.apply(this,[e]);if(this.pmap&&this.pmap.enableDblClickZoom&&this.pmap.getScale(this.pmap.getZoom()+1)){var pos=this.katool.getMousePosition(e);var aPixPos=this.katool.adjustPixPosition(pos[0],pos[1]);var geo=this.kaMap.pixToGeo(aPixPos[0],aPixPos[1]);this.kaMap.zoomTo(geo[0],geo[1],this.pmap.getScale(this.pmap.getZoom()+1));this.pmap.triggerEvent("dblclick",e)}else{if(this.pmap)this.pmap.triggerEvent("dblclick",e);else if(this._ondblclick)this._ondblclick.apply(this,[e]);this.katool.ondblclick.apply(this.katool,[e])}};kaToolCustomizer.prototype.onmousewheel=function(e){if(this._onmousewheel)this._onmousewheel.apply(this,[e]);if(this.pmap&&this.pmap.enableScrollWheel)this.katool.onmousewheel.apply(this.katool,[e])};kaToolCustomizer.prototype.onkeypress=function(e){if(this._onkeypress)this._onkeypress.apply(this,[e]);if(this.pmap&&this.pmap.enableKB)this.katool.onkeypress.apply(this.katool,[e])};kaToolCustomizer.prototype.onmouseover=function(e){if(this.pmap)this.pmap.triggerEvent("mouseover",e);else if(this._onmouseover)this._onmouseover.apply(this,[e]);this.katool.onmouseover.apply(this.katool,[e])};kaToolCustomizer.prototype.onmouseout=function(e){if(this.pmap)this.pmap.triggerEvent("mouseout",e);else if(this._onmouseout)this._onmouseout.apply(this,[e]);this.katool.onmouseout.apply(this.katool,[e])};function kaXmlOverlay(oKaMap,zIndex){kaTool.apply(this,[oKaMap]);this.name="kaXmlOverlay";for(var p in kaTool.prototype){if(!kaXmlOverlay.prototype[p])kaXmlOverlay.prototype[p]=kaTool.prototype[p]}this.urlBase=this.kaMap.server;this.urlBase+=this.urlBase!=""&&this.urlBase.substring(-1)!="/"?"":"/";this.ovrObjects=new Array;this.z_index=zIndex;this.overlayCanvas=this.kaMap.createDrawingCanvas(zIndex);this.kaMap.registerForEvent(KAMAP_SCALE_CHANGED,this,this.scaleChanged)}kaXmlOverlay.prototype.scaleChanged=function(eventID,mapName){if(this.ovrObjects==null)return;for(var i=0;i<this.ovrObjects.length;i++){if(this.ovrObjects[i])this.ovrObjects[i].rescale()}};kaXmlOverlay.prototype.remove=function(){this.kaMap.deregisterForEvent(KAMAP_SCALE_CHANGED,this,this.scaleChanged);this.removePoint();this.kaMap.removeDrawingCanvas(this.overlayCanvas)};kaXmlOverlay.prototype.loadXml=function(xml_url){this.urlBase=this.kaMap.server;this.urlBase+=this.urlBase!=""&&this.urlBase.substring(-1)!="/"?"":"/";this.xmlOvrUrl=this.urlNormalize(xml_url);var xmlDocument=loadXMLDoc(this.xmlOvrUrl);var objDomTree=xmlDocument.documentElement;var dels=objDomTree.getElementsByTagName("delete");for(var i=0;i<dels.length;i++){var a_id=dels[i].getAttributeNode("id");if(a_id==null){this.removePoint()}else{this.removePoint(a_id.value)}}var need_update=false;var points=objDomTree.getElementsByTagName("point");for(var i=0;i<points.length;i++){var a_pid=points[i].getAttributeNode("id");if(a_pid==null){continue}var pid=a_pid.value;var np=this.getPointObject(pid);if(np==null){np=new kaXmlPoint(pid,this);this.ovrObjects.push(np)}np.parse(points[i]);need_update=true}if(need_update)this.kaMap.updateObjects()};kaXmlOverlay.prototype.urlNormalize=function(url){if(url==null)return"";if(url.match(/^\//)!="/"){return this.urlBase+url}return url};kaXmlOverlay.prototype.getDiv=function(pid){var div_id=this.getDivId(pid);return getRawObject(div_id)};kaXmlOverlay.prototype.getPointObject=function(pid){for(var i=0;i<this.ovrObjects.length;i++){if(this.ovrObjects[i]!=null&&this.ovrObjects[i].pid==pid){return this.ovrObjects[i]}}return null};kaXmlOverlay.prototype.addNewPoint=function(pid,x,y){this.removePoint(pid);var np=new kaXmlPoint(pid,this);np.placeOnMap(x,y);this.ovrObjects.push(np);return np};kaXmlOverlay.prototype.getDivId=function(pid){return"xmlovr_"+pid+"_div"};kaXmlOverlay.prototype.removePoint=function(pid){if(this.removePoint.arguments.length<1||pid==null){for(var i=0;i<this.ovrObjects.length;i++){if(this.ovrObjects[i]!=null){this.ovrObjects[i].removeFromMap();delete this.ovrObjects[i];this.ovrObjects[i]=null;this.ovrObjects.splice(i,1)}delete this.ovrObjects[i];this.ovrObjects.splice(i,1)}return}var re=new RegExp(pid);for(var i=0;i<this.ovrObjects.length;i++){if(this.ovrObjects[i]!=null){if(re.test(this.ovrObjects[i].pid)){this.ovrObjects[i].removeFromMap();delete this.ovrObjects[i];this.ovrObjects[i]=null;this.ovrObjects.splice(i,1)}}else{delete this.ovrObjects[i];this.ovrObjects.splice(i,1)}}};function loadXMLDoc(url){var xDoc;var req;if(window.XMLHttpRequest){req=new XMLHttpRequest;req.open("GET",url,false);req.send(null)}else if(window.ActiveXObject){req=new ActiveXObject("Microsoft.XMLHTTP");if(req){req.open("GET",url,false);req.send()}}if(req){if(req.status==200){xDoc=req.responseXML;if(xDoc&&typeof xDoc.childNodes!="undefined"&&xDoc.childNodes.length==0){xDoc=null}}else{alert("There was a problem retrieving the XML data:\n"+req.statusText)}}else{alert("Sorry, this browser isn't equipped to read XML data.")}return xDoc}function kaXmlGraphicElement(){}kaXmlGraphicElement.prototype.parseElement=function(point,domElement){};kaXmlGraphicElement.prototype.draw=function(point){};kaXmlGraphicElement.prototype.rescale=function(point){};kaXmlGraphicElement.prototype.remove=function(point){};function kaXmlSymbol(){kaXmlGraphicElement.apply(this);if(_BrowserIdent_hasCanvasSupport())kaXmlSymbol.prototype["draw"]=kaXmlSymbol.prototype["draw_canvas"];else kaXmlSymbol.prototype["draw"]=kaXmlSymbol.prototype["draw_js"];for(var p in kaXmlGraphicElement.prototype){if(!kaXmlSymbol.prototype[p])kaXmlSymbol.prototype[p]=kaXmlGraphicElement.prototype[p]}this.shape="bullet";this.size=10;this.stroke=1;this.color=null;this.bcolor=null;this.opacity=1;this.canvas=null;this.ldiv=null}kaXmlSymbol.prototype.remove=function(point){this.canvas=null;this.ldiv=null};kaXmlSymbol.prototype.parseElement=function(point,domElement){this.shape=domElement.getAttribute("shape");this.size=parseInt(domElement.getAttribute("size"));var c=domElement.getAttribute("color");if(c!=null)this.color=c;var c=domElement.getAttribute("bcolor");if(c!=null)this.bcolor=c;c=parseFloat(domElement.getAttribute("opacity"));if(!isNaN(c))this.opacity=c;c=parseInt(domElement.getAttribute("stroke"));if(!isNaN(c))this.stroke=c};kaXmlSymbol.prototype.draw_js=function(point){var jsgObject=new jsGraphics(point.divId);with(jsgObject){setColor(this.color);var d=this.size/2;fillEllipse(-d,-d,this.size,this.size);paint()}};kaXmlSymbol.prototype.draw_canvas=function(point){var d=Math.floor((this.size+this.stroke)/2);if(this.canvas==null){this.ldiv=document.createElement("div");this.ldiv.style.position="absolute";this.ldiv.style.left=-d+"px";this.ldiv.style.top=-d+"px";point.div.appendChild(this.ldiv);this.canvas=_BrowserIdent_newCanvas(this.ldiv);_BrowserIdent_setCanvasHW(this.canvas,d*2,d*2)}var ctx=_BrowserIdent_getCanvasContext(this.canvas);ctx.save();ctx.translate(d,d);ctx.globalAlpha=this.opacity;ctx.lineWidth=this.stroke;if(this.bcolor)ctx.strokeStyle=this.bcolor;if(this.color)ctx.fillStyle=this.color;if(this.shape=="square"){if(this.color)ctx.fillRect(-this.size/2,-this.size/2,this.size,this.size);if(this.bcolor)ctx.strokeRect(-this.size/2,-this.size/2,this.size,this.size)}else{ctx.beginPath();ctx.arc(0,0,this.size/2,0,Math.PI*2,false);if(this.color)ctx.fill();if(this.bcolor)ctx.stroke()}ctx.restore()};function kaXmlFeature(point){kaXmlGraphicElement.apply(this);for(var p in kaXmlGraphicElement.prototype){if(!kaXmlFeature.prototype[p])kaXmlFeature.prototype[p]=kaXmlGraphicElement.prototype[p]}this.stroke=1;this.color=null;this.bcolor=null;this.opacity=1;this.cxmin=0;this.cymax=0;this.cymin=0;this.cxmax=0;this.coords="";this.img=null;this.canvas=null;this.ldiv=null;this.xn=null;this.yn=null;var map=point.xml_overlay.kaMap.getCurrentMap();var scales=map.getScales();this.maxScale=scales[scales.length-1];this.mcs=point.xml_overlay.kaMap.cellSize/point.xml_overlay.kaMap.getCurrentScale()*this.maxScale}kaXmlFeature.prototype.remove=function(point){this.img=null;this.canvas=null;this.ldiv=null;this.coords=null;this.xn.splice(0);this.yn.splice(0)};kaXmlFeature.prototype.parseElement=function(point,domElement){var t;t=parseInt(domElement.getAttribute("stroke"));if(!isNaN(t))this.stroke=t;t=domElement.getAttribute("color");if(t!=null)this.color=t;t=domElement.getAttribute("bcolor");if(t!=null)this.bcolor=t;t=parseFloat(domElement.getAttribute("opacity"));if(!isNaN(t))this.opacity=t;var text="";if(domElement.firstChild!=null){text=domElement.firstChild.data;this.readCoordinates(point,text)}};kaXmlFeature.prototype.readCoordinates=function(point,text){var cx=new Array;var cy=new Array;this.cxmin=0;this.cymax=0;this.cymin=0;this.cxmax=0;this.coords="";var pp=text.split(",");var i;for(i=0;i<pp.length;i++){var s=pp[i];var xy=s.match(/[-\+\d\.]+/g);if(xy!=null){var x=parseFloat(xy[0]);var y=parseFloat(xy[1]);cx.push(x);cy.push(y);if(i==0||x<this.cxmin)this.cxmin=x;if(i==0||y>this.cymax)this.cymax=y;if(i==0||y<this.cymin)this.cymin=y;if(i==0||x>this.cxmax)this.cxmax=x}}this.xn=new Array;this.yn=new Array;for(i=0;i<pp.length;i++){var x=Math.round((cx[i]-this.cxmin)/this.mcs);var y=Math.round((this.cymax-cy[i])/this.mcs);if(i>0)this.coords+=",";this.coords+=x+","+y;this.xn.push(x);this.yn.push(y)}};kaXmlFeature.prototype.rescale=function(point){this.draw(point)};function kaXmlLinestring(point){kaXmlFeature.apply(this,[point]);if(_BrowserIdent_hasCanvasSupport())kaXmlLinestring.prototype["draw"]=kaXmlLinestring.prototype["draw_canvas"];else kaXmlLinestring.prototype["draw"]=kaXmlLinestring.prototype["draw_server"];for(var p in kaXmlFeature.prototype){if(!kaXmlLinestring.prototype[p])kaXmlLinestring.prototype[p]=kaXmlFeature.prototype[p]}}kaXmlLinestring.prototype.draw_server=function(point){this.draw_canvas(point)};kaXmlLinestring.prototype.draw_canvas=function(point){var xy=point.xml_overlay.kaMap.geoToPix(this.cxmin,this.cymax);var x0=xy[0];var y0=xy[1];xy=point.xml_overlay.kaMap.geoToPix(this.cxmax,this.cymin);var x1=xy[0];var y1=xy[1];xy=point.xml_overlay.kaMap.geoToPix(point.div.lon,point.div.lat);var xr=xy[0];var yr=xy[1];var border=5;var scf=point.xml_overlay.kaMap.getCurrentScale()/this.maxScale;var sizex=x1-x0+border*2;var sizey=y1-y0+border*2;if(this.canvas==null){this.ldiv=document.createElement("div");this.ldiv.style.position="absolute";point.div.appendChild(this.ldiv);this.canvas=_BrowserIdent_newCanvas(this.ldiv)}this.ldiv.style.left=x0-xr-border+"px";this.ldiv.style.top=y0-yr-border+"px";_BrowserIdent_setCanvasHW(this.canvas,sizey,sizex);var ctx=_BrowserIdent_getCanvasContext(this.canvas);ctx.save();ctx.clearRect(0,0,sizex,sizey);ctx.translate(border,border);ctx.strokeStyle=this.color;ctx.globalAlpha=this.opacity;ctx.lineWidth=this.stroke;ctx.beginPath();ctx.moveTo(this.xn[0]/scf,this.yn[0]/scf);var i;for(i=1;i<this.xn.length;i++){ctx.lineTo(this.xn[i]/scf,this.yn[i]/scf)}ctx.stroke();ctx.restore()};function kaXmlPolygon(point){kaXmlFeature.apply(this,[point]);if(_BrowserIdent_hasCanvasSupport())kaXmlPolygon.prototype["draw"]=kaXmlPolygon.prototype["draw_canvas"];else kaXmlPolygon.prototype["draw"]=kaXmlPolygon.prototype["draw_server"];for(var p in kaXmlFeature.prototype){if(!kaXmlPolygon.prototype[p])kaXmlPolygon.prototype[p]=kaXmlFeature.prototype[p]}}kaXmlPolygon.prototype.draw_server=function(point){this.draw_canvas(point)};kaXmlPolygon.prototype.draw_canvas=function(point){var xy=point.xml_overlay.kaMap.geoToPix(this.cxmin,this.cymax);var x0=xy[0];var y0=xy[1];xy=point.xml_overlay.kaMap.geoToPix(this.cxmax,this.cymin);var x1=xy[0];var y1=xy[1];xy=point.xml_overlay.kaMap.geoToPix(point.div.lon,point.div.lat);var xr=xy[0];var yr=xy[1];var border=5;var scf=point.xml_overlay.kaMap.getCurrentScale()/this.maxScale;var sizex=x1-x0+border*2;var sizey=y1-y0+border*2;if(this.canvas==null){this.ldiv=document.createElement("div");this.ldiv.style.position="absolute";point.div.appendChild(this.ldiv);this.canvas=_BrowserIdent_newCanvas(this.ldiv)}this.ldiv.style.left=x0-xr-border+"px";this.ldiv.style.top=y0-yr-border+"px";_BrowserIdent_setCanvasHW(this.canvas,sizey,sizex);var ctx=_BrowserIdent_getCanvasContext(this.canvas);ctx.save();ctx.clearRect(0,0,sizex,sizey);ctx.translate(border,border);if(this.color!=null)ctx.fillStyle=this.color;if(this.bcolor!=null&&this.bcolor!="")ctx.strokeStyle=this.bcolor;ctx.lineWidth=this.stroke;ctx.beginPath();ctx.moveTo(this.xn[0]/scf,this.yn[0]/scf);var i;for(i=1;i<this.xn.length;i++){ctx.lineTo(this.xn[i]/scf,this.yn[i]/scf)}if(this.color!=null){ctx.globalAlpha=this.fillopacity;ctx.fill()}if(this.bcolor!=null&&this.bcolor!=""){ctx.globalAlpha=this.opacity;ctx.stroke()}ctx.restore()};function kaXmlLabel(){kaXmlGraphicElement.apply(this);for(var p in kaXmlGraphicElement.prototype){if(!kaXmlLabel.prototype[p])kaXmlLabel.prototype[p]=kaXmlGraphicElement.prototype[p]}this.text="";this.color="black";this.boxcolor=null;this.w=64;this.h=24;this.xoff=0;this.yoff=0;this.fsize="10px";this.font="Arial";this.ldiv=null;this.ltxt=null}kaXmlLabel.prototype.remove=function(point){this.canvas=null;this.ldiv=null;this.ltxt=null};kaXmlLabel.prototype.parseElement=function(point,domElement){if(domElement.firstChild!=null){this.text=domElement.firstChild.data}var t;t=domElement.getAttribute("color");if(t!=null){this.color=t}this.boxcolor=domElement.getAttribute("boxcolor");t=parseInt(domElement.getAttribute("w"));if(!isNaN(t)){this.w=t}t=parseInt(domElement.getAttribute("h"));if(!isNaN(t)){this.h=t}t=parseInt(domElement.getAttribute("px"));if(!isNaN(t)){this.xoff=t}t=parseInt(domElement.getAttribute("py"));if(!isNaN(t)){this.yoff=t}t=domElement.getAttribute("fsize");if(t!=null){this.fsize=t}t=domElement.getAttribute("font");if(t!=null){this.font=t}};kaXmlLabel.prototype.draw=function(point){var x=this.xoff;var y=this.yoff;this.ldiv=document.createElement("div");this.ldiv.style.fontFamily=this.font;this.ldiv.style.fontSize=this.fsize;this.ldiv.style.textAlign="center";this.ldiv.style.color=this.color;this.ldiv.style.left=x+"px";this.ldiv.style.top=y+"px";this.ldiv.style.position="absolute";if(this.boxcolor!=null)this.ldiv.style.backgroundColor=this.boxcolor;if(this.w>0)this.ldiv.style.width=this.w+"px";else this.ldiv.style.whiteSpace="nowrap";if(this.h>0)this.ldiv.style.height=this.h+"px";this.ltxt=document.createTextNode(this.text);this.ldiv.appendChild(this.ltxt);point.div.appendChild(this.ldiv)};function kaXmlIcon(){kaXmlGraphicElement.apply(this);if(_BrowserIdent_hasCanvasSupport())kaXmlIcon.prototype["draw"]=kaXmlIcon.prototype["draw_canvas"];else kaXmlIcon.prototype["draw"]=kaXmlIcon.prototype["draw_plain"];for(var p in kaXmlGraphicElement.prototype){if(!kaXmlIcon.prototype[p])kaXmlIcon.prototype[p]=kaXmlGraphicElement.prototype[p]}this.icon_src=null;this.icon_w=0;this.icon_h=0;this.xoff=0;this.yoff=0;this.rot=0;this.ldiv=null;this.img=null;this.canvas=null}kaXmlIcon.prototype.remove=function(point){this.ldiv=null;this.canvas=null;if(this.img)this.img.onload=null;this.img=null};kaXmlIcon.prototype.parseElement=function(point,domElement){this.icon_src=point.xml_overlay.urlNormalize(domElement.getAttribute("src"));this.icon_w=parseInt(domElement.getAttribute("w"));this.icon_h=parseInt(domElement.getAttribute("h"));var t;t=parseInt(domElement.getAttribute("px"));if(!isNaN(t)){this.xoff=t}t=parseInt(domElement.getAttribute("py"));if(!isNaN(t)){this.yoff=t}t=parseInt(domElement.getAttribute("rot"));if(!isNaN(t)){this.rot=t}};kaXmlIcon.prototype.draw_canvas=function(point){var dx=-this.icon_w/2+this.xoff;var dy=-this.icon_h/2+this.yoff;if(this.canvas==null){this.ldiv=document.createElement("div");this.ldiv.style.position="absolute";this.ldiv.style.top=dy+"px";this.ldiv.style.left=dx+"px";point.div.appendChild(this.ldiv);this.canvas=_BrowserIdent_newCanvas(this.ldiv);_BrowserIdent_setCanvasHW(this.canvas,this.icon_h*2,this.icon_w*2)}var ctx=_BrowserIdent_getCanvasContext(this.canvas);ctx.save();ctx.translate(-dx,-dy);ctx.rotate(this.rot*Math.PI/180);this.img=new Image;this.img.src=this.icon_src;var timg=this.img;var tw=this.icon_w;var th=this.icon_h;this.img.onload=function(){ctx.drawImage(timg,dx,dy,tw,th);ctx.restore()}};kaXmlIcon.prototype.draw_plain=function(point){var dx=-this.icon_w/2+this.xoff;var dy=-this.icon_h/2+this.yoff;this.ldiv=document.createElement("div");this.ldiv.style.position="absolute";this.ldiv.style.top=dy+"px";this.ldiv.style.left=dx+"px";this.img=document.createElement("img");this.img.src=this.icon_src;this.img.width=this.icon_w;this.img.height=this.icon_h;this.ldiv.appendChild(this.img);point.div.appendChild(this.ldiv)};function kaXmlPoint(pid,xml_overlay){this.xml_overlay=xml_overlay;this.pid=pid;this.divId=this.xml_overlay.getDivId(pid);this.geox=0;this.geoy=0;this.shown=false;this.graphics=new Array;this.div=document.createElement("div");this.div.setAttribute("id",this.divId)}kaXmlPoint.prototype.placeOnMap=function(x,y){if(!this.shown){this.geox=x;this.geoy=y;this.xml_overlay.kaMap.addObjectGeo(this.xml_overlay.overlayCanvas,x,y,this.div);this.shown=true}};kaXmlPoint.prototype.removeFromMap=function(){if(this.shown){this.xml_overlay.kaMap.removeObject(this.div);this.shown=false}var i;for(i=0;i<this.graphics.length;i++){this.graphics[i].remove(this)}this.graphics.splice(0);this.div=null;this.xml_overlay=null};kaXmlPoint.prototype.setPosition=function(x,y){if(this.shown){this.geox=x;this.geoy=y;this.div.lat=y;this.div.lon=x}};kaXmlPoint.prototype.addGraphic=function(obj){this.graphics.push(obj);obj.draw(this)};kaXmlPoint.prototype.clear=function(){this.div.innerHTML="";this.graphics.length=0};kaXmlPoint.prototype.setInnerHtml=function(ihtml){this.clear();this.div.innerHTML=ihtml};kaXmlPoint.prototype.parse=function(point_element){var i;var x=parseFloat(point_element.getAttribute("x"));var y=parseFloat(point_element.getAttribute("y"));var redraw_a=point_element.getAttribute("redraw");var redraw=false;if(redraw_a=="true")redraw=true;if(!this.shown){this.placeOnMap(x,y);this.shown=true}else{this.setPosition(x,y);if(!redraw)return;this.clear()}var ihtml_element=point_element.getElementsByTagName("ihtml");for(i=0;i<ihtml_element.length;i++){this.div.innerHTML=ihtml_element[i].firstChild.nodeValue}var t;var elements;elements=point_element.getElementsByTagName("symbol");for(i=0;i<elements.length;i++){t=new kaXmlSymbol;t.parseElement(this,elements[i]);this.addGraphic(t)}elements=point_element.getElementsByTagName("icon");for(i=0;i<elements.length;i++){t=new kaXmlIcon;t.parseElement(this,elements[i]);this.addGraphic(t)}elements=point_element.getElementsByTagName("label");for(i=0;i<elements.length;i++){t=new kaXmlLabel;t.parseElement(this,elements[i]);this.addGraphic(t)}elements=point_element.getElementsByTagName("linestring");for(i=0;i<elements.length;i++){t=new kaXmlLinestring(this);t.parseElement(this,elements[i]);this.addGraphic(t)}elements=point_element.getElementsByTagName("polygon");for(i=0;i<elements.length;i++){t=new kaXmlPolygon(this);t.parseElement(this,elements[i]);this.addGraphic(t)}};kaXmlPoint.prototype.rescale=function(point_element){var i;for(i=0;i<this.graphics.length;i++){this.graphics[i].rescale(this)}};var _BrowserIdent_browser=null;var _BrowserIdent_version=null;var _BrowserIdent_place=0;var _BrowserIdent_thestring=null;var _BrowserIdent_detect=null;function _BrowserIdent(){_BrowserIdent_detect=navigator.userAgent.toLowerCase();
if(_BrowserIdent_checkIt("konqueror")){_BrowserIdent_browser="Konqueror"}else if(_BrowserIdent_checkIt("safari"))_BrowserIdent_browser="Safari";else if(_BrowserIdent_checkIt("omniweb"))_BrowserIdent_browser="OmniWeb";else if(_BrowserIdent_checkIt("opera"))_BrowserIdent_browser="Opera";else if(_BrowserIdent_checkIt("webtv"))_BrowserIdent_browser="WebTV";else if(_BrowserIdent_checkIt("icab"))_BrowserIdent_browser="iCab";else if(_BrowserIdent_checkIt("msie"))_BrowserIdent_browser="Internet Explorer";else if(_BrowserIdent_checkIt("firefox"))_BrowserIdent_browser="Firefox";else if(!_BrowserIdent_checkIt("compatible")){_BrowserIdent_browser="Netscape Navigator";_BrowserIdent_version=_BrowserIdent_detect.charAt(8)}else _BrowserIdent_browser="An unknown browser";if(!_BrowserIdent_version)_BrowserIdent_version=_BrowserIdent_detect.charAt(_BrowserIdent_place+_BrowserIdent_thestring.length)}function _BrowserIdent_checkIt(string){_BrowserIdent_place=_BrowserIdent_detect.indexOf(string)+1;_BrowserIdent_thestring=string;return _BrowserIdent_place}function _BrowserIdent_setOpacity(imageobject,opacity){if(opacity==undefined||opacity>=1)return"";if(_BrowserIdent_browser=="Netscape Navigator")imageobject.style.MozOpacity=opacity;else if(_BrowserIdent_browser=="Internet Explorer"&&parseInt(this.version)>=4){var tmp=imageobject.style.cssText;tmp="filter: alpha(opacity="+opacity*100+");"+tmp;imageobject.style.cssText=tmp}else{var tmp=imageobject.style.cssText;tmp="opacity: "+opacity+";"+tmp;imageobject.style.cssText=tmp}}function _BrowserIdent_getPreferredImageType(){if(_BrowserIdent_browser=="Netscape Navigator")return"P";else if(_BrowserIdent_browser=="Opera")return"P";else if(_BrowserIdent_browser=="Firefox")return"P";else if(_BrowserIdent_browser=="Safari")return"P";else if(_BrowserIdent_browser=="Konqueror")return"P";else return"G"}function _BrowserIdent_getPreferredOpacity(){if(_BrowserIdent_browser=="Netscape Navigator")return"server";else if(_BrowserIdent_browser=="Firefox")return"server";else if(_BrowserIdent_browser=="Opera")return"server";else if(_BrowserIdent_browser=="Konqueror")return"server";else return"client"}var xmlOverlayUseCanvas=true;function _BrowserIdent_hasCanvasSupport(){if(!xmlOverlayUseCanvas)return false;if(_BrowserIdent_browser=="Internet Explorer")return true;if(_BrowserIdent_browser=="Firefox")return true;if(_BrowserIdent_browser=="Safari")return true;return false}function _BrowserIdent_newCanvas(parentNode){var el=document.createElement("canvas");parentNode.appendChild(el);if(typeof G_vmlCanvasManager!="undefined"){el=G_vmlCanvasManager.initElement(el)}return el}function _BrowserIdent_getCanvasContext(canvas){return canvas.getContext("2d")}function _BrowserIdent_setCanvasHW(canvas,height,width){canvas.width=width;canvas.height=height}_BrowserIdent();if(navigator.userAgent.indexOf("Firefox")!=-1||navigator.userAgent.indexOf("Safari")!=-1){var svg_ns="http://www.w3.org/2000/svg";kaXmlPolygon.prototype.draw_canvas=function(point){var xy=point.xml_overlay.kaMap.geoToPix(this.cxmin,this.cymax);var x0=xy[0];var y0=xy[1];xy=point.xml_overlay.kaMap.geoToPix(this.cxmax,this.cymin);var x1=xy[0];var y1=xy[1];xy=point.xml_overlay.kaMap.geoToPix(point.div.lon,point.div.lat);var xr=xy[0];var yr=xy[1];var scf=point.xml_overlay.kaMap.getCurrentScale()/this.maxScale;var sizex=x1-x0+this.stroke*2;var sizey=y1-y0+this.stroke*2;if(this.canvas==null){this.canvas=document.createElementNS(svg_ns,"svg");point.div.appendChild(this.canvas)}while(this.canvas.childNodes.length>0)this.canvas.removeChild(this.canvas.firstChild);this.canvas.setAttribute("version","1.1");this.canvas.setAttribute("overflow","visible");this.canvas.style.position="absolute";this.canvas.style.left=x0-xr-this.stroke+"px";this.canvas.style.top=y0-yr-this.stroke+"px";this.canvas.setAttribute("width",sizex+"px");this.canvas.setAttribute("height",sizey+"px");var p=document.createElementNS(svg_ns,"path");p.setAttribute("stroke-linejoin","round");p.setAttribute("stroke-linecap","round");p.setAttribute("stroke-opacity",this.opacity);p.setAttribute("stroke-width",this.stroke);p.setAttribute("stroke",this.bcolor);p.setAttribute("fill-rule","evenodd");p.setAttribute("fill",this.color);p.setAttribute("fill-opacity",this.fillopacity);var data="";for(var i=0;i<this.xn.length;i++){if(i==0)data+="M";else data+="L";data+=this.xn[i]/scf+this.stroke+" "+(this.yn[i]/scf+this.stroke)}p.setAttribute("d",data);this.canvas.appendChild(p)};kaXmlLinestring.prototype.draw_canvas=function(point){var xy=point.xml_overlay.kaMap.geoToPix(this.cxmin,this.cymax);var x0=xy[0];var y0=xy[1];xy=point.xml_overlay.kaMap.geoToPix(this.cxmax,this.cymin);var x1=xy[0];var y1=xy[1];xy=point.xml_overlay.kaMap.geoToPix(point.div.lon,point.div.lat);var xr=xy[0];var yr=xy[1];var scf=point.xml_overlay.kaMap.getCurrentScale()/this.maxScale;var sizex=x1-x0+this.stroke*2;var sizey=y1-y0+this.stroke*2;if(this.canvas==null){this.canvas=document.createElementNS(svg_ns,"svg");point.div.appendChild(this.canvas)}while(this.canvas.childNodes.length>0)this.canvas.removeChild(this.canvas.firstChild);this.canvas.setAttribute("version","1.1");this.canvas.setAttribute("overflow","visible");this.canvas.style.position="absolute";this.canvas.style.left=x0-xr-this.stroke+"px";this.canvas.style.top=y0-yr-this.stroke+"px";this.canvas.setAttribute("width",sizex+"px");this.canvas.setAttribute("height",sizey+"px");var p=document.createElementNS(svg_ns,"path");p.setAttribute("stroke-linejoin","round");p.setAttribute("stroke-linecap","round");p.setAttribute("stroke-opacity",this.opacity);p.setAttribute("stroke-width",this.stroke);p.setAttribute("stroke",this.color);p.setAttribute("fill","none");var data="";for(var i=0;i<this.xn.length;i++){if(i==0)data+="M";else data+="L";data+=this.xn[i]/scf+this.stroke+" "+(this.yn[i]/scf+this.stroke)}p.setAttribute("d",data);this.canvas.appendChild(p)}}function handleCutPoints(select){if(isSubscriber()){map.getLegend().setNumberOfBreaks(parseInt(select.value));session.put("nb",parseInt(select.value));widget.refresh()}else{for(var i=0;i<select.options.length;i++){if(select.options[i].defaultSelected){select.options[i].selected=true}else{select.options[i].selected=false}}subscribeAlert()}}function displayEditRangesPanel(){if(!isSubscriber()){widget.getIndicatorBreaks().setEditMode(false);subscribeAlert()}else{widget.getIndicatorBreaks().setEditMode(true)}return false}PIndicatorBreaks=function(legend,options){this.legend=legend;this.instanceId=options&&options.instanceId!=null?options.instanceId:"";this.sessionId=this.instanceId+"breaks";this.editmode=false;this.hasEditedBreaks=false;this.eventTypes=new Object;this.eventTypes.refresh="refresh";this.eventTypes.clear="clear";this.eventManager=new PEventManager;this.refresh()};PIndicatorBreaks.EDITSTATE=new Object;PIndicatorBreaks.EDITSTATE.nonSubscriber=1;PIndicatorBreaks.EDITSTATE.currentlyEditing=2;PIndicatorBreaks.EDITSTATE.alreadyEdited=4;PIndicatorBreaks.EDITSTATE.zoomInFurther=8;PIndicatorBreaks.EDITSTATE.exactBreaks=16;PIndicatorBreaks.EDITSTATE.noBoundaryType=32;PIndicatorBreaks.EDITSTATE.noData=128;var editState=0;PIndicatorBreaks.prototype={addListener:function(eventId,f,c){this.eventManager.addListener(eventId,f,c)},clear:function(){session.remove(this.sessionId);this.eventManager.triggerListeners(this.eventTypes.clear)},setEditMode:function(mode){this.editMode=mode;this.refresh()},restoreBreaks:function(){this.hasEditedBreaks=false;if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){session.remove("legendind");this.setEditMode(false);this.refresh();map.refresh()}else{var numBreaks=this.legend.getNumberOfBreaks();this.legend.getIndicator().restoreBreaks(this.legend.getIndicator().getPeriod(),this.legend.getBoundaryType(),numBreaks);this.createBreaksSession();this.refresh()}},refresh:function(){if(this.legend.getIndicator()){var ind=this.legend.getIndicator();var placetype=this.legend.getBoundaryType();var numBreaks=this.legend.getNumberOfBreaks();var colors=this.legend.getColors();var incrementValue=PWebUtil.getBreakIncrement(this.legend.getBreaks());var breaks=this.legend.getFormattedBreaks(incrementValue);var incrementBreaks=this.legend.getIncrementedBreaks(incrementValue);editState=0;if(this.editMode)editState|=PIndicatorBreaks.EDITSTATE.currentlyEditing;if(!isSubscriber())editState|=PIndicatorBreaks.EDITSTATE.nonSubscriber;if(placetype&&ind.hasCustomBreaks(ind.getPeriod(),placetype,numBreaks))editState|=PIndicatorBreaks.EDITSTATE.alreadyEdited;if(placetype==null)editState|=PIndicatorBreaks.EDITSTATE.noBoundaryType;if(ind.nodata)editState|=PIndicatorBreaks.EDITSTATE.noData;if(ind.breakid==P_BREAKTYPE_EXACT_VALUE_ID||ind.breakid==P_BREAKTYPE_EXACT_VALUE_CUSTOM_ID)editState|=PIndicatorBreaks.EDITSTATE.exactBreaks;var numExactBreaks=0;if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){if(editState&PIndicatorBreaks.EDITSTATE.noData)numExactBreaks=numBreaks+1;else numExactBreaks=numBreaks}var isUrlInd=false;if(session.get("lind")!=null){var layersString=session.get("lind");if(layersString.length>=numExactBreaks){var mvaLayers=[];isUrlInd=true;session.put("legendind",ind.getID());for(var i=0;i<layersString.length;i++){if(layersString.charAt(i)=="0")mvaLayers[i]=false;else if(layersString.charAt(i)=="1")mvaLayers[i]=true;else session.remove("legendind")}session.put("mvalayers",mvaLayers)}else session.remove("legendind");session.remove("lind")}if(!isUrlInd&&!this.hasEditedBreaks){session.put("legendind",ind.getID());if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){var mvaLayers=[];for(var i=0;i<numExactBreaks;i++){mvaLayers[i]=true}session.put("mvalayers",mvaLayers)}}if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){var breaksChanged=false;var mvaLayers=session.get("mvalayers");for(var i=0;i<numExactBreaks;i++){if(!mvaLayers[i])breaksChanged=true}if(breaksChanged)editState|=PIndicatorBreaks.EDITSTATE.alreadyEdited}this.eventManager.triggerListeners(this.eventTypes.refresh,breaks,incrementBreaks,numBreaks,colors,this.legend)}},createBreaksSession:function(){var ind=this.legend.getIndicator();var breaksobj=ind.createCustomBreaksJSON();var obj=session.get(this.sessionId);if(obj==null)obj={};obj[ind.id]=breaksobj;session.put(this.sessionId,obj)},applyCustomBreaks:function(allPeriods){this.hasEditedBreaks=true;var numBreaks=this.legend.getNumberOfBreaks();if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){var mvaLayers=[];if(editState&PIndicatorBreaks.EDITSTATE.noData)numBreaks++;for(var i=0;i<numBreaks;i++)mvaLayers[i]=$("input[id=breakbox"+i+"][type=checkbox]").attr("checked");session.put("mvalayers",mvaLayers);this.setEditMode(false);map.refresh()}else{var breaks="";var curInd=this.legend.getIndicator();for(var i=0;i<numBreaks;i++){var index;if(curInd.nodata){index=i+1}else{index=i}var rgx=/[^0-9\.-]/g;if(i==0){breaks=document.getElementById(this.instanceId+"breakbox"+index+"a").value.replace(rgx,"")}breaks+=","+document.getElementById(this.instanceId+"breakbox"+index+"b").value.replace(rgx,"")}if(allPeriods){curInd.setCustomBreaks(breaks,this.legend.getBoundaryType(),"all")}else{curInd.setCustomBreaks(breaks,this.legend.getBoundaryType())}this.createBreaksSession();this.setEditMode(false)}},checkBreakBoxes:function(id){function getIncrement(dec){if(dec==0)return 1;else{var inc="0.";for(var i=1;i<dec;i++)inc+="0";inc+="1";return Number(inc)}}var box=document.getElementById(id);var rgx=/[^0-9\.-]/g;var rgxNum=/[0-9]/g;var boxval=parseFloat(box.value.replace(rgx,""));var dec=PWebUtil.getDecimalPlaces(boxval);var inc=getIncrement(dec);var bordercolor="2px solid #ff9900";var index=parseInt(id.charAt(id.length-2));var subindex=id.charAt(id.length-1);var unit=this.legend.getIndicator().unit;if(subindex=="a"){var boxBprev=document.getElementById("breakbox"+(index-1)+"b");if(boxBprev){var checkdec=PWebUtil.getDecimalPlaces(boxBprev.value.replace(rgx,""));if(checkdec>dec)dec=checkdec;inc=getIncrement(dec);if(boxval.toString().match(rgxNum)){var boxBprevval=boxval-inc;boxBprev.value=PWebUtil.formatNumber(boxBprevval,unit,dec);boxBprev.style.border=bordercolor;var boxAprev=document.getElementById("breakbox"+(index-1)+"a");var boxAprevval=parseFloat(boxAprev.value.replace(rgx,""));if(boxAprevval>boxBprevval){boxAprev.value=PWebUtil.formatNumber(boxBprevval,unit,dec);this.checkBreakBoxes("breakbox"+(index-1)+"a")}}else boxval=parseFloat(boxBprev.value.replace(rgx,""))+inc}var boxB=document.getElementById("breakbox"+index+"b");var boxBval=parseFloat(boxB.value.replace(rgx,""));if(boxval>boxBval){boxB.value=PWebUtil.formatNumber(boxval,unit,dec);this.checkBreakBoxes("breakbox"+index+"b")}if(!boxBprev&&!boxval){var breaks=this.legend.getBreaks();var breaksarr=breaks.split(",");var index=0;if(this.legend.getIndicator().nodata)index=1;boxval=breaksarr[index];dec=PWebUtil.getDecimalPlaces(boxB.value.replace(rgx,""))}}else if(subindex=="b"){var boxAnext=document.getElementById("breakbox"+(index+1)+"a");if(boxAnext){var checkdec=PWebUtil.getDecimalPlaces(boxAnext.value.replace(rgx,""));if(checkdec>dec)dec=checkdec;var inc=getIncrement(dec);if(boxval.toString().match(rgxNum)){var boxAnextval=boxval+inc;boxAnext.value=PWebUtil.formatNumber(boxAnextval,unit,dec);boxAnext.style.border=bordercolor;var boxBnext=document.getElementById("breakbox"+(index+1)+"b");var boxBnextval=parseFloat(boxBnext.value.replace(rgx,""));if(boxBnextval<boxAnextval){boxBnext.value=PWebUtil.formatNumber(boxAnextval,unit,dec);this.checkBreakBoxes("breakbox"+(index+1)+"b")}}else boxval=parseFloat(boxAnext.value.replace(rgx,""))-inc}var boxA=document.getElementById("breakbox"+index+"a");if(boxA){var boxAval=parseFloat(boxA.value.replace(rgx,""));if(boxAval>boxval){boxA.value=PWebUtil.formatNumber(boxval,unit,dec);this.checkBreakBoxes("breakbox"+index+"a")}}if(!boxAnext&&!boxval){var breaks=this.legend.getBreaks();var breaksarr=breaks.split(",");boxval=breaksarr[breaksarr.length-1];dec=PWebUtil.getDecimalPlaces(boxA.value.replace(rgx,""))}}box.value=PWebUtil.formatNumber(boxval,unit,dec);box.style.border=bordercolor}};PIndicatorToggle=function(legend,map,indLegend,options){this.legend=legend;this.map=map;this.indLegend=indLegend;this.instanceId=options&&options.instanceId!=null?options.instanceId:"";this.listeners=[];this.eventTypes=new Object;this.eventTypes.refresh="refresh";this.eventTypes.clear="clear";this.eventManager=new PEventManager};PIndicatorToggle.YEAR=new Object;PIndicatorToggle.YEAR.selectedYear=1;PIndicatorToggle.YEAR.availableYear=2;PIndicatorToggle.YEAR.mustSubscribe=4;PIndicatorToggle.YEAR.notAvailable=8;PIndicatorToggle.YEAR.projection=16;PIndicatorToggle.QUARTER=new Object;PIndicatorToggle.QUARTER.selectedQuarter=1;PIndicatorToggle.QUARTER.availableQuarter=2;PIndicatorToggle.MONTH=new Object;PIndicatorToggle.MONTH.selectedMonth=1;PIndicatorToggle.MONTH.availableMonth=2;PIndicatorToggle.INDICATOR=new Object;PIndicatorToggle.INDICATOR.selectedIndicator=1;PIndicatorItemToggle=function(value,state,func,funcParams,title){this.value=value;this.state=state;this.func=func;this.funcParams=funcParams;this.title=title};PIndicatorToggle.prototype={clear:function(){this.eventManager.triggerListeners(this.eventTypes.clear)},addListener:function(eventId,f,c){this.eventManager.addListener(eventId,f,c)},refresh:function(){var self=this;this.clear();var ind=this.legend.getIndicator();if(ind&&!allowIndicator(ind)){this.indLegend.clear();var content="You must be a subscriber to view this indicator.";alerter.popup(content,"OK")}else if(ind){var quarters=new Array;var months=new Array;var indicators=new Array;var years=_.chain(ind.periods).sortBy(function sortByTextAscending(period){return period}).map(function parseYears(period){return period.substring(0,4)}).uniq().map(function(year){return new PIndicatorItemToggle(year,self.getYearState(ind,year),self.selectYearFunction,{legend:self.legend,ind:ind,map:self.map,period:year,indLegend:self.indLegend})}).value();if(ind.getPeriod().match("q")){var q=ind.getPeriod().split("q");for(var i=1;i<5;i++){var qLabel="Q"+i;var period=q[0]+"q"+i;if(q[1]==i)quarters.push(new PIndicatorItemToggle(qLabel,PIndicatorToggle.QUARTER.selectedQuarter,null,null));else if(ind.hasPeriod(period)&&allowPeriod(ind,period))quarters.push(new PIndicatorItemToggle(qLabel,PIndicatorToggle.QUARTER.availableQuarter,this.selectQuarterFunction,{ind:ind,period:period,legend:this.legend,indLegend:this.indLegend,map:this.map}));else quarters.push(new PIndicatorItemToggle(qLabel,0,null,null))}}else if(ind.getPeriod().match("-")){var m=ind.getPeriod().split("-");var labels=["J","F","M","A","M","J","J","A","S","O","N","D"];for(var i=1;i<13;i++){var mLabel=labels[i-1];var z="";if(i<10)z="0";var period=m[0]+"-"+z+i;if(m[1]==i)months.push(new PIndicatorItemToggle(mLabel,PIndicatorToggle.MONTH.selectedMonth,null,null));else if(ind.hasPeriod(period)&&allowPeriod(ind,period))months.push(new PIndicatorItemToggle(mLabel,PIndicatorToggle.MONTH.availableMonth,this.selectMonthFunction,{ind:ind,period:period,legend:this.legend,indLegend:this.indLegend,map:this.map}));else months.push(new PIndicatorItemToggle(mLabel,0,null,null))}}if(this.indLegend.indicatorList){this.indLegend.clearMeasurementLabels();for(var i=0;i<this.indLegend.indicatorList.length;i++){var currentInd=this.indLegend.indicatorList[i];this.indLegend.storeMeasurementLabel(currentInd.measurement);var periods=currentInd.getPeriods();var indAllow=false;for(var j=0;j<periods.length;j++){if(allowPeriod(currentInd,periods[j])){indAllow=true;break}}if(indAllow){var value=this.indLegend.getMeasurementLabel(currentInd);var title=currentInd.title||this.indLegend.getMeasurementLabel(currentInd,true);if(currentInd==ind)indicators.push(new PIndicatorItemToggle(value,PIndicatorToggle.INDICATOR.selectedIndicator,null,null,title));else indicators.push(new PIndicatorItemToggle(value,0,this.selectIndicatorFunction,{ind:currentInd,legend:this.legend,indLegend:this.indLegend},title))}}}this.eventManager.triggerListeners(this.eventTypes.refresh,years,quarters,indicators,months)}},getYearState:function(ind,period){var state=PIndicatorToggle.YEAR.notAvailable;if(ind.getPeriod().slice(0,4)==period)state=PIndicatorToggle.YEAR.selectedYear;else if(ind.hasYear(period)&&allowPeriod(ind,period))state=PIndicatorToggle.YEAR.availableYear;else if(ind.hasYear(period)&&ind.containsSource("Census and Nielsen"))state=PIndicatorToggle.YEAR.mustSubscribe;return state},selectYearFunction:function(){if(!this.ind.hasPeriod(this.period)){this.period=this.ind.getQuarter(this.period)||this.ind.getMonth(this.period);this.legend.unlockBoundaryType()}this.ind.setPeriod(this.period);global_period=this.period;if(PEnvironment.pageName=="tables"){setTablesPeriod([this.period])}else{this.indLegend.refreshLegendThenCheckPlaceTypes()}this.indLegend.indicatorChanged();if(this.map){jQuery("#maptitlebox").hide();jQuery("#moretitle").hide();if(PEnvironment.pageName=="widget"){document.getElementById("maptitle").innerHTML=createTitle(new PMapState(this.map.getCenter(),this.map.getZoom(),this.ind,null,null),true)}showIndicatorDescriptionIfOn(this.ind);jQuery("#maptitlebox").fadeIn(2e3)}closeCubeWindow();if(PEnvironment.pageName=="widget"){this.indLegend.refreshWidgetPopUpTable();refreshWidgetCharts()}var ind=this.ind;if(ind.hasOverlaySets()){map.updateIndicatorOverlaySets(ind)}},selectQuarterFunction:function(){this.ind.setPeriod(this.period);global_period=this.period;if(PEnvironment.pageName=="tables"){setTablesPeriod([this.period])}else{this.indLegend.refreshLegendThenCheckPlaceTypes()}this.indLegend.indicatorChanged();if(this.map){jQuery("#maptitlebox").hide();jQuery("#moretitle").hide();if(PEnvironment.pageName=="widget"){document.getElementById("maptitle").innerHTML=createTitle(new PMapState(this.map.getCenter(),this.map.getZoom(),this.ind,null,null),true)}showIndicatorDescriptionIfOn(this.ind);jQuery("#maptitlebox").fadeIn(2e3)}closeCubeWindow();if(PEnvironment.pageName=="widget"){this.indLegend.refreshWidgetPopUpTable();refreshWidgetCharts()}},selectMonthFunction:function(){this.ind.setPeriod(this.period);global_period=this.period;if(PEnvironment.pageName=="tables"){setTablesPeriod([this.period])}else{this.indLegend.refreshLegendThenCheckPlaceTypes()}this.indLegend.indicatorChanged();if(this.map){jQuery("#maptitlebox").hide();jQuery("#moretitle").hide();showIndicatorDescriptionIfOn(this.ind);jQuery("#maptitlebox").fadeIn(2e3)}closeCubeWindow();if(PEnvironment.pageName=="widget"){this.indLegend.refreshWidgetPopUpTable();refreshWidgetCharts()}},selectIndicatorFunction:function(){this.indLegend.setIndicatorList([this.ind],true,null,true);if(this.map){jQuery("#maptitlebox").hide();jQuery("#moretitle").hide();if(PEnvironment.pageName=="widget"){document.getElementById("maptitle").innerHTML=createTitle(new PMapState(this.map.getCenter(),this.map.getZoom(),this.ind,null,null),true)}showIndicatorDescriptionIfOn(this.ind);jQuery("#maptitlebox").fadeIn(2e3);jQuery("#maptitlbox").animate({backgroundColor:"orange"},1e3)}closeCubeWindow();if(this.map)this.map.setIndicator(this.ind);this.indLegend.refresh();this.indLegend.indicatorChanged();if(PEnvironment.pageName=="widget"){this.indLegend.refreshWidgetPopUpTable()}}};PIndicatorShade=function(legend,options){this.legend=legend;this.instanceId=options&&options.instanceId!=null?options.instanceId:"";this.disableDefault=options&&options.disableDefault!=null?options.disableDefault:false;this.sessionId=this.instanceId+"btds";this.oldBoundaryTypeId=0;this.boundaryId=0;this.userBoundaryId=0;this.eventTypes=new Object;this.eventTypes.clear="clear";this.eventTypes.refresh="refresh";this.eventTypes.change="change";this.eventManager=new PEventManager};PIndicatorShadeInfo=function(ind){this.indicator=ind;this.shadeString=null;this.shadeItems=null};PIndicatorShadeItem=function(typeId,defId,name,selected){this.id=typeId;this.typeId=typeId;this.defId=defId;this.name=name;this.selected=selected;this.defaultSelected=false};PIndicatorShade.prototype={clear:function(){session.remove(this.sessionId);this.setOldBoundaryTypeId(0);this.boundaryId=0;this.userBoundaryId=0;this.eventManager.triggerListeners(this.eventTypes.clear)},addListener:function(eventId,f,c){this.eventManager.addListener(eventId,f,c)},setOldBoundaryTypeId:function(id){this.oldBoundaryTypeId=id},getOldBoundaryTypeId:function(){return this.oldBoundaryTypeId},changeShade:function(boundaryId,useLockOption){if(boundaryId==0&&(this.legend.boundaryTypeIsLocked(this.legend.getIndicator().id)||this.legend.isBoundaryTypeSetToLockGlobally())){this.legend.unlockBoundaryType();if(this.legend.isBoundaryTypeSetToLockGlobally()&&useLockOption){this.legend.unlockBoundaryTypeGlobally(boundaryId)}else{var btds=session.get(this.sessionId)&&session.get(this.sessionId).constructor==Object?session.get(this.sessionId):{};btds[this.legend.getIndicator().id]=null;session.put(this.sessionId,btds)}this.update(this.legend.getIndicator());this.setOldBoundaryTypeId(boundaryId)}else if(this.legend.isValidBoundaryType(boundaryId)||PEnvironment.pageName=="analytics"||boundaryId==0){this.legend.lockBoundaryType();this.legend.setBoundaryType(boundaryId);if(this.legend.isBoundaryTypeSetToLockGlobally()&&useLockOption){this.legend.lockBoundaryTypeGlobally(boundaryId)}else{var btds=session.get(this.sessionId)&&session.get(this.sessionId).constructor==Object?session.get(this.sessionId):{};btds[this.legend.getIndicator().id]=boundaryId;session.put(this.sessionId,btds)}this.setOldBoundaryTypeId(boundaryId);this.boundaryId=boundaryId}this.userBoundaryId=boundaryId;this.eventManager.triggerListeners(this.eventTypes.change);closeCubeWindow();map.refresh()},update:function(ind){if(ind){if(this.disableDefault)this.legend.lockBoundaryType();var shadeInfo=new PIndicatorShadeInfo(ind);if(this.legend.isPrerenderedBoundary()){shadeInfo.shadeString=this.legend.getBoundaryType().getName()}else{shadeInfo.shadeItems=[];var mapBoundTypes=PEnvironment.pageName!="analytics"?this.legend.getBoundaryTypes():PPlaceTypeConfig.containmentOrder.slice().reverse();var indBoundTypes=orderPlaceTypes(ind.getPlaceTypes()).reverse();var uniqueBounds={};var listDefault=false;if(!this.legend.getBoundaryType())return;var prefBoundaryId=this.legend.getBoundaryType().id;if(PEnvironment.pageName=="analytics"){if(jQuery.inArray(PPlaceType.CENSUSTRACT,indBoundTypes)>=0){prefBoundaryId=PPlaceType.CENSUSTRACT.id}else if(indBoundTypes.length>0){prefBoundaryId=indBoundTypes[0].id}}var sessionBoundaryId=null;var btds={};if(session.get(this.sessionId)){if(typeof session.get(this.sessionId)==="string"){btds=JSON.parse(session.get(this.sessionId))}else if(typeof session.get(this.sessionId)==="object"){btds=session.get(this.sessionId)}}var btd=session.get(this.instanceId+"btd");session.remove(this.instanceId+"btd");if(PEnvironment.pageName=="widget"&&this.legend.isBoundaryTypeSetToLockGlobally()&&this.legend.isValidBoundaryType(this.legend.getGloballyLockedType())){sessionBoundaryId=this.legend.getGloballyLockedType()}else if(btd&&this.legend.isValidBoundaryType(btd)||btd&&PEnvironment.pageName=="analytics"){btds[ind.id]=btd;if(PEnvironment.pageName!="widget"){session.put(this.sessionId,btds)}sessionBoundaryId=btd}else if(!sessionBoundaryId){sessionBoundaryId=btds[ind.id]}if(sessionBoundaryId&&parseInt(sessionBoundaryId)>0&&this.legend.isValidBoundaryType(sessionBoundaryId)){prefBoundaryId=sessionBoundaryId;this.legend.lockBoundaryType();this.legend.setBoundaryType(prefBoundaryId)}else if(sessionBoundaryId&&parseInt(sessionBoundaryId)>0&&PEnvironment.pageName=="analytics"){prefBoundaryId=sessionBoundaryId;this.legend.lockBoundaryType();this.legend.setBoundaryType(prefBoundaryId)}if(this.userBoundaryId>0&&PEnvironment.pageName=="analytics")prefBoundaryId=this.userBoundaryId;else if(this.boundaryId>0&&PEnvironment.pageName=="analytics")prefBoundaryId=this.boundaryId;var ids=[9871878,9873762,9873657];var allowBlockGroupData=false;for(var k=0;k<ids.length;k++){if(ids[k]==ind.id){allowBlockGroupData=true;break}}this.boundaryId=0;for(var i=0;i<mapBoundTypes.length;++i){for(var j=0;j<indBoundTypes.length;++j){if(mapBoundTypes[i].id==indBoundTypes[j].id){if(!isCBClone()){if(uniqueBounds[mapBoundTypes[i].id]||PEnvironment.pageName=="analytics"&&!allowBlockGroupData&&indBoundTypes[j].id==15&&indBoundTypes.length>1){continue}}var typeId=indBoundTypes[j].id;var matrixId=ind.matrixIds[ind.curPerIndex];var def=boundaryMatrix.getDefinitionForTypeId(typeId,matrixId);var displayName=def.displayName;if(PEnvironment.pageName=="widget"&&(indBoundTypes[j]==PPlaceType.SLD_UPPER||indBoundTypes[j]==PPlaceType.SLD_LOWER)){displayName=displayName.replace("District","Dist")}var newItem=new PIndicatorShadeItem(typeId,def.boundaryDefinitionId,displayName,false);uniqueBounds[mapBoundTypes[i].id]=true;if(prefBoundaryId==indBoundTypes[j].id&&(this.legend.isValidBoundaryType(indBoundTypes[j])||PEnvironment.pageName=="analytics")){newItem.selected=true;newItem.defaultSelected=true;if(btds[ind.id]||this.legend.isBoundaryTypeSetToLockGlobally()&&this.legend.getGloballyLockedType())listDefault=true;this.legend.setBoundaryType(indBoundTypes[j]);this.boundaryId=newItem.id}shadeInfo.shadeItems.push(newItem);break}}}if(listDefault&&this.disableDefault!=true){shadeInfo.shadeItems[shadeInfo.shadeItems.length]=new PIndicatorShadeItem(0,0,"Default",false)}else if(this.boundaryId==0){for(var i=0;i<shadeInfo.shadeItems.length&&this.boundaryId==0;i++){var id=shadeInfo.shadeItems[i].id;if(id!=PPlaceType.CBSA.id&&id!=PPlaceType.COUNTY_SUBDIVISION.id&&id!=PPlaceType.CITY.id&&id!=PPlaceType.MD.id){this.legend.setBoundaryType(shadeInfo.shadeItems[i].id);this.boundaryId=shadeInfo.shadeItems[i].id;shadeInfo.shadeItems[i].selected=true}}if(this.boundaryId==0&&shadeInfo.shadeItems.length>0){this.legend.setBoundaryType(shadeInfo.shadeItems[0].id);this.boundaryId=shadeInfo.shadeItems[0].id;shadeInfo.shadeItems[0].selected=true}}}}this.eventManager.triggerListeners(this.eventTypes.refresh,shadeInfo)}};PIndicatorValues=function(legend,options){this.legend=legend;this.instanceId=options&&options.instanceId!=null?options.instanceId:"";this.sessionId=this.instanceId+"v";this.values=null;this.eventManager=new PEventManager;this.eventTypes={change:"change",load:"load",enable:"enable",disable:"disable"}};PIndicatorValues.prototype={clear:function(){this.values=null;session.remove(this.sessionId);this.eventManager.triggerListeners(this.eventTypes.clear)},load:function(){var ind=this.legend.getIndicator();if(ind.breakid==P_BREAKTYPE_EXACT_VALUE_ID||ind.breakid==P_BREAKTYPE_EXACT_VALUE_CUSTOM_ID){this.enable();var incrementValue=PWebUtil.getBreakIncrement(this.legend.getBreaks());var breaks=this.legend.getFormattedBreaks(incrementValue);var valOptions=[];if(session.get(this.sessionId))valOptions=MochiKit.Base.evalJSON(session.get(this.sessionId));this.values=[];for(var i=ind.nodata?1:0,j=0;i<breaks.length;i++,j++)this.values.push([breaks[i],valOptions.length>j?valOptions[j]:1]);this.eventManager.triggerListeners(this.eventTypes.load,this.values)}else{this.disable()}},toggleValues:function(values){this.values=values;session.put(this.sessionId,MochiKit.Base.serializeJSON(this.getValueOptions()));this.eventManager.triggerListeners(this.eventTypes.change)},addListener:function(eventId,f,c){this.eventManager.addListener(eventId,f,c)},enable:function(){this.eventManager.triggerListeners(this.eventTypes.enable)},disable:function(){this.eventManager.triggerListeners(this.eventTypes.disable)},getValues:function(){return this.values},getValueOptions:function(){var valOptions;if(this.values){valOptions=[];for(var i=0;i<this.values.length;i++)valOptions.push(this.values[i][1])}return valOptions}};PIndicatorRange=function(legend,map,options){this.legend=legend;this.map=map;this.instanceId=options&&options.instanceId!=null?options.instanceId:"";this.sessionId=this.instanceId+"r";this.range=null;this.min=null;this.max=null;this.userUnit=null;this.userRange=null;this.eventManager=new PEventManager;this.eventTypes={change:"change",refresh:"refresh",enable:"enable",disable:"disable"};if(session.get(this.sessionId+"0")&&session.get(this.sessionId+"1")){this.range=[parseFloat(session.get(this.sessionId+"0")),parseFloat(session.get(this.sessionId+"1"))];this.setUserRange(this.range)}};PIndicatorRange.prototype={clear:function(){this.range=null;this.min=null;this.max=null;this.userRange=null;this.userUnit=null;session.remove(this.sessionId+"0");session.remove(this.sessionId+"1")},getRange:function(){return this.range},getFormattedRange:function(){var unit=this.legend.getIndicator()?this.legend.getIndicator().unit:null;return[PWebUtil.formatNumber(this.range[0],unit),PWebUtil.formatNumber(this.range[1],unit)]},getLimits:function(){return[this.min,this.max]},addListener:function(eventId,f,c){this.eventManager.addListener(eventId,f,c)},setRange:function(range){this.storeRange(range);this.setUserRange(range);this.eventManager.triggerListeners(this.eventTypes.change,range);map.refresh()},setUserRange:function(range){var indicator=this.legend.getIndicator();if(indicator)this.userUnit=indicator.unit;this.userRange=new Array;this.userRange[0]=range[0]==this.min?null:range[0];this.userRange[1]=range[1]==this.max?null:range[1]},refresh:function(){var breaks=this.legend.getBreaks().split(",");var indicator=this.legend.getIndicator();if(indicator.breakid!=P_BREAKTYPE_EXACT_VALUE_ID&&indicator.breakid!=P_BREAKTYPE_EXACT_VALUE_CUSTOM_ID){this.enable();if(indicator!=null&&breaks.length>0&&this.legend.getBoundaryType()){var range=[];range[0]=parseFloat(breaks[0]==indicator.nodata?breaks[1]:breaks[0]);range[1]=parseFloat(breaks[breaks.length-1]);var tMin=this.min;var tMax=this.max;this.min=range[0];this.max=range[1];if(this.range!=null||(range[0]!=tMin||range[1]!=tMax)&&(tMin!=null&&tMax!=null)){if(this.userRange&&(this.userUnit==indicator.unit||this.unit==null)&&(this.userRange[0]>range[0]&&this.userRange[0]<range[1]||this.userRange[1]>range[0]&&this.userRange[1]<range[1])){var tmpRange=new Array;tmpRange[0]=this.userRange[0]!=null&&this.userRange[0]>range[0]&&this.userRange[0]<range[1]?this.userRange[0]:range[0];
tmpRange[1]=this.userRange[1]!=null&&this.userRange[1]>range[0]&&this.userRange[1]<range[1]?this.userRange[1]:range[1];this.storeRange(tmpRange)}else{this.storeRange(range)}}else this.storeRange([this.min,this.max]);this.eventManager.triggerListeners(this.eventTypes.refresh,[this.min,this.max],this.range,indicator.unit)}else{this.eventManager.triggerListeners(this.eventTypes.refresh,[null,null],[null,null],null)}}else{this.disable()}},storeRange:function(range){this.range=new Array(range[0],range[1]);if(this.min!=null&&this.max!=null&&(range[0]!=this.min||range[1]!=this.max)){session.put(this.sessionId+"0",this.range[0]);session.put(this.sessionId+"1",this.range[1])}},enable:function(){this.eventManager.triggerListeners(this.eventTypes.enable)},disable:function(){this.eventManager.triggerListeners(this.eventTypes.disable)}};PTRFIndicatorLegend=function(map,legend,options){this.map=map;this.legend=legend;options=options||new Object;this.instanceId=options.instanceId||"";this.hasIndicator=false;if(this.legend.isBoundaryTypeSetToLockGlobally())this.legend.instanceId="";else this.legend.instanceId=options.instanceId||"";this.firstLoad=true;this.eventTypes=new Object;this.eventTypes.clear="clear";this.eventTypes.init="init";this.eventTypes.refresh="refresh";this.eventTypes.changed="changed";this.eventManager=new PEventManager;this.measurements=[];if(options.enableToggle){this.indicatorToggle=new PIndicatorToggle(this.legend,this.map,this,{instanceId:this.instanceId});this.addListener("refresh",this.indicatorToggle.refresh,this.indicatorToggle);this.addListener("clear",this.indicatorToggle.clear,this.indicatorToggle)}if(options.enableShade){this.indicatorShade=new PIndicatorShade(this.legend,{instanceId:this.instanceId});this.addListener("refresh",this.indicatorShade.update,this.indicatorShade);this.addListener("clear",this.indicatorShade.clear,this.indicatorShade);this.indicatorShade.addListener("change",this.refresh,this)}if(options.enableRange){this.indicatorRange=new PIndicatorRange(this.legend,this.map,{instanceId:this.instanceId});this.indicatorRange.addListener("change",this.indicatorChanged,this);this.addListener("refresh",this.indicatorRange.refresh,this.indicatorRange);this.addListener("clear",this.indicatorRange.clear,this.indicatorRange);this.indicatorValues=new PIndicatorValues(this.legend,{instanceId:this.instanceId});this.indicatorValues.addListener("change",this.indicatorChanged,this);this.addListener("clear",this.indicatorValues.clear,this.indicatorValues);this.addListener("refresh",this.indicatorValues.load,this.indicatorValues)}if(options.enableBreaks){this.indicatorBreaks=new PIndicatorBreaks(this.legend,{instanceId:this.instanceId});this.addListener("changed",this.indicatorBreaks.refresh,this.indicatorBreaks);this.addListener("refresh",this.indicatorBreaks.refresh,this.indicatorBreaks);this.addListener("clear",this.indicatorBreaks.clear,this.indicatorBreaks)}if(options.editButton){this.editButton=options.editButton}};PTRFIndicatorLegend.prototype={init:function(){this.eventManager.triggerListeners(this.eventTypes.init)},clear:function(){this.clearMeasurementLabels();this.indicatorList=null;this.hasIndicator=false;this.legend.removeIndicator();session.remove(this.instanceId+"period");this.eventManager.triggerListeners(this.eventTypes.clear)},clearIndicatorList:function(){this.indicatorList=null},getIndicator:function(){return this.legend.getIndicator()},addListener:function(eventId,f,c){this.eventManager.addListener(eventId,f,c)},refresh:function(){var ind=this.legend.getIndicator();if(ind){session.put(this.instanceId+"period",ind.getPeriod());this.eventManager.triggerListeners(this.eventTypes.refresh,ind)}},getIndicatorToggle:function(){return this.indicatorToggle},getIndicatorBreaks:function(){return this.indicatorBreaks},getIndicatorShade:function(){return this.indicatorShade},getIndicatorRange:function(){return this.indicatorRange},getIndicatorValues:function(){return this.indicatorValues},containsIndicator:function(){return this.hasIndicator},setIndicatorListByIds:function(ids,selected,fromlist){this.indicatorIds=ids;this.hasIndicator=true;var idsCsv=ids.join(",");var indsReceived=function(inds){if(fromlist){var l=inds.length;var mt;for(var i=0;i<l;i++){mt=inds[i].measurement;if(mt&&(mt=="percent"||mt=="rate")){selected=i;break}}}this.setIndicatorList(inds,null,selected)};var url=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=brk&f=v&ii="+idsCsv;if((isWidgetPage()||isCBClone())&&PEnvironment.productId){url+="&sid="+PEnvironment.productId}ajax.call({url:url,context:this,success:indsReceived})},setIndicatorList:function(inds,noupdate,selected,preservePeriod){this.hasIndicator=true;if(!noupdate)this.indicatorList=inds;if(!selected)selected=0;var ind=inds[selected];session.put(this.instanceId+"i",ind.id);var period=null;if(preservePeriod!=null&&preservePeriod===true||(PEnvironment.pageName=="maps"||PEnvironment.pageName=="widget")&&map.getIndicator()==null||PEnvironment.pageName!="maps"&&PEnvironment.pageName!="widget"){var tfId=session.get(this.instanceId+"tf");if(tfId!=null&&$.trim(tfId)!=""){period=ind.periods[$.inArray(parseInt(tfId),ind.periodids)]}else{period=session.get(this.instanceId+"period")}}if(!period||!ind.hasPeriod(period)){period=ind.getPeriod()}if(period!=null&&ind.hasPeriod(period)&&allowPeriod(ind,period)&&allowIndicator(ind)){ind.setPeriod(period)}else if(!allowIndicator(ind)){var content="This data is available only to subscribers.";alerter.popup(content,"OK");map.removeIndicator();jQuery("#maptitle").empty().text(ind.getFullDisplayName()).fadeIn("slow");ind=null}if(ind!=null){if(PEnvironment.pageName=="tables"){this.legend.setIndicator(ind);refreshCubeQueue(null,null,ind);return}var urlParams=getUrlParams();ind.setCustomBreaksByJSON(session.get(this.instanceId+"breaks"));var self=this;if(urlParams["cb"]){ajax.call({url:PEnvironment.stringstoreUrl+"?id="+urlParams["cb"],context:this,success:function(breaks){var jsonbreaks=MochiKit.Base.evalJSON(breaks);ind.setCustomBreaksByJSON(jsonbreaks);var breaksobj=ind.createCustomBreaksJSON();var obj=session.get(self.instanceId+"breaks");if(obj==null)obj={};obj[ind.id]=breaksobj;session.put(self.instanceId+"breaks",obj);self.legend.setIndicator(ind);self.refresh();if(urlParams["iwx"]&&urlParams["iwy"]&&urlParams["iwtype"]=="identify"&&this.firstLoad)showInfoWindowFromUrl(urlParams);map.refresh()}})}else{this.legend.setIndicator(ind);var incrementValue=PWebUtil.getBreakIncrement(this.legend.getBreaks());var breaks=this.legend.getFormattedBreaks(incrementValue);if(!((ind.breakid==P_BREAKTYPE_EXACT_VALUE_ID||ind.breakid==P_BREAKTYPE_EXACT_VALUE_CUSTOM_ID)&&(breaks.length<3&&breaks[breaks.length-1]==""))){this.refresh()}map.refresh()}if(urlParams["iwx"]&&urlParams["iwy"]&&urlParams["iwtype"]=="identify"&&!urlParams["cb"]&&this.firstLoad){showInfoWindowFromUrl(urlParams)}widget.refresh();this.firstLoad=false}},indicatorChanged:function(){var mo=map.mapOptions;if(mo&&mo.isCurrentOn()){mo.showLayerForCurrentView()}this.eventManager.triggerListeners(this.eventTypes.changed,this.legend.getIndicator())},storeMeasurementLabel:function(m){if(!this.measurements[m])this.measurements[m]=0;this.measurements[m]++},getMeasurementLabel:function(ind,full){var retVal=ind.getMeasurementToggle(full);var m=ind.measurement;if(this.measurements&&this.measurements[m]&&this.measurements[m]>1){retVal+=" ";if(full)retVal+="(Type ";retVal+=this.measurements[m];if(full)retVal+=")"}return retVal},clearMeasurementLabels:function(){this.measurements=[]},getName:function(){var curLeg=this.legend;var curInd=curLeg.getIndicator();var name="";if(curInd&&curLeg.getBoundaryType()&&curLeg.isValidBoundaryType(curLeg.getBoundaryType(),true)){name="p_"+curInd.periodids[curInd.curPerIndex]+".id_"+curInd.id;if(this.indicatorRange){var range=this.indicatorRange.getRange();var values=this.indicatorValues.getValues();if(range&&range.length>1&&range[0]!=null&&!isNaN(range[0])&&range[1]!=null&&!isNaN(range[1])){name+=".br_"+range[0]+":"+range[1];name+=".bd_"+curLeg.getBoundaryDefinitionId(curLeg.getBoundaryType().id)}else if(values){name+=".br_";var nd=0;var breakName="";for(var i=0;i<values.length;i++){if(values[i][1]==1){breakName=values[i][0];var len=breakName.length;if(len>0){var lastChar=breakName.substring(len-1);if(lastChar=="("||lastChar==")"){breakName+=" "}name+=breakName+":";nd++}}}name=name.replace(/:$/,"");name+=".bd_"+curLeg.getBoundaryDefinitionId(curLeg.getBoundaryType().id)+":nd_"+nd;if(nd==0)name=""}else name=""}}return name},changeColorRamp:function(name){this.legend.setColorRamp(PColorRampOptions[name].ramp);session.put("rmp",name);this.refresh()},refreshLegendThenCheckPlaceTypes:function(){var oldid=this.indicatorShade.boundaryId;this.refresh();var newid=this.indicatorShade.boundaryId;if(oldid!=newid)this.indicatorShade.changeShade(newid)},refreshWidgetPopUpTable:function(){if(map.widgetRankingsOn)refreshWidgetRankings();if(textOnlyIsOn){refreshWidgetCube()}}};PLegendMerger=function(map){this.map=map;this.map.kamap.getCurrentMap().aLayers[0].legendMerger=this;this.indicatorLegends=new Array};PLegendMerger.prototype={addLegend:function(legend){this.indicatorLegends.push(legend);legend.addListener("changed",this.indicatorChanged,this)},clearIndicator:function(index){session.remove("m"+index+"i");this.indicatorLegends[index].clear();this.indicatorChanged();if(typeof wiz!="undefined"&&wiz!=null){if(wiz.step>2&&wiz.step!=7&&this.getIndicatorCount()==0){wiz.hideAllArrows();wiz.hideAllSteps();wiz.step=1;wiz.next()}else if(wiz.step>3&&wiz.step!=7&&this.getIndicatorCount()<2){wiz.hideAllArrows();wiz.hideAllSteps();wiz.step=3;wiz.next()}}},getIndicatorCount:function(){var count=0;for(var i=0;i<this.indicatorLegends.length;i++)if(this.indicatorLegends[i].containsIndicator()==true)count++;return count},addIndicator:function(indarr,selected,fromlist,prefLegend){var found=-1;if(this.getIndicatorCount()<this.indicatorLegends.length){if(prefLegend!=null&&this.indicatorLegends[prefLegend].containsIndicator()==false){this.indicatorLegends[prefLegend].setIndicatorListByIds(indarr,selected,fromlist);found=prefLegend}else{for(var i=0;i<this.indicatorLegends.length&&found==-1;i++){if(this.indicatorLegends[i].containsIndicator()==false){this.indicatorLegends[i].setIndicatorListByIds(indarr,selected,fromlist);found=i}}}}else{var content="You can only have a maximum of "+this.indicatorLegends.length+" indicators at once.  Please remove one if you wish to add another.";alerter.popup(content,"OK")}return found},getLegend:function(index){if(index==null&&this.indicatorLegends.length>0)return this.indicatorLegends;else if(this.indicatorLegends.length==0||index>=this.indicatorLegends.length)return null;else return this.indicatorLegends[index]},getName:function(){var name="";if(this.getIndicatorCount()>0){var c=getAnalyticsHexColor();name="mt("+c+",BFBFBF";for(var i=0;i<this.indicatorLegends.length;i++){if(this.indicatorLegends[i].getIndicator()){var n=this.indicatorLegends[i].getName();if(n!=""){name+=","+n.replace(/%/g,"%25")}else{name="";break}}}}return name.length>0?name+")":""},indicatorChanged:function(ind){map.refresh();if(PEnvironment.pageName=="analytics"){mapRefreshed()}},areAllIndicatorsOnMap:function(){var ret=false;var indcnt=this.getIndicatorCount();var cnt=0;var legends=this.getLegend();for(var i=0;i<legends.length;i++){var l=legends[i];var ind=l.getIndicator();if(ind){cnt++}}if(cnt==indcnt){ret=true}return ret}};PLegendContainer=function(jElm){this.jElm=jElm;this.eventTypes=new Object;this.eventTypes.init="init";this.eventTypes.remove="remove";this.eventTypes.enable="enable";this.eventTypes.disable="disable";this.eventTypes.hide="hide";this.eventTypes.show="show";this.eventManager=new PEventManager};PLegendContainer.prototype={init:function(){this.eventManager.triggerListeners(this.eventTypes.init)},remove:function(){this.jElm.remove();this.eventManager.triggerListeners(this.eventTypes.remove)},hide:function(){this.jElm.hide();this.eventManager.triggerListeners(this.eventTypes.hide)},show:function(){this.jElm.show();this.eventManager.triggerListeners(this.eventTypes.show)},addElement:function(elm){this.jElm.append(elm)},addListener:function(eventId,f,c){this.eventManager.addListener(eventId,f,c)},enable:function(){this.jElm.removeClass("disabled");this.jElm.find(":input").removeAttr("disabled");this.jElm.find("select").trigger("chosen:updated");this.jElm.find("*").removeClass("disable_pointer");this.enabled=true;this.eventManager.triggerListeners(this.eventTypes.enable)},disable:function(){this.jElm.addClass("disabled");this.jElm.find(":input").attr("disabled","disabled");this.jElm.find("select").trigger("chosen:updated");this.jElm.find("*").addClass("disable_pointer");this.enabled=false;this.eventManager.triggerListeners(this.eventTypes.disable)},isEnabled:function(){return this.enabled}};PIndicatorShadeWidget=function(elm,showShadeByAsString){this.elm=elm;this.sourceHref=this.elm.find("#source").attr("href");this.shade_by=this.elm.find("#shade_by");this.showShadeByAsString=null;if(showShadeByAsString){this.showShadeByAsString=showShadeByAsString}this.shade_by[0].shadeWidget=this;this.shade_by.bind("change",function(){this.shadeWidget.changeShade.call(this.shadeWidget);if(PEnvironment.pageName=="widget"&&map.widgetRankingsOn){refreshWidgetRankings()}var mo=map.mapOptions;if(mo&&mo.isCurrentOn()){mo.showLayerForCurrentView()}});this.current_shade=this.shade_by;this.eventTypes=new Object;this.eventTypes.change="change";this.eventManager=new PEventManager};PIndicatorShadeWidget.prototype={addListener:function(eventId,f,c){this.eventManager.addListener(eventId,f,c)},clear:function(){this.shade_by.empty();this.elm.find("#source").empty().removeAttr("href")},changeShade:function(){var options=this.shade_by.find("option");var id=this.shade_by.find(":selected").attr("id");var useLockOption=false;if(PEnvironment.pageName=="widget")useLockOption=true;this.eventManager.triggerListeners(this.eventTypes.change,id,useLockOption)},update:function(shadeInfo){this.elm.find("#source").html(shadeInfo.indicator.getSourceList(true,true));if(shadeInfo.shadeString){this.current_shade=this.current_shade.replaceWith(shadeInfo.shadeString)}else if(this.showShadeByAsString){this.shade_by.html(map.getLegend().getCurrentPlaceType().getName())}else{var shadeItems=shadeInfo.shadeItems;this.shade_by.empty();for(var i=0;i<shadeItems.length;i++){var shadeItem=shadeItems[i];var option=document.createElement("option");option.id=shadeItem.typeId;option.selected=shadeItem.selected;option.innerHTML=shadeItem.name;option.defaultSelected=shadeItem.defaultSelected;this.shade_by.append(option)}if(this.current_shade!=this.shade_by){this.current_shade=this.current_shade.replaceWith(this.shade_by);this.shade_by.hide();this.shade_by.fadeIn("slow")}}},enable:function(){this.elm.find("a").unbind("click")},disable:function(){this.elm.find("a").click(function(){return false})}};PIndicatorInfoWidget=function($elem,opts){this.jElms=[];this.jElms[0]=$elem.find(".legend__title__content");this.$source=$elem.find(".legend__title__source__content");this.defaultText="Add data layer to map from data menus above.";this.noIndex=false;if(opts){if(opts.defaultText){this.defaultText=opts.defaultText}if(opts.noIndex){this.noIndex=opts.noIndex}}};PIndicatorInfoWidget.prototype={clear:function(){for(var i=0;i<this.jElms.length;i++){if(_.isNumber(this.index)&&!this.noIndex){this.jElms[i].html(this.index+1+". ");this.jElms[i].append(this.defaultText)}else{this.jElms[i].html(this.defaultText)}}this.$source.empty()},update:function(ind){var that=this;function toggleLegendDetails($legend){var index=that.index;var $editButton=legendMerger.indicatorLegends[index].editButton;if($editButton.hasClass("is-active")){$editButton.click()}$legend.find(".legend__title__source").toggleClass("disable_pointer");$legend.find(".legend__edit-button__container").toggleClass("disable_pointer");$legend.find(".legend__indicators--analytics").hide();$legend.find(".legend_container").toggle()}if(ind){var that=this;_.each(this.jElms,function(indicatorContent){var $indicatorContent=$(indicatorContent);var isMinimized=$indicatorContent.hasClass("is-minimized");var $toggleIcon=$('<span class="legend__toggle-icon l-hide-text" title="Minimize Indicator"><a>Minimize Indicator</a></span>');if(isMinimized){$toggleIcon.addClass("is-minimized")}$toggleIcon.click(function(){var $self=$(this);var $legend=$self.parents(".legend__content");$self.toggleClass("is-minimized");$indicatorContent.toggleClass("is-minimized");toggleLegendDetails($legend)});$indicatorContent.empty().append($toggleIcon,ind.getFullLabel());that.$source.html(ind.getSourceList(true))})}}};PRangeWidget=function(elm,options){this.elm=$(elm);options=options||new Object;this.min=options.min==null?0:options.min;this.max=options.max==null?100:options.max;this.unit=options.unit==null?"":options.unit;this.step=1;this.range=[this.min,this.max];this.rangeElms=this.elm.find("input");this.rangeElms[0].iControl=this;this.rangeElms[1].iControl=this;this.sliderElm=this.elm.find("#slider")[0];this.sliderElm.rangeWidget=this;this.sliderElm=$(this.sliderElm);this.rangeElmTimer;this.prevMinValue;this.prevMaxValue;this.eventTypes={update:"update"};this.eventManager=new PEventManager;this.initialized=false};PRangeWidget.prototype={init:function(){var self=this;var changeDelay=1500;var change=function(event){function changeRange(){clearTimeout(self.rangeElmTimer);self.rangeElmTimer=setTimeout(function(){rangeElem.iControl.setRange.call(rangeElem.iControl,range)},changeDelay)}var rangeElem=this;var range=rangeElem.iControl.getRange.call(rangeElem.iControl);if(event.keyCode===13){changeRange()}else if(self.prevMinValue!=PWebUtil.formatNumber(range[0],self.unit)||self.prevMaxValue!=PWebUtil.formatNumber(range[1],self.unit)){changeRange()}};$(this.rangeElms[0]).keyup(change);$(this.rangeElms[1]).keyup(change);var showFillBar=true;if(version)showFillBar=false;this.sliderElm.slider({range:showFillBar,min:this.min,max:this.max,step:this.step,values:this.range,slide:function(event,ui){this.rangeWidget.setRange.call(this.rangeWidget,ui.values,{noslide:true})},stop:function(){this.rangeWidget.updated.call(this.rangeWidget)}});this.initialized=true},addListener:function(eventId,f,c){this.eventManager.addListener(eventId,f,c)},disable:function(){this.sliderElm.slider("disable");this.elm.hide();this.rangeElms[0].value="";this.rangeElms[1].value=""},enable:function(){this.elm.show();if(this.initialized==false)this.init();this.sliderElm.slider("enable")},updateRange:function(rangeLimits,range,unit){this.min=rangeLimits[0];this.max=rangeLimits[1];this.sliderElm.slider("option","min",rangeLimits[0]);this.sliderElm.slider("option","max",rangeLimits[1]);var diff=this.max-this.min;this.step=diff>=this.sliderElm.parent().width()?1:diff/this.sliderElm.parent().width();this.sliderElm.slider("option","step",this.step);this.unit=unit;this.setRange(range,{update:false})},setRange:function(range,options){options=options||new Object;if(range[1]>this.max)range[1]=this.max;else if(range[1]<this.min)range[1]=this.min;if(range[0]<this.min)range[0]=this.min;else if(range[0]>this.max)range[0]=this.max;if(range[0]>range[1])range[0]=range[1];else if(range[1]<range[0])range[1]=range[0];this.range=range;this.prevMinValue=PWebUtil.formatNumber(range[0],this.unit);this.prevMaxValue=PWebUtil.formatNumber(range[1],this.unit);this.rangeElms[0].value=PWebUtil.formatNumber(range[0],this.unit);this.rangeElms[1].value=PWebUtil.formatNumber(range[1],this.unit);if(options.noslide!=true){this.sliderElm.slider("values",0,range[0]);this.sliderElm.slider("values",1,range[1]);if(options.update!=false)this.updated()}},getRange:function(){var range=new Array;range[0]=parseFloat(this.rangeElms[0].value.replace(/[^\d&^\.^-]/g,""));range[1]=parseFloat(this.rangeElms[1].value.replace(/[^\d&^\.^-]/g,""));if(_.isNaN(range[0])){range[0]=this.min}if(_.isNaN(range[1])){range[1]=this.max}return range},resetRange:function(){this.setRange([this.min,this.max],{update:false})},getElement:function(){return this.element},updated:function(){this.eventManager.triggerListeners(this.eventTypes.update,this.getRange())}};PValuesWidget=function(jContainer){this.elm=$(document.createElement("div"));jContainer.append(this.elm);this.eventTypes={update:"update"};this.eventManager=new PEventManager};PValuesWidget.prototype={clear:function(){this.elm.empty();this.values=null},refresh:function(values){this.values=values;var html="<table cellpadding=0 cellspacing=0 border=0>";var lblCheck="$(this).parent().find('input').attr('checked', !$(this).parent().find('input').attr('checked'));";for(var i=0;i<values.length;i++){html+='<tr><td><input type="checkbox" '+(values[i][1]?"checked":"")+'/></td><td class="labels">'+values[i][0]+"</td></tr>"}html+="</table>";this.elm.html(html);var self=this;this.elm.find("input").bind("change",function(){self.changed()});this.elm.find(".labels").bind("click",function(){$(this).parent().find("input").attr("checked",!$(this).parent().find("input").attr("checked"));self.changed()})},changed:function(){var checkboxes=this.elm.find("input[type=checkbox]");var len=checkboxes.length;for(var i=0;i<len&&i<this.values.length;i++)this.values[i][1]=checkboxes[i].checked?1:0;this.eventManager.triggerListeners(this.eventTypes.update,this.values)},enable:function(){this.elm.show()},disable:function(){this.elm.hide()},addListener:function(eventId,f,c){this.eventManager.addListener(eventId,f,c)}};PBreaksWidget=function(jContainer){this.elm=$(document.createElement("div"));jContainer.append(this.elm);this.showEditRangesLinks=true};PBreaksWidget.prototype={clear:function(){this.elm.empty()},refresh:function(breaks,incrementBreaks,numBreaks,colors,legend){var html="<div class='breakdown'>";if(this.showEditRangesLinks){html+="<div style='float: left'>";if(editState&(PIndicatorBreaks.EDITSTATE.currentlyEditing|PIndicatorBreaks.EDITSTATE.alreadyEdited))html+="<a href='#' class='editbreaks' onclick='widget.getIndicatorBreaks().restoreBreaks();return false;'>Restore Defaults</a>";else html+="<span class='editbreaks'>Restore Defaults</span>";html+="</div>";html+="<div style='float: right'>";if(editState&(PIndicatorBreaks.EDITSTATE.currentlyEditing|PIndicatorBreaks.EDITSTATE.noBoundaryType))html+="<span class='editbreaks'>Edit Ranges</span>";else{html+="<a href='#' class='editbreaks' onclick='displayEditRangesPanel();return false;'>Edit Ranges</a>"}html+="</div><br clear='both'><br>"}if(editState&PIndicatorBreaks.EDITSTATE.noBoundaryType)html+="<div style='color: #ff0000; font-size: 12px'><i>Zoom in further to see this data.</i></div>";else{html+="<table cellpadding=0 cellspacing=0 border=0>";if(editState&PIndicatorBreaks.EDITSTATE.noData)numBreaks+=1;var nodata=false;if(breaks==null||breaks[numBreaks-1]==null){html+="<tr><td><div style='color: #ff0000; font-size: 12px'><i>There is insufficient data to create the current ranges. Try a smaller number.</i><br><br></div></td></tr>"}else{var mvaLayers=session.get("mvalayers");for(var i=0;i<numBreaks;i++){var breaksString="";if(editState&PIndicatorBreaks.EDITSTATE.noData&&i==0){html+="<tr><td width=25 style='width: 25px; background-color: #"+colors[i]+"'>&nbsp;</td><td class='legend-bg-color'>";if(editState&PIndicatorBreaks.EDITSTATE.currentlyEditing&&editState&PIndicatorBreaks.EDITSTATE.exactBreaks){html+="<input id='breakbox0' class='breaksbox' type='checkbox' ";if(mvaLayers[0])html+="checked ";html+="/>&nbsp;"}if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){if(!(editState&PIndicatorBreaks.EDITSTATE.currentlyEditing)){if(mvaLayers[0])html+="</td><td colspan=3 style='color:#878787;padding-left:3px;'>";else html+="</td><td colspan=3 style='color:#d7d7d7;font-style:italic;padding-left:3px'>"}else html+="</td><td colspan=3 style='padding-left:3px'>"}else{html+="</td><td colspan=3 style='padding-left:3px;font-style:italic'>"}html+=legend.getIndicator().nodatalabel+"</td></tr>";nodata=true}else if(editState&PIndicatorBreaks.EDITSTATE.currentlyEditing){if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){html+="<tr><td width=25 style='width: 25px; background-color: #"+colors[i]+"'>&nbsp;</td>"+"<td class='legend-bg-color'><input id='breakbox"+i+"' class='breaksbox' type='checkbox' ";if(mvaLayers[i])html+="checked ";html+="/><td align='right' style='padding-left: 3px'>"+breaks[i]+"</td></tr>"}else{var startbreak;if(i==0||i==1&&nodata)startbreak=breaks[i];else startbreak=incrementBreaks[i];breaksString="<td align='right' style='padding-left: 3px'><input onchange='widget.getIndicatorBreaks().checkBreakBoxes(this.id)' id='breakbox"+i+"a' class='breaksbox' type='text' value='"+startbreak+"'></td><td width=20 align='center'>&ndash;</td><td align='right' style='padding-right: 3px'><input onchange='widget.getIndicatorBreaks().checkBreakBoxes(this.id)' id='breakbox"+i+"b' class='breaksbox' type='text' value='"+breaks[i+1]+"'></td>";html+="<tr><td width=25 style='width: 25px; border: 1px solid #ddd'>&nbsp;</td><td class='legend-bg-color'>&nbsp;</td>"+breaksString+"</tr>"}}else{if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){breaksString="<td colspan=3 align='center' style='padding-left:3px";if(mvaLayers[i])breaksString+=";color:#878787";else breaksString+=";color:#d7d7d7;font-style:italic";breaksString+="'>"+breaks[i]+"</td>"}else{if((i==0||i==1&&nodata)&&!legend.compareCustomBreaks(i,">")){breaksString="<td colspan='3' align='center' style='padding-left: 3px'>"+breaks[i+1]+" or less</td>"}else if(i==numBreaks-1&&!legend.compareCustomBreaks(i+1,"<"))breaksString="<td colspan='3' align='center' style='padding-left: 3px'>"+incrementBreaks[i]+" or more </td>";else{var startbreak;if(i==0||i==1&&nodata)startbreak=breaks[i];else startbreak=incrementBreaks[i];if(startbreak==breaks[i+1])breaksString="<td align='right' style='padding-left: 3px'>"+startbreak+"</td><td width=20 align='center'></td><td align='right' style='padding-right: 3px'></td>";else breaksString="<td align='right' style='padding-left: 3px'>"+startbreak+"</td><td width=20 align='center'>&ndash;</td><td align='right' style='padding-right: 3px'>"+breaks[i+1]+"</td>"}}html+="<tr><td width=25 style='width: 25px; background-color: #"+colors[i]+"'>&nbsp;</td><td class='legend-bg-color'>&nbsp;</td>"+breaksString+"</tr>"}html+="<tr><td colspan=4><div style='font-size:1px'>&nbsp;</div></td></tr>"}}html+="</table><div style='padding-bottom: 3px'>";if(!isWidgetOrEmbedMap()&&!isCBClone()){if(editState&PIndicatorBreaks.EDITSTATE.currentlyEditing){var cancelLink="<a href='#' class='editbreaks' onclick='widget.getIndicatorBreaks().setEditMode(false); return false;'>Cancel</a>";var applyLink="";var applyAllLink="";if(!(editState&PIndicatorBreaks.EDITSTATE.nonSubscriber)){applyLink="<a href='#' class='editbreaks' onclick='widget.getIndicatorBreaks().applyCustomBreaks(false); return false;'>Apply to Current Time Period</a>";applyAllLink="<a href='#' class='editbreaks' onclick='widget.getIndicatorBreaks().applyCustomBreaks(true); return false;'>Apply to All Time Periods</a>"}else{applyLink="<a href='#' class='editbreaks' onclick='widget.getIndicatorBreaks().setEditMode(false); return false;'>Apply to Current Time Period</a>";applyAllLink="<a href='#' class='editbreaks' onclick='widget.getIndicatorBreaks().setEditMode(false); return false;'>Apply to All Time Periods</a>"}html+="<div align='center' style='padding: 5px 0px'>"+applyLink+"<br />"+applyAllLink+"<br />"+cancelLink+"</div>"}if(!(editState&(PIndicatorBreaks.EDITSTATE.variableNotSupported|PIndicatorBreaks.EDITSTATE.preRendered|PIndicatorBreaks.EDITSTATE.currentlyEditing))&&!(editState&PIndicatorBreaks.EDITSTATE.exactBreaks)){html+='<br/><span>Map shaded in: </span> <select style="font-size:10px; color:#7a7a7a" onchange="handleCutPoints(this);">';for(var i=2;i<=8;i++){var option="<option value='"+i+"'";if(i==map.getLegend().getNumberOfBreaks())option+=" selected";option+=">"+i+"</option>";html+=option}html+="</select> ranges"}}html+="</div>";html+="</div>"}this.elm.html(html)},removeEditRangesLinks:function(){this.showEditRangesLinks=false},showEditRangesLinks:function(){this.showEditRangesLinks=true}};PIndicatorToggleWidget=function(elm){this.elm=elm;this.elm.show();this.years=elm.find("#indicator_years");this.quarters=elm.find("#indicator_quarters");this.months=elm.find("#indicator_months");this.indicators=elm.find("#indicators_additional");this.toggleButton=elm.find("#toggle_button");this.toggleButton.bind("click",function(){$(this).toggleClass("toggle_hide");$(this).siblings("#indicator_toggle").toggle()});this.listeners=[];if(isWidgetOrEmbedMap()||isCBClone()){this.periodsContainer=elm.find("#periods_container");this.variablesContainer=elm.find("#variable_container");this.indicatorToggle=elm.find("#indicator_toggle")}};PIndicatorToggleWidget.prototype={enable:function(){this.elm.show()},disable:function(){this.elm.hide()},clear:function(){var l=this.listeners.length;for(var i=0;i<l;i++)PEvent.removeListener(this.listeners[i]);this.listeners=[];this.years.empty();this.quarters.empty();this.months.empty();this.indicators.empty()},refresh:function(years,quarters,indicators,months){var yearToggleCount=0;for(var i=0;i<years.length;i++){var year=null;var params=getUrlParams();var disableTeasers=params["disableTeaserYears"];if(years[i].state&PIndicatorToggle.YEAR.selectedYear){year=document.createElement("span");year.className="yearselected";yearToggleCount++}else if(years[i].state&PIndicatorToggle.YEAR.availableYear){year=document.createElement("a");year.href="javascript:void(0)";for(var key in years[i].funcParams)year[key]=years[i].funcParams[key];this.listeners.push(PEvent.addListener(year,"click",years[i].func));yearToggleCount++}else if(years[i].state&PIndicatorToggle.YEAR.mustSubscribe&&!disableTeasers){year=document.createElement("a");year.href="javascript:void(0)";year.className="yearteaser";this.listeners.push(PEvent.addListener(year,"click",subscribeAlert));year.title="Subscriber Only";yearToggleCount++}else{year=document.createElement("span");year.className="notavail";year.title="Not Available"}if(years[i].state[i]&PIndicatorToggle.YEAR.projection)year.style.borderLeft="1px solid #ccc";year.innerHTML=years[i].value.slice(2);this.years.append(year)}var br=document.createElement("br");br.className="clear";this.years.append(br);var quartToggleCount=0;if(!quarters||quarters.length==0){this.elm.find("#quarters_container").hide()}else{for(var i=0;i<quarters.length;i++){var quarter=null;if(quarters[i].state&PIndicatorToggle.QUARTER.selectedQuarter){quarter=document.createElement("span");quarter.className="yearselected";quartToggleCount++}else if(quarters[i].state&PIndicatorToggle.QUARTER.availableQuarter){quarter=document.createElement("a");quarter.href="javascript:void(0)";for(var key in quarters[i].funcParams){quarter[key]=quarters[i].funcParams[key]}this.listeners.push(PEvent.addListener(quarter,"click",quarters[i].func));quartToggleCount++}else{quarter=document.createElement("span");quarter.className="notavail";quarter.title="Not Available"}quarter.innerHTML=quarters[i].value;this.quarters.append(quarter)}var br=document.createElement("br");br.className="clear";this.quarters.append(br);this.elm.find("#quarters_container").show()}var monthToggleCount=0;if(!months||months.length==0){this.elm.find("#months_container").hide()}else{for(var i=0;i<months.length;i++){var month=null;if(months[i].state&PIndicatorToggle.MONTH.selectedMonth){month=document.createElement("span");month.className="yearselected";monthToggleCount++}else if(months[i].state&PIndicatorToggle.MONTH.availableMonth){month=document.createElement("a");month.href="javascript:void(0)";for(var key in months[i].funcParams){month[key]=months[i].funcParams[key]}this.listeners.push(PEvent.addListener(month,"click",months[i].func));monthToggleCount++}else{month=document.createElement("span");month.className="notavail";month.title="Not Available"}month.innerHTML=months[i].value;this.months.append(month)
}var br=document.createElement("br");br.className="clear";this.months.append(br);this.elm.find("#months_container").show()}if(indicators&&indicators.length>0){for(var i=0;i<indicators.length;i++){var indicator=null;if(indicators[i].state&PIndicatorToggle.INDICATOR.selectedIndicator){indicator=document.createElement("span");indicator.className="yearselected";indicator.innerHTML=indicators[i].value;indicator.title=indicators[i].title}else{indicator=document.createElement("a");indicator.href="javascript:void(0)";indicator.innerHTML=indicators[i].value;indicator.title=indicators[i].title;for(var key in indicators[i].funcParams)indicator[key]=indicators[i].funcParams[key];this.listeners.push(PEvent.addListener(indicator,"click",indicators[i].func))}this.indicators.append(indicator)}var br=document.createElement("br");br.className="clear";this.indicators.append(br)}if(PEnvironment.pageName=="widget"||isCBClone()){if(yearToggleCount<=1){if(quartToggleCount<=1&&monthToggleCount<=1)this.hidePeriods()}else this.showPeriods();if(indicators&&indicators.length<=1)this.hideVariables();else this.showVariables()}},hidePeriods:function(){this.periodsContainer.hide();if(this.variablesContainer.css("display")=="none")this.indicatorToggle.hide()},showPeriods:function(){this.periodsContainer.show();this.indicatorToggle.show()},hideVariables:function(){this.variablesContainer.hide();if(this.periodsContainer.css("display")=="none")this.indicatorToggle.hide()},showVariables:function(){this.variablesContainer.show();this.indicatorToggle.show()}};function addMarkerWindow(html,place,zoom,noSiteLinks){if(!zoom){zoom=P.instances.map.getCurrentMapType().getScales().length-3}var point=null;if(PEnvironment.pageName=="report_area"){clearPolygons(map);if(place instanceof PPlace){map.setCenterBounds(place.getBounds());point=place.getBounds().getCenter();var polygons=place.getVertices();if(polygons&&currentReport.areaType!="custom")addPolygons(map,place);search.currentplace=place}else{search.currentplace=place;map.setCenter(place,zoom);point=place}map.openInfoWindow(point,html)}else{var addr=null;clearPolygons(map);if(place instanceof PPlace){if(place&&place.getIdentifier()=="US"){point=new PLatLng(P.constants.USA_LAT,P.constants.USA_LNG);map.setCenter(point,P.constants.USA_ZOOM)}else{map.setCenterBounds(place.getBounds());var centroid=place.getCentroid();if(centroid)point=centroid;else point=place.getBounds().getCenter()}map.closeInfoWindow();var polygons=place.getVertices();if(polygons)addPolygons(map,place);mapstates.currentplace=place;map.infoWindowType="place";map.openInfoWindow(point,html)}else{map.setCenter(place,zoom);point=place;mapstates.currentplace=null;addr=html.replace(/\<[^\>]+\>/g,"");var div=document.createElement("div");div.className="similarresults";div.innerHTML=html;if(!noSiteLinks){var link;if(PEnvironment.pageName=="dataloader"){link=generateCreateSimpleSiteLink(point.lat(),point.lng(),addr)}else{link=generatePointReportLink(null,null,addr)}div.appendChild(link)}if(PEnvironment.pageName!="embedmap_dyn"){var clear=document.createElement("a");clear.innerHTML="Clear Point";$(clear).css({marginTop:"3px",display:"block"});PEvent.addListener(clear,"mousedown",function(){session.remove("lng");session.remove("lat");session.remove("place");map.removeOverlay(map.currentAddressMarker);map.closeInfoWindow()});div.appendChild(clear)}html=div;map.infoWindowType="address";var marker=new PMarker(point,PIcon.PMap);map.addOverlay(marker);if(map.currentAddressMarker)map.removeOverlay(map.currentAddressMarker);map.currentAddressMarker=marker;marker.openInfoWindow(html);PEvent.addListener(marker,"click",function(){marker.openInfoWindow(html)})}if(mapstates&&PMapState)mapstates.add(new PMapState(map.getCenter(),map.getZoom(),map.getIndicator(),null,mapstates.currentplace,addr))}}function closeCubeWindow(){var c=document.getElementById("identifyContainer");if(c!=null&&(c.showsCube||c.isCustomOrPoly)){map.closeInfoWindow()}}function generatePointReportLink(lat,lng,address){var reportLinkHolder=document.createElement("div");if(isWidgetOrEmbedMap()||PEnvironment.pageName=="report_generate"||isCBClone())return reportLinkHolder;$(reportLinkHolder).addClass("point_report_link_holder");$(reportLinkHolder).addClass("info_extra_link");var reportLink=document.createElement("a");if(isSubscriber()){var url;if(address){reportLink.innerHTML="See Report";url="reports?area=radius&location="+address}else{reportLink.innerHTML="See Radius Report";url="reports?area=radius&lat="+lat+"&lng="+lng;var overlaySets=map.getOverlaySets();dids=[];dldids=[];for(var i=0;i<overlaySets.length;++i){if(overlaySets[i].id){if(overlaySets[i].type&&overlaySets[i].type=="dl"){dldids.push(overlaySets[i].id)}else{dids.push(overlaySets[i].id)}}}if(dids.length>0){url+="&did="+dids.join(",")}if(dldids.length>0){url+="&dldid="+dldids.join(",")}}PEvent.addListener(reportLink,"click",function(){setWindowLocation(url)},"mousedown")}else{reportLink.innerText="To see a report for the area around the address you've selected, susbcribe now.";PEvent.addListener(reportLink,"click",function(){setWindowLocation("/pricing.html")},"mousedown")}$(reportLinkHolder).append(reportLink);return reportLinkHolder}function generatePolygonTableLink(bid,pname,plat,plng){var tableLinkHolder=document.createElement("div");if(isWidgetOrEmbedMap())return tableLinkHolder;$(tableLinkHolder).addClass("polygon_table_link_holder");$(tableLinkHolder).addClass("info_extra_link");var tableLink=document.createElement("a");tableLink.innerHTML="See Table";PEvent.addListener(tableLink,"click",function(){if(map.getIndicator()){var indicator=map.getIndicator();var period=indicator.getPeriod();session.put("i",indicator.id);session.put("period",period)}session.remove("p");session.remove("place");session.put("bid",bid);session.put("pname",pname);session.put("plat",plat);session.put("plng",plng);setWindowLocation("/tables")},"mousedown");$(tableLinkHolder).append(tableLink);return tableLinkHolder}function generatePolygonReportLink(bid,polyid,pname,plat,plng,pid,rtype,submsg){var reportLinkHolder=document.createElement("div");if(isEmbedPage()||!isSubscriber()&&!submsg)return reportLinkHolder;$(reportLinkHolder).addClass("polygon_report_link_holder");$(reportLinkHolder).addClass("info_extra_link");var linkElems=[];var linksInfo={};if(isSubscriber()){if(isWidgetPage()){linksInfo=getWidgetPolyReportLinkInfo(polyid,rtype)}else{linksInfo=getPolyReportLinkInfo(polyid,rtype)}var links=linksInfo.links;if(linksInfo.page&&links&&links.length>0){for(var i=0;i<links.length;i++){var a=document.createElement("a");linkElems.push(a)}if(linksInfo.isHudReport){var noComps=function(elem){PEvent.addListener(elem,"click",function(){var text="No comparables were identified for this NSP Investment Cluster (NIC), so no report can be generated.";alerter.popup(text,"OK")},"mousedown")};ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=nic&act=n&nic="+pid,dataType:"json",success:function(response){if(response!=null&&response.nic!=null&&response.nic[pid]!=null&&response.nic[pid].comps!=null){if(response.nic[pid].comps.length>0){for(var i=0;i<links.length;i++){var linkinfo=links[i];var elem=linkElems[i];if(rtype=="polygon"){var txt=linkinfo.polygonOptionLabel}else if(rtype=="pradius"){continue;var txt="See Radius Report"}$(elem).html(txt);elem.info=linkinfo;PEvent.addListener(elem,"click",function(){var url=linksInfo.page+"?area="+rtype+"&bid="+bid+"&polyid="+polyid+"&pname="+encodeURIComponent(pname)+"&plat="+plat+"&plng="+plng+"&type="+this.info.reportType;if(PEnvironment.pageName=="widget"){url+="&sid="+getUrlParams().sid;window.open(url,"_blank")}else{setWindowLocation(url)}},"mousedown")}return}}noComps(elem)},error:function(){noComps(elem)}})}else{if(linksInfo.page=="report_area"){polycreator.polyload(bid,pname,plat,plng,function(places){for(var i=0;i<links.length;i++){var linkinfo=links[i];var elem=linkElems[i];var txt="";if(rtype=="polygon"){txt=linkinfo.polygonOptionLabel}else if(rtype=="pradius"){continue;txt="See Radius Report"}$(elem).html(txt);elem.info=linkinfo;var polyrad=getPolygonRadius(places[0]);var location=polyrad.lat+","+polyrad.lng;reportAreaParams="&location="+location+"&lat="+polyrad.lat+"&lng="+polyrad.lng+"&radius="+polyrad.size;PEvent.addListener(elem,"click",function(){setWindowLocation(linksInfo.page+"?area="+rtype+"&bid="+bid+"&polyid="+polyid+"&pname="+encodeURIComponent(pname)+"&plat="+plat+"&plng="+plng+"&type="+this.info.reportType+reportAreaParams)},"mousedown")}})}else{for(var i=0;i<links.length;i++){var linkinfo=links[i];var elem=linkElems[i];var txt="";if(rtype=="polygon"){txt=linkinfo.polygonOptionLabel}else if(rtype=="pradius"){continue;txt="See Radius Report"}$(elem).html(txt);elem.info=linkinfo;PEvent.addListener(elem,"click",function(){var type="";if(this.info.reportType){var type="&type="+this.info.reportType}var url=linksInfo.page+"?area="+rtype+"&bid="+bid+"&polyid="+polyid+"&pname="+encodeURIComponent(pname)+"&plat="+plat+"&plng="+plng+type;if(PEnvironment.pageName=="widget"){url+="&sid="+getUrlParams().sid;window.open(url,"_blank")}else if(this.info.reportType){window.open(url,"_blank")}else{setWindowLocation(url)}},"mousedown")}}}}}else if(submsg){var a=document.createElement("a");a.innerHTML="To see a report for this area, subscribe now.";PEvent.addListener(reportLink,"click",function(){setWindowLocation("/pricing.html")},"mousedown");linkElems.push(a)}var c=reportLinkHolder;var elems=linkElems;for(var i=0;i<elems.length;i++){$(c).append(elems[i]);if(i<elems.length){$(c).append("<br />")}}return c}function generatePolygonPointlistLinks(bid,pname,plat,plng){var pointlistLinkHolder=document.createElement("div");var overlays=map.getOverlaySets();if(isEmbedPage()||overlays.length==0)return pointlistLinkHolder;if(isWidgetPage()){if(!productProperty.getValue("show_see_list_bubble_option")){return pointlistLinkHolder}}$(pointlistLinkHolder).addClass("polygon_pointlist_link_holder");$(pointlistLinkHolder).addClass("info_extra_link");for(var i=0;i<overlays.length;i++){if(!overlays[i].id||overlays[i].isPoly)continue;$(pointlistLinkHolder).append(document.createElement("br"));var listLink=document.createElement("a");listLink.innerHTML="See List of "+overlays[i].getLabel();listLink.setid=overlays[i].id;listLink.settype=overlays[i].type;listLink.set=overlays[i];listLink.place=bid;PEvent.addListener(listLink,"click",function(){var that=this;polycreator.polyload(bid,pname,plat,plng,function(places){if(places[0]){var allowedStatus=isSeeListAllowed(places[0],that.set.id);if(allowedStatus!==true){alerter.popup(allowedStatus,"OK");return}showSiteListPopup(that.set,places[0])}})},"mousedown");$(pointlistLinkHolder).append(listLink);var img=document.createElement("img");img.src=overlays[i].icon.image;$(pointlistLinkHolder).append(" ");$(pointlistLinkHolder).append(img)}if(!pointlistLinkHolder.hasChildNodes())pointlistLinkHolder.style.display="none";return pointlistLinkHolder}function generatePolygonPolylistLinks(bid,pname,plat,plng,marker){var polylistLinkHolder=document.createElement("div");var overlays=map.getOverlaySets();if(isWidgetOrEmbedMap()||overlays.length==0)return polylistLinkHolder;var polygonSets=[];for(var i=0;i<overlays.length;i++){if(overlays[i].isPoly){polygonSets.push(i)}}if(polygonSets.length>0){$(polylistLinkHolder).addClass("polygon_polylist_link_holder");$(polylistLinkHolder).addClass("info_extra_link");var ignoreList=[93400,96500,99150,103450,107e3,109200,112e3,114250,118150,121400,121550];for(i=0;i<polygonSets.length;i++){var ignore=false;for(var j=0;j<ignoreList.length;j++){if(marker.datasetID==ignoreList[j]&&ignoreList[j]==overlays[polygonSets[i]].id){ignore=true}}if(ignore)continue;$(polylistLinkHolder).append(document.createElement("br"));var listLink=document.createElement("a");listLink.innerHTML="See List of "+overlays[polygonSets[i]].getLabel()+" polygons";listLink.set=overlays[polygonSets[i]];PEvent.addListener(listLink,"click",function(){var that=this;polycreator.polyload(bid,pname,plat,plng,function(places){if(places[0]){var allowedStatus=isSeeListAllowed(places[0],that.set.id);if(allowedStatus!==true){alerter.popup(allowedStatus,"OK");return}showSiteListPopup(that.set,places[0])}})},"mousedown");$(polylistLinkHolder).append(listLink);var img=document.createElement("img");img.src=overlays[polygonSets[i]].icon.image;$(polylistLinkHolder).append(" ");$(polylistLinkHolder).append(img)}}if(!polylistLinkHolder.hasChildNodes())polylistLinkHolder.style.display="none";return polylistLinkHolder}function createPlacesDiv(candidatePlaces,searchString){if(isCBClone()){return createPlacesDivCB(candidatePlaces,searchString)}if(PEnvironment.pageName=="report_area"){var places=[];if(searchString){for(var i=0;i<candidatePlaces.length;++i){if(candidatePlaces[i].getLabel().toLowerCase().indexOf(searchString.toLowerCase())==0){places.push(candidatePlaces[i])}}for(var i=0;i<candidatePlaces.length;++i){if(candidatePlaces[i].getLabel().toLowerCase().indexOf(searchString.toLowerCase())!=0){places.push(candidatePlaces[i])}}}else{places=candidatePlaces}var l=similarClicks.length;for(var i=0;i<l;i++)PEvent.removeListener(similarClicks[i]);similarClicks=[];html=document.createElement("div");html.style.fontSize="11px";var title=document.createElement("div");var displayDefinition=boundaryMatrix.getDisplayNameForDefinitionId(places[0].getDefinitionId());title.innerHTML=places[0].getLabel()+getState(places[0])+" ("+displayDefinition+")";html.appendChild(title);if(places.length>1){var similar=document.createElement("div");similar.innerHTML="<br><b>Similar results:</b><br>";html.appendChild(similar);for(var i=1;i<places.length;i++){var anchor=document.createElement("a");anchor.href="javascript:void(0)";anchor.innerHTML=places[i].getLabel()+getState(places[i])+" ("+places[i].getType().getName()+")";anchor.place=places[i];similarClicks.push(PEvent.addListener(anchor,"click",function(){var title="<div style='font-size: 11px'>"+this.place.getLabel()+" ("+this.place.getType().getName()+")</div>";addMarkerWindow(title,this.place)}));html.appendChild(anchor);html.appendChild(document.createElement("br"))}}return html}else if(PEnvironment.pageName=="tables"){var l=similarClicks.length;for(var i=0;i<l;i++){PEvent.removeListener(similarClicks[i])}similarClicks=[];var html=$("<div />");var title=$("<div />");title.addClass("similarTitle");title.text("Location Added:");var similar=$("<div />");similar.text(candidatePlaces[0].getLabel()+getState(candidatePlaces[0])+" ("+candidatePlaces[0].getType().getName()+")");html.append(title,similar);if(candidatePlaces.length>1){title=$("<div />");title.addClass("similarTitle");title.text("Similar Results:");html.append($("<br />"),title);for(var i=1;i<candidatePlaces.length;i++){var curPlace=candidatePlaces[i];similar=$("<a />");similar.addClass("tableLink");similar.text(curPlace.getLabel()+getState(curPlace)+" ("+curPlace.getType().getName()+")");similar.attr("placeid",curPlace.id);similarClicks.push(PEvent.addListener(similar[0],"click",function(){addPlaceType($(this).attr("placeid"))}));html.append(similar,$("<br />"))}}return html[0]}else{var places=[];if(searchString){for(var i=0;i<candidatePlaces.length;++i){if(candidatePlaces[i].getLabel().toLowerCase().indexOf(searchString.toLowerCase())==0){places.push(candidatePlaces[i])}}for(var i=0;i<candidatePlaces.length;++i){if(candidatePlaces[i].getLabel().toLowerCase().indexOf(searchString.toLowerCase())!=0){places.push(candidatePlaces[i])}}}else{places=candidatePlaces}var l=similarClicks.length;for(var i=0;i<l;i++)PEvent.removeListener(similarClicks[i]);similarClicks=[];html=document.createElement("div");html.className="similarresults";var title=document.createElement("div");var displayDefinition=boundaryMatrix.getDisplayNameForDefinitionId(places[0].getDefinitionId());title.innerHTML=places[0].getLabel()+getState(places[0])+" ("+displayDefinition+")";html.appendChild(title);if(places.length>1){var similar=document.createElement("div");similar.innerHTML="<br><b>Similar Results:</b><br>";html.appendChild(similar);for(var i=1;i<places.length;i++){var placelink=document.createElement("span");placelink.className="similar-link";placelink.style.color="#5D83D0";placelink.textDecoration="underline";placelink.innerHTML=places[i].getLabel()+getState(places[i])+" ("+boundaryMatrix.getDisplayNameForDefinitionId(places[i].getDefinitionId())+")";var p=places[i];placelink.place=p;similarClicks.push(PEvent.addListener(placelink,"mouseup",function(){selectLoadedPlace(this.place,true)}));html.appendChild(placelink);html.appendChild(document.createElement("br"))}}map.saveInfoWindow=true;map.infoWindowType="place";return html}}function addPolygons(map,place,fill,color){if(color){polycolor=color}if(PEnvironment.pageName=="widget"){refreshWidgetRankings(place);if(PEnvironment.widgetParams&&(PEnvironment.widgetParams["sid"]==61||PEnvironment.widgetParams["sid"]==117)){polycolor="#000000"}}map.polygons=new Array;var polygons=place.getVertices();var p=function(polygons){for(var i=0;i<polygons.length;i++){var polygon;if(PEnvironment.pageName=="report_area"){polygon=new PPolyline(polygons[i],polycolor)}else if(PEnvironment.pageName=="report_generate"&&currentReport&&currentReport.reportType!="hud"){polygon=new PPolygon(polygons[i],polycolor,polyweight,polyopacity,polyfill)}else{if(fill){polygon=new PPolygon(polygons[i])}else{polygon=new PPolyline(polygons[i],polycolor)}}map.addOverlay(polygon);map.polygons.push(polygon)}};if(polygons==null){var f=function(places){var polygons=places[0].getVertices();p(polygons)};placeLoader.load([place.id],f)}else{p(polygons)}}function addPolylines(map,verts,opts){if(opts&&opts.color)reportpolygoncolor=opts.color;for(var i=0;i<verts.length;i++){var polyline=new PPolyline(verts[i],reportpolygoncolor,3);map.addOverlay(polyline)}}function clearPolygons(map){var polys=map.polygons;if(polys){for(var i=polys.length;i>=0;i--){map.removeOverlay(polys[i])}}}function createTitle(state,title){var text="";if(title&&state.indicator&&state.indicator.getFullDisplayName()){addDetailsButton();text=state.indicator.getFullDisplayName()}else if(state.indicator){text=state.indicator.displayName}if(!title){if(text&&text.length>0)text+=", ";if(state.addr)text+=state.addr;else if(state.place){text+=state.place.getLabel();if(state.place.getType()==PPlaceType.COUNTY)text+=" County";text+=getState(state.place)}}return text}function createTitleForWidgetAndEmbedMap(indicator,sets){var text="";if(indicator&&indicator.getFullDisplayName()){addDetailsButton();text=indicator.getFullDisplayName()}else if(indicator){text=indicator.displayName}else if(sets){text=createSitesMapTitle(sets)}return text}function updateDetailsButton(isOn){if(isCBClone()){updateDetailsButtonCB(isOn);return}if(isOn){$("#moreimg").attr({src:"/images/home-maptitle-button-close.png"})}else{$("#moreimg").attr({src:"/images/home-maptitle-button-details.png"})}}function addDetailsButton(){$("#morelink").show();if(isCBClone()){addDetailsButtonCB();return}if($("#morelink").hasClass("on")){$("#moreimg").attr({src:"/images/home-maptitle-button-close.png"})}else{$("#moreimg").attr({src:"/images/home-maptitle-button-details.png"})}}function createSitesMapTitle(sets){if(!sets)sets=map.getOverlaySets();var text="";for(var i=0;i<sets.length;i++){var a="";if(sets.length>1&&i!=0){a=", ";if(i==sets.length-1){if(i>1)a=", and ";else a=" and "}}text+=a+sets[i].getLabel()}return text}function mapOptions(elem,showCurrent){if(jQuery("#mapOptionsToggle").hasClass("disable")){var text="The map options are not available while assembling a custom region.";alerter.popup(text,"OK");return}if(showCurrent){var mo=map.mapOptions;if(mo.isCurrentOn()){mo.cancelShowLayerForCurrentView()}else{mo.showLayerForCurrentView()}}else{$("#optsbox").toggle()}}function changeSaveMapName(anchor){anchor.parentNode.parentNode.getElementsByTagName("input")[0].style.display="block";anchor.parentNode.parentNode.childNodes[0].style.display="none"}function createDivMapMessage(content,width,height){return alerter.popup(content)}function genMapJpgLink(template,identifyNotAllowed){var mapImageUrlTokens=map.printImage().split("?");if(mapImageUrlTokens.length==2){var indicator=map.getIndicator();var legendMerger=map.getLegendMerger();var title="";var description="";if(indicator){title="&title="+escape(indicator.getFullDisplayName());description="&desc="+escape(indicator.getDescription())}else if(legendMerger){title="&title=";descriptions="&desc="}var iData="";if(!identifyNotAllowed){var infoWindow=map.getInfoWindow();if(infoWindow&&infoWindow.isHidden()==false){var iPoint=infoWindow.getPoint();iData="&inflat="+escape(iPoint.lat());iData+="&inflong="+escape(iPoint.lng());var iContent=infoWindow.tabs[infoWindow.selectedTab].content;if(iContent.parentNode)iContent=iContent.parentNode.innerHTML;iData+="&infcont="+escape(iContent)}}var indId="";var period="";var dataType="";var data="";var additionalData="";var color="";var visible="";var dataSize="";var additionalDataSize="";var source="";var boundary="";var defYear="";var orientation="";var expanded="&ex=0";var breadcrumbsString="&bc="+escape(jQuery("div#breadcrumbs").text().split(">").join(" > "));orientation="&or="+printOrientation;if($("#addsites_widget")[0]&&$("#addsites_widget")[0].style.display=="none")expanded="&ex=1";if(indicator){boundary="&bdnm="+escape(map.getLegend().getBoundaryType().getName());var checkDefYear=boundaryMatrix.getDisplayYearForDefinitionId(map.getLegend().getCurrentBoundaryDefinitionId());if(checkDefYear!=null){defYear="&bdyr="+escape(checkDefYear)}source="&src="+escape(indicator.getSourceList());indId="&ind="+indicator.getID();period="&p="+indicator.getPeriod();dataType="&dt="+escape(widget.getMeasurementLabel(indicator).replace("&nbsp;",""));if(isWidgetPage()){var table=$("#legend").find("table");var trs=table.find("tr:even");dataSize="&ds="+trs.size();trs.each(function(i){var tds=jQuery(this).children("td:even");if(tds.eq(1).text()&&tds.eq(2).text()){data+="&d_"+i+"="+escape(tds.eq(1).text()+" - "+tds.eq(2).text())}else if(tds.eq(1).text()){data+="&d_"+i+"="+escape(tds.eq(1).text())}var rgb=/^rgb\((.*)\)/.exec(tds.eq(0).css("background-color"));if(rgb&&rgb.length>0){color+="&c_"+i+"="+escape(rgb[1])}});var span=table.next().find("span");additionalDataSize="&ads="+span.size();span.each(function(i){additionalData+="&ad_"+i+"="+escape(jQuery(this).text()+jQuery(this).get(0).nextSibling.data)})}else{var legendItems=$(".legend__breakdown__container").find(".legend__breakdown__item");dataSize="&ds="+legendItems.size();legendItems.each(function(i){var curItem=$(this);if(curItem.find("span.legend__breakdown__label").length>0){data+="&d_"+i+"="+encodeURIComponent(curItem.find("span.legend__breakdown__label").text())}else if(curItem.find("div.legend__breakdown__range").length>0){var rangeItems=curItem.find("div.legend__breakdown__range");data+="&d_"+i+"="+encodeURIComponent(rangeItems.find("span.legend__breakdown__left-range").text()+" - "+rangeItems.find("span.legend__breakdown__right-range").text())}var rgb=/^rgb\((.*)\)/.exec(curItem.find("div.legend__breakdown__color").css("background-color"));if(rgb&&rgb.length>0){color+="&c_"+i+"="+escape(rgb[1])}else{rgb=/^(#[a-fA-F0-9]{3,6})/.exec(curItem.find("div.legend__breakdown__color").css("background-color"));if(rgb&&rgb.length>0){color+="&c_"+i+"="+escape(rgb[1])}}if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){mvaLayers=session.get("mvalayers");visible+="&v_"+i+"="+mvaLayers[i]}})}}var addSitesIcons="";var addSitesLabels="";var addSitesSources="";var osets=map.getOverlaySets(false,true);var addSitesSize="&ass="+osets.length;var curNum=0;for(var i=0;i<osets.length;i++){if(!osets[i].id||osets[i].child){continue}if(osets[i].icon){addSitesIcons+="&asi_"+curNum+"="+encodeURIComponent(filenameFromURL(osets[i].icon.image))}if(osets[i].id==massTransitSetId){addSitesLabels+="&asl_"+curNum+"="+encodeURIComponent("Mass Transit Lines");addSitesLabels+="&asa_"+curNum+"="+encodeURIComponent("Urban Mapping, Inc.")}else{addSitesLabels+="&asl_"+curNum+"="+encodeURIComponent(osets[i].name)}if(osets[i].filtersbyicons.length>0){var filterGroups=osets[i].getFilters();if(filterGroups[0]){addSitesLabels+="&asl_"+curNum+"_"+"0"+"="+encodeURIComponent(filterGroups[0].name);for(var m=0;m<osets[i].filtersbyicons.length;m++){addSitesIcons+="&asi_"+curNum+"_"+"0"+"_"+m+"="+encodeURIComponent(filenameFromURL(osets[i].filtericons[m].image));addSitesLabels+="&asl_"+curNum+"_"+"0"+"_"+m+"="+encodeURIComponent(osets[i].filtersbyicons[m].valuesDisplay)}}}else{var filterGroups=osets[i].filtergroups;var k=0;for(group in filterGroups){if(!group.match("_HIDE")){addSitesLabels+="&asl_"+curNum+"_"+k+"="+group;var groupFilters=filterGroups[group];for(var m=0;m<groupFilters.length;m++){addSitesLabels+="&asl_"+curNum+"_"+k+"_"+m+"="+encodeURIComponent(groupFilters[m].valuesDisplay)}}k++}}var psource=osets[i].sources;var sourceString=null;if(psource.length>0){sourceString="";for(var j=0;j<psource.length;j++){sourceString+=psource[j].label;if(j<psource.length-1)sourceString+=", "}encodeURIComponent(filenameFromURL(sourceString))}if(sourceString){addSitesSources+="&asa_"+curNum+"="+sourceString}curNum++}var placeId="";var address="";var boundaryOutline="";if(session.get("place")){address="&a="+escape(session.get("place"));if(session.get("lng")&&session.get("lat")){address+="&ax="+escape(session.get("lng"))+"&ay="+escape(session.get("lat"))}else{address+="&ax="+escape(map.getCenter().longitude)+"&ay="+escape(map.getCenter().latitude)}}if(session.get("p"))placeId="&pid="+session.get("p");var customPlaces="";if(session.get("cp")){customPlaces+="&cp="+session.get("cp").join(",")}if(islandPrintEnabled==true){boundaryOutline="&bo=custom"}else{boundaryOutline="&bo=all"}var labels="";var labelParms=labelManager.generateMapLabelArguments(true);for(var i=0;i<labelParms.length;i++){labels+="&"+labelParms[i]}var mergedLegendData="";if(legendMerger){var indLegend=null;var cnt=0;for(var i=0;indLegend=legendMerger.getLegend(i);i++){var ind=indLegend.getIndicator();if(ind){mergedLegendData+="&mlabel_"+cnt+"="+escape(ind.getFullLabel());mergedLegendData+="&mbdnm_"+cnt+"="+escape(indLegend.legend.getBoundaryType().getName());var checkDefYear=boundaryMatrix.getDisplayYearForDefinitionId(indLegend.legend.getCurrentBoundaryDefinitionId());if(checkDefYear!=null){mergedLegendData+="&mbdyr_"+cnt+"="+escape(checkDefYear)}mergedLegendData+="&msrc_"+cnt+"="+escape(ind.getSourceList());mergedLegendData+="&mp_"+cnt+"="+escape(ind.getPeriod());if(indLegend.getMeasurementLabel(ind)){mergedLegendData+="&mdt_"+cnt+"="+escape(indLegend.getMeasurementLabel(ind).replace("&nbsp;",""))}var range=indLegend.getIndicatorRange().getRange();var values=indLegend.getIndicatorValues().getValues();if(range){mergedLegendData+="&mr0_"+cnt+"="+escape(PWebUtil.formatNumber(range[0],ind.unit));mergedLegendData+="&mr1_"+cnt+"="+escape(PWebUtil.formatNumber(range[1],ind.unit));var limits=indLegend.getIndicatorRange().getLimits();mergedLegendData+="&mrmin_"+cnt+"="+escape(limits[0]);mergedLegendData+="&mrmax_"+cnt+"="+escape(limits[1])}if(values){mergedLegendData+="&mv"+cnt+"="+escape(MochiKit.Base.serializeJSON(values))}cnt++}mergedLegendData+="&ms="+cnt}}var newTarget="http://"+printTemplate+"/";if(template){newTarget="http://"+template+"/"}var widgetparams="";if(PEnvironment.pageName=="widget"){if(map.widgetRankingsOn&&P.instances.rRanks!=null&&$("#popup").is(":visible")){widgetparams+="&wri="+encodeURIComponent(P.instances.rRanks.ind.getID());widgetparams+="&wrper="+encodeURIComponent(P.instances.rRanks.period);widgetparams+="&wrp="+encodeURIComponent(P.instances.rRanks.place.getID());widgetparams+="&wrpt="+encodeURIComponent(P.instances.rRanks.place.getType().getPluralName());widgetparams+="&wrd="+encodeURIComponent(P.instances.rRanks.ind.fullDisplayNames[P.instances.rRanks.ind.curPerIndex])}}var url=newTarget+"?"+mapImageUrlTokens[1]+title+orientation+expanded+boundary+defYear+source+indId+period+dataType+dataSize+data+color+visible+mergedLegendData+additionalDataSize+additionalData+addSitesSize+addSitesLabels+addSitesIcons+addSitesSources+labels+placeId+customPlaces+address+boundaryOutline+widgetparams+breadcrumbsString+description+iData;return url}else{customAlert("Please display a map.")}return null}function customAlert(text){alerter.popup(text,"OK")}function registerAlert(){var text="Available to registered users and subscribers only. <a onclick='loginAlert(this)' class='pagelinks'>Login</a> to access, or see <a href='/pricing.html' class='pagelinks'>subscriber options</a>.";alerter.popup(text,"OK")}function premiumSubscribeAlert(){var text="Currently, this data is only available to selected users.";alerter.popup(text,"OK")}function requestMapEmbedding(){var mapImageUrlTokens=map.printImage().split("?");if(mapImageUrlTokens.length<=1){return}genericAlertDialog({template:"embed"})}function resetMap(){map.mapOptions.setToDefault();map.getLegend().setNumberOfBreaks(DEFAULT_NUMBREAKS);if(widget)widget.clear();clearLocation();if(polycreator){polycreator.reset();if(polycreator.isBuildOn())toggleCustomRegion()}map.clearOverlays();map.clearOverlaySets();if(sitelegends){sitelegends.refresh()}if(labelManager){labelManager.resetLabelManager()}if(datasetSearch){datasetSearch.reset()}if(map.getInfoWindow())map.closeInfoWindow();map.setCenter(new PLatLng(getDefaultMapLat(),getDefaultMapLng()),getDefaultMapZoom());session.remove("curZoom");$("#moretitle").hide(200);resetDetailsButton();search.reset();session.removeAllRelevant()}function clearMapData(){widget.clear();session.remove("i")}function clearLocationAlert(){var text="";var place=null;if(PEnvironment.pageName=="widget"&&textOnlyIsOn){if(cube.places&&cube.places[0]){place=cube.places[0]}}else if(mapstates.currentplace&&mapstates.currentplace.getType()){place=mapstates.currentplace}if(polycreator.customPlacesCount>0)var customplaces=polycreator.customPlaces;if(place||customplaces){if(place){text="Are you sure you want to clear the location currently displayed - <b>"+place.getLabel()+getState(place)+" ("+place.getType().getName()+"</b>)?"}if(place&&customplaces){text+="<br /><br />This will also clear the custom regions currently displayed."}else if(customplaces){text="Are you sure you want to clear the custom regions currently displayed?"}alerter.popup(text,"No","Yes",clearLocation)}else{if(PEnvironment.pageName=="widget"){text="There is currently no location specified. You can do this by entering one in the search bar."}else if(isCBClone()){text="There is currently no location specified. You can select a location by entering one in the search bar."}else{text="There is currently no location specified. You can do this by entering one in the search bar or building a custom region (subscribers only)."}alerter.popup(text,"OK")}}function clearLocation(){if(map.polygons){for(var i=0;i<map.polygons.length;i++){map.removeOverlay(map.polygons[i])}map.polygons=[]}if(map.getInfoWindow())map.closeInfoWindow();session.remove("legendind");session.remove("cp");if(polycreator){var customplaces=polycreator.customPlaces;for(var i in customplaces){polycreator.removeCustomRegionFromMap(customplaces[i].place)}if(!isWidgetPage()&&!isCBClone){polycreator.resetPlaces();if(polycreator.assembleInfoWidget){polycreator.assembleInfoWidget.clear()}if(!polycreator.customRegionsOn()){polycreator.clearPolygonsWithin();polycreator.clearBuildingOverlays()}}}custom_place=null;clearPlaceFromSessionAndOtherVariables();if(PEnvironment.pageName=="widget"&&textOnlyIsOn){cube.remove(cube.places[0]);jQuery("#similarbox").html("")}}function clearPlaceFromSessionAndOtherVariables(){session.remove("p");session.remove("pLabel");session.remove("place");mapstates.currentplace=initialplace;global_places=[]}function isCustomRegionOn(){var $customRegionButton;if(PEnvironment.pageName==="widget"){var params=getUrlParams();$customRegionButton=$("#widget-custom-region-build-button");return params["crbuilder"]&&$customRegionButton.length&&$customRegionButton.text().toLowerCase()!=="build custom region"
}else{$customRegionButton=$(".custom-regions__create");return $customRegionButton.length&&$customRegionButton.text().toLowerCase()!=="create"}}function buildRegionAlert(custreg){var text="To create a custom region, click a spot on the map, move your mouse to another spot and click, and continue until you close the region by clicking on the first point.   At that point you may name the region and save it to "+dnf.getName("myPolicyMap")+". To clear a custom region, click Clear Location and to disable this feature, click Disable Custom Region.";function f(){custreg.innerHTML="Disable Custom Region";map.enablePolyCreator(polycreator)}alerter.popup(text,null,"OK",f)}function toggleIndicatorDescription(){var more=document.getElementById("moretitle");var morelink=document.getElementById("morelink");if(!$(morelink).hasClass("on")){if(PEnvironment.pageName!="tables"){var ind=map.getIndicator();more.innerHTML=ind.getDescription();var sources=ind.getSources();if(sources.length>1){more.innerHTML+=" (See data directory for "+ind.getSourceList(true)+".)"}else if(sources.length==1){var sourceURL=ind.getSourceURL(sources[0]);if(sourceURL!=null){more.innerHTML+=" <a class='dataLink' target='_blank' href='"+sourceURL+"'>(see data directory)</a>"}}}jQuery("#moretitle").show(200);jQuery("#moretitle").fadeIn(200);updateDetailsButton(true)}else{jQuery("#moretitle").hide(200);updateDetailsButton()}$(morelink).toggleClass("on")}function showIndicatorDescriptionIfOn(ind){if(PEnvironment.pageName=="widget"){showIndicatorDescriptionIfOnForWidget(ind);return}var ind=map.getIndicator();if(typeof ind==="object"){var label=ind.getFullLabel();$(".content__header__content .title").text(label);var more=ind.getDescription();var sources=ind.getSources();if(sources.length>1){more+=" (See data directory for "+ind.getSourceList(true)+".)"}else if(sources.length===1){var sourceURL=ind.getSourceURL(sources[0]);if(sourceURL!==null){more+=" <a class='dataLink' target='_blank' href='"+sourceURL+"'>(see data directory)</a>"}}$(".content__header__addtional-info__content p").html(more);$(".content__header").removeClass("is-hidden")}else{$(".content__header").addClass("is-hidden")}$(window).resize()}function showColorOptions(){if(!isSubscriber()){subscribeAlert();return}if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){alerter.popup("Legend colors cannot be changed for categorical data.","OK");return}var rampsDiv=document.getElementById("colorRampsBox");if(rampsDiv.style.display=="none")$(rampsDiv).fadeIn(300);else $(rampsDiv).hide();if(rampsDiv.hasChildNodes())return;var arr=[];var ramps=PColorRampOptions;for(var i=0;i<ramps.order.length;i++){var name=ramps.order[i];if(ramps[name].excludeFromMenu)continue;arr.push(ramps[name])}for(var j=0;j<2;j++){var column=$("<div />");column.addClass("column");var count=0;for(var y=0;y<arr.length;y++){var nameDiv='<div class="name">'+arr[y].ramp.name+"</div>";$(column).append(nameDiv);var colors=arr[y].ramp.getColors();var colorsDiv=$("<div />");colorsDiv.addClass("colorRamps");for(var i=0;i<colors.length;i++){var div=document.createElement("div");div.className="color";div.style.background="#"+colors[i].color;div.name=arr[y].ramp.name;PEvent.addListener(div,"click",function(){widget.changeColorRamp(this.name)});colorsDiv.append(div)}column.append(colorsDiv);var d=$("<div />");d.css({clear:"both",padding:"2px"});column.append(d);count++;if(count==4){arr.splice(0,count);break}}$(rampsDiv).append(column)}var menuTimer=null;var clrcont=document.getElementById("colorRampsContainer");PEvent.addListener(clrcont,"mouseout",function(){menuTimer=setTimeout(function(){jQuery(rampsDiv).hide()},300)});PEvent.addListener(clrcont,"mouseover",function(){clearTimeout(menuTimer)})}function createSitesHtmlForLegend(){var site_containers=$(".site_container");var sitesDiv="";if(site_containers.length>0){sitesDiv='<div id="sitesLegendContainer"><h4>Sites</h4><div class="breakdown sites" style="padding-top: 0; color:#FFA800;">';for(var i=0;i<site_containers.length;i++){var siteLabel=$(site_containers[i]).find(".site_title");var siteImage=$(site_containers[i]).find(".site_image");sitesDiv+="<div>";sitesDiv+='<img src="'+$(siteImage[0]).attr("src")+'" /> ';sitesDiv+=$(siteLabel[0]).html();sitesDiv+="</div>";var filters=$(site_containers[i]).find(".filter_container");for(var j=0;j<filters.length;j++){var filter=$(filters[j]).find(".filter");if(filter.length>0){var filterType=$(filters[j]).find(".filter_type");var filterColors=$(filters[j]).find(".filter_colors");sitesDiv+='<div class="name">'+$(filter[0]).html()+"</div>";if(filterColors.length>0){for(var k=0;k<filterColors.length;k++){sitesDiv+='<div class="value">'+$(filterColors[k]).html()+"</div>"}}else{sitesDiv+='<div class="value">';for(var k=0;k<filterType.length;k++){if(k!=0)sitesDiv+=", ";sitesDiv+=$(filterType[k]).html()}sitesDiv+="</div>"}}}}sitesDiv+="</div></div>"}return sitesDiv}function toggleMapLegend(elem,hide){if(elem)jQuery(elem).toggleClass("hide");if(hide||elem&&jQuery(elem).hasClass("hide")){jQuery(".legContentHolder").css("display","none");jQuery(".legend_container").find("br").css("display","none");jQuery("#legend").find(".toggleText").html("Show Legend");jQuery("#onmaplegend").find(".toggleText").html("Show Legend");map.getLegend().isHidden=true}else{jQuery(".legContentHolder").css("display","block");jQuery(".legend_container").find("br").css("display","inline");jQuery("#legend").find(".toggleText").html("Hide Legend");jQuery("#onmaplegend").find(".toggleText").html("Hide Legend");map.getLegend().isHidden=false}}function resetMapAlert(){var text;if(PEnvironment.pageName=="report_area"){text="Are you sure you want to clear the location currently displayed?"}else{text="Are you sure you want to clear any data layers or points currently displayed and start over at the default view of the US?"}if(PEnvironment.pageName=="analytics"){alerter.popup(text,"No","Yes",resetAnalytics)}else if(PEnvironment.pageName=="widget"){alerter.popup(text,"No","Yes",resetWidget)}else if(PEnvironment.pageName=="report_area"){alerter.popup(text,"No","Yes",resetReportArea)}else if(PEnvironment.pageName=="tables"){alerter.popup(text,"No","Yes",resetTables)}else{alerter.popup(text,"No","Yes",resetMap)}}function getPolyReportLinkInfo(id,rtype){var linksInfo={};linksInfo.page="reports";linksInfo.links=[];info={};linksInfo.links.push(info);if(id==99800){info.polygonOptionLabel="See Brookings Institution LAA Report";info.reportType="brookingslaa"}else if(id==93400||id==96500||id==99150||id==103450||id==107e3||id==109200||id==112e3||id==114250||id==118150){if(rtype=="pradius"){linksInfo.page="report_area"}else{linksInfo.page="reports"}info.polygonOptionLabel="See M&T Bank Report";info.reportType="h"}else if(id==114550){linksInfo.isHudReport=true;info.polygonOptionLabel="See HUD NSP Neighborhood Change Report";linksInfo.page="reports";info.reportType="hud"}else if(id==114050){linksInfo.isWellsFargoReport=true;linksInfo.page="reports";info.polygonOptionLabel="See Demographics Change Report";info.reportType="wf_demographic";var info={};info.polygonOptionLabel="See Housing and Real Estate Change Report";info.reportType="wf_housing";linksInfo.links.push(info);var info={};info.polygonOptionLabel="See Education Change Report";info.reportType="wf_education";linksInfo.links.push(info);var info={};info.polygonOptionLabel="See Jobs and Economy Report";info.reportType="wf_jobseconomy";linksInfo.links.push(info)}else{info.polygonOptionLabel="See Polygon Report";info.reportType=""}return linksInfo}function getWidgetPolyReportLinkInfo(id,rtype){var linksInfo={};linksInfo.page="reports";linksInfo.links=[];if(id==114550){var info={};linksInfo.page="report_widget";linksInfo.isHudReport=true;info.polygonOptionLabel="See HUD NSP Neighborhood Change Report";info.reportType="hud";linksInfo.links.push(info)}else if(id==114050){var info={};linksInfo.isWellsFargoReport=true;linksInfo.page="report_widget";info.polygonOptionLabel="See Demographics Change Report";info.reportType="wf_demographic";linksInfo.links.push(info);linksInfo.isWellsFargoReport=true;linksInfo.page="report_widget";info.polygonOptionLabel="See Housing and Real Estate Report";info.reportType="wf_housing";linksInfo.links.push(info);linksInfo.isWellsFargoReport=true;linksInfo.page="report_widget";info.polygonOptionLabel="See Community Change Report – Education";info.reportType="wf_education";linksInfo.links.push(info)}return linksInfo}function isSupermarketIndicator(ind){var supermarketInds=[9845403,9845303,9845304,9845300,9845306,9845312];for(var i=0;i<supermarketInds.length;i++){if(ind.id==supermarketInds[i])return true}return false}function isSeeListAllowed(curPlace,datasetId){var datasetsToCheck=[86500,129600,130350];var checkDataset=false;for(var i=0;i<datasetsToCheck.length;i++){if(datasetsToCheck[i]==datasetId){checkDataset=true;break}}if(!checkDataset){return true}if(curPlace.isCustomOrPoly()){return"Lists of points for this dataset are not available for custom regions or polygons."}var curPlaceTypeId=curPlace.getType().id;var placeZoom;if(PEnvironment.pageName=="tables"){placeZoom=map.setCenterBoundsAndGetZoomLevelByViewPort(curPlace.getBounds(),1e3,600)}else{placeZoom=map.getBoundsZoomLevel(curPlace.getBounds())}if(curPlace.isCustomOrPoly()&&placeZoom<11){return"Lists of points for this dataset are only available for custom regions that are smaller."}else if(!curPlace.isCustomOrPoly()&&curPlaceTypeId!=15&&!isCensusTractTypeId(curPlaceTypeId)){return"Lists of points for this dataset are only available for census tracts and block groups."}else{return true}}function mapOptionsDisable(){var elem=jQuery("#mapOptionsToggle");elem.addClass("disable")}function mapOptionsEnable(){var elem=jQuery("#mapOptionsToggle");elem.removeClass("disable")}function showSiteListPopup(set,boundary){if(!isSubscriber()){subscribeAlert();return}var b=boundary;if(!b){b=P.instances.map.getBounds()}var seeListPopup=$("#seeListPopup");if(seeListPopup.length==0){var seeListPopup=$("<div />");seeListPopup.attr("id","seeListPopup");seeListPopup.addClass("chartContainer");seeListPopup.css({position:"absolute","z-index":71});seeListPopup.html('<div id="popup" class="popup"></div>');$("body").append(seeListPopup)}else{seeListPopup.show()}if($("#reportPins").length==0){var content=$("<div />");content.attr("id","reportPins");content.addClass("reportPlaces");content.html('<div id="smallTitle" class="smallTitle"></div>'+'<div id="bigTitle" class="bigTitle"></div>'+'<div id="tableContainer">'+'<div class="scrollTableContainer"></div>'+"</div>"+'<div class="pageNav">'+'<div class="pageLink">'+'<a onclick="P.instances.rPins.changePage(0);">&lt;&lt;</a>'+"</div>"+'<div class="pageLink">'+'<a onclick="P.instances.rPins.changePage(P.instances.rPins.currentPage - 1);">&lt;</a>'+"</div>"+'<div id="pageNums" class="pageNums"></div>'+'<div class="pageLink">'+'<a onclick="P.instances.rPins.changePage(P.instances.rPins.currentPage + 1);">&gt;</a>'+"</div>"+'<div class="pageLink">'+'<a onclick="P.instances.rPins.changePage();">&gt;&gt;</a>'+"</div>"+"</div>");$("body").append(content)}if(PEnvironment.pageName=="maps"||PEnvironment.pageName=="analytics"||PEnvironment.pageName=="widget"){var mapPos=$("#map").offset();var mapSize=[$("#map").height(),$("#map").width()];var containerHeight=Math.floor(mapSize[0]*.8);var containerWidth=Math.floor(mapSize[1]*.8);var containerTop=Math.floor((mapSize[0]-containerHeight)/2);var containerLeft=Math.floor((mapSize[1]-containerWidth)/2);seeListPopup.css({top:mapPos.top+containerTop+"px",left:mapPos.left+containerLeft+"px",height:containerHeight+"px",width:containerWidth+"px"})}if(P.instances.pagePopUp==null){P.instances.pagePopUp=new PopUp}if(P.instances.rPins==null){P.instances.rPins=new ReportPins}b.getMarkersWithin(set,function(markers){var count=0;if(!(markers[0]instanceof PMarker)){count=markers[0]}else if(markers[0]instanceof PMarker&&!markers[0].isPoly){count=markers.length}var label="";var typeid=null;var bid=null;var polyid=null;if(b instanceof PPlace){label=b.getLabel();typeid=b.getType().id;bid=b.id;polyid=b.polysetid}P.instances.rPins.loadWithSet(label,set,bid,"",count,null,typeid,polyid)})}function showValuesListPopup(boundary,ind,type,placesWithin){var b=boundary;if(!isSubscriber()){subscribeAlert();return}var seeListPopup=$("#seeListPopup");if(seeListPopup.length==0){var seeListPopup=$("<div />");seeListPopup.attr("id","seeListPopup");seeListPopup.addClass("chartContainer");seeListPopup.css({position:"absolute","z-index":71});seeListPopup.html('<div id="popup" class="popup"></div>');$("body").append(seeListPopup)}else{seeListPopup.show()}if($("#reportPlaces").length==0){var content=$("<div />");content.attr("id","reportPlaces");content.addClass("reportPlaces");content.html('<div id="smallTitle" class="smallTitle"></div>'+'<div id="bigTitle" class="bigTitle"></div>'+'<div id="tableContainer">'+'<div class="scrollTableContainer"></div>'+"</div>"+'<div class="pageNav">'+'<div class="pageLink">'+'<a onclick="P.instances.rPlaces.changePage(0);">&lt;&lt;</a>'+"</div>"+'<div class="pageLink">'+'<a onclick="P.instances.rPlaces.changePage(P.instances.rPlaces.currentPage - 1);">&lt;</a>'+"</div>"+'<div id="pageNums" class="pageNums"></div>'+'<div class="pageLink">'+'<a onclick="P.instances.rPlaces.changePage(P.instances.rPlaces.currentPage + 1);">&gt;</a>'+"</div>"+'<div class="pageLink">'+'<a onclick="P.instances.rPlaces.changePage();">&gt;&gt;</a>'+"</div>"+"</div>");$("body").append(content)}if(PEnvironment.pageName=="maps"||PEnvironment.pageName=="analytics"||PEnvironment.pageName=="widget"){var mapPos=$("#map").offset();var mapSize=[$("#map").height(),$("#map").width()];var containerHeight=Math.floor(mapSize[0]*.8);var containerWidth=Math.floor(mapSize[1]*.8);var containerTop=Math.floor((mapSize[0]-containerHeight)/2);var containerLeft=Math.floor((mapSize[1]-containerWidth)/2);seeListPopup.css({top:mapPos.top+containerTop+"px",left:mapPos.left+containerLeft+"px",height:containerHeight+"px",width:containerWidth+"px"})}if(P.instances.pagePopUp==null){P.instances.pagePopUp=new PopUp}if(P.instances.rPlaces==null){P.instances.rPlaces=new ReportPlaces}var boundaryType="";if(b.typeid==0){boundaryType="gbc"}else if(b.typeid==95){boundaryType="gbp"}var period=ind.getPeriod();P.instances.rPlaces.loadAfterLoadingIndicator(boundaryType,b.id,ind.getID(),type.getId(),period,b.getLabel(),50,placesWithin.length,ind,b)}function getCircle(miles,centerpoint){dist=miles*1609.344;var radiusX=centerpoint.moveBy("0 1N",dist);var radiusY=centerpoint.moveBy("90 1N",dist);var xRadiusMetres=radiusX.lat()-centerpoint.lat();var yRadiusMetres=radiusY.lng()-centerpoint.lng();var pointyeast=centerpoint.lng()+yRadiusMetres;var pointywest=centerpoint.lng()-yRadiusMetres;var pointxsouth=centerpoint.lat()-xRadiusMetres;var pointxnorth=centerpoint.lat()+xRadiusMetres;var sw=new PLatLng(pointxsouth,pointywest);var ne=new PLatLng(pointxnorth,pointyeast);circlepoints=[];for(var a=0;a<361;a+=5){var aRad=a*(Math.PI/180);var pointx=centerpoint.lat()+xRadiusMetres*Math.cos(aRad);var pointy=centerpoint.lng()+yRadiusMetres*Math.sin(aRad);var p=new PLatLng(pointx,pointy);circlepoints.push(p)}var cpoint=new PLatLngBounds(sw,ne);var obj={circlepoints:circlepoints,cpoint:cpoint};return obj}function drawRadius(miles,centerpoint){var c=getCircle(miles,centerpoint);var circlepoints=c.circlepoints;var cpoint=c.cpoint;map.removeOverlay(poly);poly=new PPolygon(circlepoints,polycolor,polyweight,polyopacity,polyfill);map.setCenterBounds(cpoint);map.addOverlay(poly);return poly}function setDefaultSubwayFilters(set,f){var filters=[];if(f){f=f["Line"];for(var i=0;i<f.length;i++){if(i==0)continue;filters.push(f[i])}var cfilter=f[0];var name=cfilter.name}else{filters=set.filtersbyicons;var name=set.filtersbyicons[0].name}set.permanentFilter=true;set.setFiltersByIcons(filters,set.colorcodes);set.filtergroups[name]=[];set.filtergroups[name].push(set.displayfiltergroups[name][0]);if(isCBClone()){if(set.id==125800){var id=overlaySetUtil.getFilterIds([set]);session.put("ofilters",id)}}}function isCultureBlocksSubwayDataset(set){if(set.id==125750||set.id==125800){return true}return false}function updateLegendPositionOnMap(){var $legends=$(".legend");$legends.css({top:"auto",left:"auto"})}function hasGlobalIndListBubble(){var r=false;if(typeof globalIndListBubble!="undefined"&&globalIndListBubble!=null){r=true}return r}function showInfoWindowFromUrl(params){if(!params){var params=getUrlParams()}if(params["iwtype"]){if(params["i"]&&!map.getIndicator()){return}else if(params["m0i"]&&!map.getLegendMerger().areAllIndicatorsOnMap()){return}else if(params["o"]&&map.getOverlaySets().length!=params["o"].split(",").length){return}else{PMIdentificationModule.showInfoWindow(params)}}}MapOptions=function(data){this.layersByName={};this.layersByDefId={};this.optionLayersByName={};this.data=data;var layers=this.data.layers;for(var k in layers){var v=layers[k];this[k]=new PMapLayer;this[k].constant=k;if(v.definition_id!=null){this[k].definition_id=v.definition_id;if(this.layersByDefId[v.definition_id]==null){this.layersByDefId[v.definition_id]=[]}this.layersByDefId[v.definition_id].push(this[k])}if(v.name!=null){this[k].name=v.name;this.layersByName[v.name]=this[k]}if(v.title!=null){this[k].title=v.title}if(v.min_scale!=null){this[k].minScale=v.min_scale}if(v.max_scale!=null){this[k].maxScale=v.max_scale}if(v.copyright!=null){this[k].addCopyright(copyrights[v.copyright])}}this.mapLayerLabels=[];for(var i=0;i<this.data.allOptionLayers.length;i++){var l=this.data.allOptionLayers[i];if(l.label_constant){this.mapLayerLabels[l.name]=this[l.label_constant]}this.optionLayersByName[l.name]=l}this.mapOptionsOn={};this.mapOptionsDefault=[this.TPOINTLINE,this.POLY];for(var i=0;i<this.mapOptionsDefault.length;i++){this.mapOptionsOn[this.mapOptionsDefault[i].name]=true}this.constantLayers=[this.BASE,this.POLY,this.TMINORROADS,this.TPOINTLINE,this.POLY_LABEL,this.POINTLINE_LABEL,this.TLABEL,this.NEIGHBORHOOD,this.CITIES];this.defaultMapLayers=[].concat(this.constantLayers);var labels=[];var holeLayer=null;for(var i=0;i<data.allOptionLayers.length;i++){var layer=data.allOptionLayers[i];var l=this[layer.constant];if(isCBClone()&&l.name.indexOf("_hole")!=-1){holeLayer=l;continue}if(!this.isConstantLayer(l)){this.defaultMapLayers.splice(6,0,l)}var label=this.mapLayerLabels[l.name];if(label){label.off();labels.push(label)}if((layer.on||isCBClone()&&this.isClonePrintLayer(l))&&!isWidgetOrEmbedMap()){l.on();if(label){label.on()}}else{l.off()}}for(var i=0;i<labels.length;i++){var l=labels[i];if(!this.isConstantLayer(l)){this.defaultMapLayers.push(l)}}if(holeLayer){holeLayer.on();this.defaultMapLayers.push(holeLayer)}this.layerCategories=this.data.layerCategories;if(this.data.nonCategorizedLayers){this.nonCategorizedLayers=this.data.nonCategorizedLayers}delete this.data};MapOptions.prototype.getMapLayersByDefinitionId=function(defId){return this.layersByDefId[defId]};MapOptions.prototype.getMapLayersByName=function(name){return this.layersByName[name]};MapOptions.prototype.addLayer=function(layer){if(!this[layer.name]){return}var bn=layer.name;if(bn=="pp2_poly"){return}this[bn]=new PMapLayer;this[bn].name=bn;this[bn].constant=layer.constant;this[bn].title=layer.title?layer.title:"test";if(layer.maxScale){this[bn].maxScale=layer.maxScale}if(layer.minScale){this[bn].minScale=layer.minScale}this[bn].off();PMapType.DEFAULT.addMapLayer(this[bn]);var labellayer=this.mapLayerLabels[layer.name];if(labellayer){var ln=labellayer.name;this[ln]=new PMapLayer;this[ln].name=ln;this[ln].constant=labellayer.constant;this[ln].title=layer.title;if(labellayer.maxScale){this[ln].maxScale=labellayer.maxScale}else if(layer.maxScale){this[ln].maxScale=layer.maxScale}if(labellayer.minScale){this[ln].minScale=labellayer.minScale}else if(layer.minScale){this[ln].minScale=layer.minScale}this[ln].off();PMapType.DEFAULT.addMapLayer(this[ln]);this.mapLayerLabels[bn]=this[ln]}};MapOptions.prototype.isConstantLayer=function(l){var layers=this.constantLayers;for(var i=0;i<layers.length;i++){if(layers[i]==l){return true}}return false};MapOptions.prototype.isClonePrintLayer=function(l){var r=false;var params=PWebUtil.parseQuery(window.location.search);var pml=params["pml"];if(pml){var lnames=params["pml"].split(",");for(var i=0;i<lnames.length;i++){if(l.name==lnames[i]){r=true;break}}}return r};MapOptions.prototype.getMapOptionsOnMap=function(){var mapOptions=[];for(mapOption in this.mapOptionsOn){mapOptions.push(this.getMapLayersByName[mapOption])}return mapOptions};MapOptions.prototype.getMapOptionsOnMapNames=function(){var mapOptions=[];for(mapOption in this.mapOptionsOn){mapOptions.push(mapOption)}return mapOptions};function mapsPageLoader(){var slideComplete={complete:function(){$(window).resize()}};function resetMap(){P.instances.map.mapOptions.setToDefault();P.instances.map.getLegend().setNumberOfBreaks(DEFAULT_NUMBREAKS);if(widget){widget.clear()}clearLocation();if(polyCreator){polyCreator.reset();if(polyCreator.dropdown){polyCreator.dropdown.reset()}if(polyCreator.isBuildOn()){toggleCustomRegion()}}P.instances.map.clearOverlays();P.instances.map.clearOverlaySets();if(datasetSearch!=null){datasetSearch.reset()}if(P.instances.map.getInfoWindow()){P.instances.map.closeInfoWindow()}session.remove("curZoom");session.remove("curLat");session.remove("curLng");session.removeAllRelevant();initialLoad=true;P.instances.map.setCenter(new PLatLng(getDefaultMapLat(),getDefaultMapLng()),getDefaultMapZoom());resizeMapContainer();$window.trigger(P.events.MAP_RESET)}function resizeMapContainer(){$mapContainer.css("height",$window.height()-$mapContainer.offset().top-$(".content__footer").height());P.instances.map.kamap.resize();if(P.instances.map!==undefined&&P.instances.map.kamap!==undefined){if(initialLoad==true){initialLoad=false;initializeMapLocation()}}trfLegendBreaks.adjustMaxHeight();$window.trigger(P.events.MAP_RESIZED)}function initializeGlobals(){P.instances.wkprint.setOrientation(P.WKPrint.LANDSCAPE);map=new PMap(document.getElementById("map"));map.getLegend().setNumberOfBreaks(DEFAULT_NUMBREAKS);P.instances.map.mapOptions=new TrfMapBoundaries($(".map-boundaries-menu"));P.instances.map.addControl(new PLargeMapControl);P.instances.map.enableDoubleClickZoom();P.instances.map.enableScrollWheelZoom();P.instances.map.disableKeyboard();$("#map").append($("#working_spinner"));printTemplate="PolicyMapMapPage";pmToolbar=new Toolbar;pmToolbar.disable("download","(Coming Soon)")}function updateMapTitleAndLegendHeader(indicator){if(typeof indicator==="object"){var label=indicator.getFullLabel();var more=indicator.getDescription();var sources=indicator.getSources();$mapTitle.find(".title").text(label);$indicatorLegend.find(".legend__title__content").text(indicator.displayName);$indicatorLegend.find(".legend__title").show();$indicatorLegend.find(".legend__title__source").show();if(sources.length>1){more+=" (See data directory for "+indicator.getSourceList(true)+".)"}else if(sources.length===1){var sourceURL=indicator.getSourceURL(sources[0]);if(sourceURL!==null){more+=" <a class='dataLink' target='_blank' href='"+sourceURL+"'>(see data directory)</a>"}if(!sources[0].display||!sources[0].name){$indicatorLegend.find(".legend__title__source").hide()}}$(".content__header__additional-info__content p").html(more);$mapTitle.slideDown(slideComplete)}else{hideContentHeader()}}function updateMapPosition(indicator){var center,zoom;if(session.get("place")&&session.get("lng")&&session.get("lat")&&session.get("zoom")){center=new PLatLng(session.get("lat"),session.get("lng"));zoom=session.get("zoom")}else{center=P.instances.map.getCenter();zoom=P.instances.map.getZoom()}var mo=P.instances.map.mapOptions;if(mo){mo.setShowCurrentElement();if(mo.isCurrentOn()){mo.showLayerForCurrentView()}}mapstates.add(new PMapState(center,zoom,indicator,null,mapstates.currentplace,session.get("place")),prevmaps)}function initializeLegend(){indicatorLegend=widget=new PTRFIndicatorLegend(map,P.instances.map.getLegend(),{enableToggle:true,enableShade:true,enableBreaks:true});indicatorBreaks=indicatorLegend.getIndicatorBreaks();indToggle=indicatorLegend.getIndicatorToggle();legendContainer=new PLegendContainer($indicatorLegend);indicatorLegend.addListener("refresh",legendContainer.show,legendContainer);indicatorLegend.addListener("clear",legendContainer.hide,legendContainer);indicatorLegend.addListener("changed",updateMapTitleAndLegendHeader);trfLegendIndicators=new TrfLegendIndicators($indicatorLegend);indToggle.addListener("refresh",trfLegendIndicators.refresh,trfLegendIndicators);indToggle.addListener("clear",trfLegendIndicators.clear,trfLegendIndicators);trfLegendBreaks=new TrfLegendBreaks($(".legend__breakdown"),$("#legend__shading__ranges"));indicatorBreaks.addListener("refresh",trfLegendBreaks.refresh,trfLegendBreaks);indicatorBreaks.addListener("clear",trfLegendBreaks.clear,trfLegendBreaks);trfLegendShadeBy=new TrfLegendShadeBy($("#legend__shading__shaded-by"),$(".legend__title__source__content"),$("#legend__shading__ranges"));indicatorShade=indicatorLegend.getIndicatorShade();indicatorShade.addListener("refresh",trfLegendShadeBy.update,trfLegendShadeBy);indicatorShade.addListener("clear",trfLegendShadeBy.clear,trfLegendShadeBy);trfLegendShadeBy.addListener("change",indicatorShade.changeShade,indicatorShade);legendContainer.init();map.addListener("setindicator",function(indicator){if(indicator.hasBubbleOptions()){indicator.loadBubbleIndicators()}updateLegendPositionOnMap();P.instances.map.getLegend().clearStoredScale();if(indicator.breakid==P_BREAKTYPE_EXACT_VALUE_ID||indicator.breakid==P_BREAKTYPE_EXACT_VALUE_CUSTOM_ID){trfLegendBreaks.disableColorEditToggle()}else{trfLegendBreaks.enableColorEditToggle();trfLegendBreaks.enableRangesEditToggle()}})}function intializeCustomRegions(){polygonOptions=new PPolyCreatorOptions;polygonOptions.poly.weight=1;polygonOptions.poly.opacity=.5;polyCreator=polycreator=new PPolyCreator(polygonOptions);polyCreator.boundaryWidget=new PPolyCreatorBoundaryWidget(polyCreator);polyCreator.circleWidget=new PPolyCreatorCircleWidget(polyCreator);polyCreator.assembleInfoWidget=new PPolyCreatorAssembleInfoWidget(polyCreator);trfCustomRegions=new TrfCustomRegionsMenu(polyCreator,session);trfCustomRegions.once("change",function loadRegionFromSession(){if(session.get("cp")&&isSubscriber()){_.each(session.get("cp"),function(customRegionId){trfCustomRegions.addCustomRegionById(customRegionId)})}})}var $mapContainer=$("#map");var $window=$(window);var $indicatorLegend=$(".legend--indicator");var $mapHeaderToggle=$(".content__header__additional-info__toggle");var $mapTitle=$(".content__header");var indicatorLegend;var indicatorBreaks;var indToggle;var legendContainer;var trfLegendIndicators;var trfLegendBreaks;var trfLegendShadeBy;var indicatorShade;var debug=new P.Debug;debug.override("MPL");var initialLoad=true;var polygonOptions;var polyCreator;var trfCustomRegions;var taxonomyMenu;var dataPointsLegend;var termsOfUse=new TermsOfUse;initializeSearchForm();initializeGlobals();taxonomyMenu=new TaxonomyMenu($(".taxonomy"),$(".taxonomy-menu"),debug,map);dataPointsLegend=new TrfDataPointsLegend($("#data-points-legend"),map);initializeLegend();resizeMapContainer();disableWheelScrollPropogation(".taxonomy-menu__data-layers__column, .taxonomy-menu__shared-data__content, .my-data-menu__favorites__content, .my-data-menu__shared-data__content, .legend__content, .custom-regions-menu__content, .map-boundaries__national-boundaries__content, .map-boundaries__provincial-boundaries__content, .legend__data-points__category-item__filter-groups, .legend__data-points__category-item__filters");disableWheelScrollPropogation(".taxonomy-menu__data__submenu",".taxonomy-menu__data__submenu__content");intializeCustomRegions();$window.resize(resizeMapContainer);$window.on(P.events.MAP_CHECK_RESIZE,resizeMapContainer);var c=$("#map");$(".legend").draggable({containment:c,handle:"h2, .legend__content",cancel:".chosen-drop, input, .no-drag",scroll:false,stack:"#map, .legend, #theInsideLayer",zIndex:Strata.OVER_MAP0,drag:function(){if($(this).position().left!==0){$(this).removeClass("legend--docked")}$(this).css("height","auto")}});$mapHeaderToggle.click(toggleMapTitleAdditionalInfo);$(".content__header .title").click(toggleMapTitleAdditionalInfo);function toggleMapTitleAdditionalInfo(){if($mapHeaderToggle.hasClass("is-maximized")){$mapHeaderToggle.removeClass("is-maximized");$(".content__header__additional-info__content").slideUp()}else{$mapHeaderToggle.addClass("is-maximized");$(".content__header__additional-info__content").slideDown()}}$(".content__header__additional-info__close").click(function(){$mapHeaderToggle.removeClass("is-maximized");$(".content__header__additional-info__content").slideUp()});$(".legend__indicators select").chosen({disable_search_threshold:15,width:"142px"});$(".content__header__close-icon").click(function(){clearMapData();session.remove("i")});$(".map-options__reset").click(resetMapAlert);$(".map-options__clear-location").click(function(event){event.preventDefault();clearLocationAlert()});$(map).bind("dragend",function(){$(".content__breadcrumbs").html("stuff")});widget.addListener("clear",hideContentHeader,this);PEvent.addListener(map,"click",function(overlay,point){debug.log(P.Debug.DEBUG,point);PMIdentificationModule.clickHandler(overlay,point)});PEvent.addListener(map,"dblclick",function(){P.instances.map.cancelIdentify=true;P.instances.map.closeInfoWindow()});PEvent.addListener(polyCreator,"addpoly",function(points){polyCreator.showSaveInfoWindow(points[0])});PEvent.addListener(polyCreator,"savepoly",function(places){polyCreator.addSavedPoly(places)});PEvent.addListener(map,"setindicator",function(){var indicator=P.instances.map.getIndicator();updateMapTitleAndLegendHeader(indicator);updateMapPosition(indicator);$window.resize()});PEvent.addListener(map,"removeindicator",function(){updateLegendPositionOnMap();$(".content__header").slideUp(slideComplete)});function hideContentHeader(){$(".content__header").slideUp(slideComplete)}PEvent.addListener(P.instances.map,"moveend",function(){session.put("curLat",P.instances.map.getCenter().lat());session.put("curLng",P.instances.map.getCenter().lng());session.put("curZoom",P.instances.map.getZoom());labelManager.updateMapLabels();navteqCounter()});PEvent.addListener(P.instances.map,"zoomend",function(){session.put("curZoom",P.instances.map.getZoom());var legend=P.instances.map.getLegend();labelManager.updateMapLabels();legend.clearStoredScale();if(legend.boundaryTypeIsLocked()){if(!legend.isValidBoundaryType(P.instances.map.getLegend().getBoundaryType())){legend.unlockBoundaryType()}}P.instances.map.mapOptions.populate();if(P.instances.map.getLegend().getBoundaryType()){widget.getIndicatorShade().setOldBoundaryTypeId(P.instances.map.getLegend().getBoundaryType().id)}if(widget.legend.getBoundaryType()&&widget.getIndicatorShade().getOldBoundaryTypeId()!=widget.legend.getBoundaryType().id){widget.getIndicatorShade().setOldBoundaryTypeId(widget.legend.getBoundaryType().id)}navteqCounter();widget.refresh();P.instances.map.refresh()});$(".map-options__map-boundaries__current-overlays-toggle").click(function(event){event.preventDefault();mapOptions(this,true)});map.addListener("setindicator",function(){taxonomyMenu.hide()});map.addListener("removeindicator",function(){taxonomyMenu.resetActiveRootNodes()});taxonomyMenu.on("show",function(){P.instances.map.mapOptions.hide();trfCustomRegions.hide()});trfCustomRegions.on("show",function(){P.instances.map.mapOptions.hide();taxonomyMenu.hide()});P.instances.map.mapOptions.on("show",function(){trfCustomRegions.hide();taxonomyMenu.hide()});function addOverlaySetFiltersFromSession(overlaySet){if(overlaySet!=null){var filters=session.getFilters(overlaySet);if(filters){if(filters[0]&&filters[0].values[0]=="COLORCODE"){var ftrs=[];var displayfilters=overlaySet.displayfiltergroups[filters[0].name];var m=displayfilters.length;
for(var j=0;j<m;j++){if(displayfilters[j].values[0]!="COLORCODE")ftrs.push(displayfilters[j])}overlaySet.setFiltersByIcons(ftrs,overlaySet.colorcodes);overlaySet.filtergroups[filters[0].name]=[];overlaySet.filtergroups[filters[0].name].push(filters[0])}else overlaySet.setFilters(filters)}for(var i=0;i<overlaySet.children.length;i++){addOverlaySetFiltersFromSession(overlaySet.children[i])}}return overlaySet}function getOverlaySetsFromSession(){var promises=[];if(session.get("o")){var oldOverlaySetIds=session.get("o").split(",");_.each(oldOverlaySetIds,function(oldOverlaySetId){var addFiltersToOverlaySetPromise=getOverlaySet(oldOverlaySetId,"old").then(addOverlaySetFiltersFromSession);promises.push(addFiltersToOverlaySetPromise)})}if(session.get("dlo")){var dataLoaderOverlaySetIds=session.get("dlo").split(",");_.each(dataLoaderOverlaySetIds,function(dataLoaderOverlaySetId){var addFiltersToOverlaySetPromise=getOverlaySet(dataLoaderOverlaySetId,"dl").then(addOverlaySetFiltersFromSession);promises.push(addFiltersToOverlaySetPromise)});if(_.size(dataLoaderOverlaySetIds)===1&&session.get("dloz")&&!session.get("o")){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=site&act=b&did="+dataLoaderOverlaySetIds[0],success:function(response){var coords=response.site;if(coords.minx&&coords.miny&&coords.maxx&&coords.maxy){var sw=new PLatLng(coords.miny,coords.minx);var ne=new PLatLng(coords.maxy,coords.maxx);map.setCenterBounds(new PLatLngBounds(sw,ne));session.remove("dloz")}}})}}$.when.apply($,promises).then(function addOverlaySetsToMap(){var sets=[];for(var i=0;i<arguments.length;i++){if(arguments[i]==null){continue}var curSet=arguments[i];sets.push(curSet);for(var j=0;j<curSet.children.length;j++){sets.push(curSet.children[j])}}if(sets.length>0){map.setOverlaySets(sets);labelManager.updateMapLabels();var params=getUrlParams();if(params["iwx"]&&params["iwy"]&&params["iwtype"]=="identify"){PMIdentificationModule.showInfoWindow(params)}}})}function loadMapFromSession(){var pLatLng=map.getCenter();var numBreaks;session.checkUrl();if(session.get("curLat")&&session.get("curLng")&&session.get("curZoom")){map.setCenter(new PLatLng(session.get("curLat"),session.get("curLng")),session.get("curZoom"))}if(typeof ria!=="undefined"){if(session.get("i")!==void 0){if(session.get("rmp")&&PColorRampOptions[session.get("rmp")]){widget.legend.setColorRamp(PColorRampOptions[session.get("rmp")].ramp)}if(session.get("nb")){numBreaks=parseInt(session.get("nb"),10);if(!_.isNaN(numBreaks)){widget.legend.setNumberOfBreaks(numBreaks)}}selectIndicators(session.get("i"));taxonomyMenu.setActiveRootNodeByIndicatorId(parseInt(session.get("i")[0],10))}getOverlaySetsFromSession();P.instances.map.mapOptions.loadMapOptionsFromSession()}}var urlParams=getUrlParams();var requireUser=urlParams["ru"];if(requireUser!=null){if(!isPublicUser()&&session.get(P.constants.userId)==requireUser){taxonomyMenu.once("change",function(){loadMapFromSession()})}else{showLoginPopup();$window.on(P.events.LOGGED_IN,function(){if(session.get(P.constants.userId)==requireUser){taxonomyMenu.once("change",function(){loadMapFromSession()})}$window.off(P.events.LOGGED_IN)})}}else{taxonomyMenu.once("change",function(){loadMapFromSession()})}}function hex_md5(s){return binl2hex(core_md5(str2binl(s),s.length*chrsz))}function b64_md5(s){return binl2b64(core_md5(str2binl(s),s.length*chrsz))}function str_md5(s){return binl2str(core_md5(str2binl(s),s.length*chrsz))}function hex_hmac_md5(key,data){return binl2hex(core_hmac_md5(key,data))}function b64_hmac_md5(key,data){return binl2b64(core_hmac_md5(key,data))}function str_hmac_md5(key,data){return binl2str(core_hmac_md5(key,data))}function md5_vm_test(){return hex_md5("abc")=="900150983cd24fb0d6963f7d28e17f72"}function core_md5(x,len){x[len>>5]|=128<<len%32;x[(len+64>>>9<<4)+14]=len;var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;for(var i=0;i<x.length;i+=16){var olda=a;var oldb=b;var oldc=c;var oldd=d;a=md5_ff(a,b,c,d,x[i+0],7,-680876936);d=md5_ff(d,a,b,c,x[i+1],12,-389564586);c=md5_ff(c,d,a,b,x[i+2],17,606105819);b=md5_ff(b,c,d,a,x[i+3],22,-1044525330);a=md5_ff(a,b,c,d,x[i+4],7,-176418897);d=md5_ff(d,a,b,c,x[i+5],12,1200080426);c=md5_ff(c,d,a,b,x[i+6],17,-1473231341);b=md5_ff(b,c,d,a,x[i+7],22,-45705983);a=md5_ff(a,b,c,d,x[i+8],7,1770035416);d=md5_ff(d,a,b,c,x[i+9],12,-1958414417);c=md5_ff(c,d,a,b,x[i+10],17,-42063);b=md5_ff(b,c,d,a,x[i+11],22,-1990404162);a=md5_ff(a,b,c,d,x[i+12],7,1804603682);d=md5_ff(d,a,b,c,x[i+13],12,-40341101);c=md5_ff(c,d,a,b,x[i+14],17,-1502002290);b=md5_ff(b,c,d,a,x[i+15],22,1236535329);a=md5_gg(a,b,c,d,x[i+1],5,-165796510);d=md5_gg(d,a,b,c,x[i+6],9,-1069501632);c=md5_gg(c,d,a,b,x[i+11],14,643717713);b=md5_gg(b,c,d,a,x[i+0],20,-373897302);a=md5_gg(a,b,c,d,x[i+5],5,-701558691);d=md5_gg(d,a,b,c,x[i+10],9,38016083);c=md5_gg(c,d,a,b,x[i+15],14,-660478335);b=md5_gg(b,c,d,a,x[i+4],20,-405537848);a=md5_gg(a,b,c,d,x[i+9],5,568446438);d=md5_gg(d,a,b,c,x[i+14],9,-1019803690);c=md5_gg(c,d,a,b,x[i+3],14,-187363961);b=md5_gg(b,c,d,a,x[i+8],20,1163531501);a=md5_gg(a,b,c,d,x[i+13],5,-1444681467);d=md5_gg(d,a,b,c,x[i+2],9,-51403784);c=md5_gg(c,d,a,b,x[i+7],14,1735328473);b=md5_gg(b,c,d,a,x[i+12],20,-1926607734);a=md5_hh(a,b,c,d,x[i+5],4,-378558);d=md5_hh(d,a,b,c,x[i+8],11,-2022574463);c=md5_hh(c,d,a,b,x[i+11],16,1839030562);b=md5_hh(b,c,d,a,x[i+14],23,-35309556);a=md5_hh(a,b,c,d,x[i+1],4,-1530992060);d=md5_hh(d,a,b,c,x[i+4],11,1272893353);c=md5_hh(c,d,a,b,x[i+7],16,-155497632);b=md5_hh(b,c,d,a,x[i+10],23,-1094730640);a=md5_hh(a,b,c,d,x[i+13],4,681279174);d=md5_hh(d,a,b,c,x[i+0],11,-358537222);c=md5_hh(c,d,a,b,x[i+3],16,-722521979);b=md5_hh(b,c,d,a,x[i+6],23,76029189);a=md5_hh(a,b,c,d,x[i+9],4,-640364487);d=md5_hh(d,a,b,c,x[i+12],11,-421815835);c=md5_hh(c,d,a,b,x[i+15],16,530742520);b=md5_hh(b,c,d,a,x[i+2],23,-995338651);a=md5_ii(a,b,c,d,x[i+0],6,-198630844);d=md5_ii(d,a,b,c,x[i+7],10,1126891415);c=md5_ii(c,d,a,b,x[i+14],15,-1416354905);b=md5_ii(b,c,d,a,x[i+5],21,-57434055);a=md5_ii(a,b,c,d,x[i+12],6,1700485571);d=md5_ii(d,a,b,c,x[i+3],10,-1894986606);c=md5_ii(c,d,a,b,x[i+10],15,-1051523);b=md5_ii(b,c,d,a,x[i+1],21,-2054922799);a=md5_ii(a,b,c,d,x[i+8],6,1873313359);d=md5_ii(d,a,b,c,x[i+15],10,-30611744);c=md5_ii(c,d,a,b,x[i+6],15,-1560198380);b=md5_ii(b,c,d,a,x[i+13],21,1309151649);a=md5_ii(a,b,c,d,x[i+4],6,-145523070);d=md5_ii(d,a,b,c,x[i+11],10,-1120210379);c=md5_ii(c,d,a,b,x[i+2],15,718787259);b=md5_ii(b,c,d,a,x[i+9],21,-343485551);a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd)}return Array(a,b,c,d)}function md5_cmn(q,a,b,x,s,t){return safe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b)}function md5_ff(a,b,c,d,x,s,t){return md5_cmn(b&c|~b&d,a,b,x,s,t)}function md5_gg(a,b,c,d,x,s,t){return md5_cmn(b&d|c&~d,a,b,x,s,t)}function md5_hh(a,b,c,d,x,s,t){return md5_cmn(b^c^d,a,b,x,s,t)}function md5_ii(a,b,c,d,x,s,t){return md5_cmn(c^(b|~d),a,b,x,s,t)}function core_hmac_md5(key,data){var bkey=str2binl(key);if(bkey.length>16)bkey=core_md5(bkey,key.length*chrsz);var ipad=Array(16),opad=Array(16);for(var i=0;i<16;i++){ipad[i]=bkey[i]^909522486;opad[i]=bkey[i]^1549556828}var hash=core_md5(ipad.concat(str2binl(data)),512+data.length*chrsz);return core_md5(opad.concat(hash),512+128)}function safe_add(x,y){var lsw=(x&65535)+(y&65535);var msw=(x>>16)+(y>>16)+(lsw>>16);return msw<<16|lsw&65535}function bit_rol(num,cnt){return num<<cnt|num>>>32-cnt}function str2binl(str){var bin=Array();var mask=(1<<chrsz)-1;for(var i=0;i<str.length*chrsz;i+=chrsz)bin[i>>5]|=(str.charCodeAt(i/chrsz)&mask)<<i%32;return bin}function binl2str(bin){var str="";var mask=(1<<chrsz)-1;for(var i=0;i<bin.length*32;i+=chrsz)str+=String.fromCharCode(bin[i>>5]>>>i%32&mask);return str}function binl2hex(binarray){var hex_tab=hexcase?"0123456789ABCDEF":"0123456789abcdef";var str="";for(var i=0;i<binarray.length*4;i++){str+=hex_tab.charAt(binarray[i>>2]>>i%4*8+4&15)+hex_tab.charAt(binarray[i>>2]>>i%4*8&15)}return str}function binl2b64(binarray){var tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var str="";for(var i=0;i<binarray.length*4;i+=3){var triplet=(binarray[i>>2]>>8*(i%4)&255)<<16|(binarray[i+1>>2]>>8*((i+1)%4)&255)<<8|binarray[i+2>>2]>>8*((i+2)%4)&255;for(var j=0;j<4;j++){if(i*8+j*6>binarray.length*32)str+=b64pad;else str+=tab.charAt(triplet>>6*(3-j)&63)}}return str}miniMenu=function(options){this.elem=options.elem;this.title=options.title;this.clickEvent=options.clickEvent;var div=$("<div />");div.html(this.title);div.addClass("header");this.elem.append(div);this.menu=$("<div />");this.menu.addClass("miniMenu");this.elem.append(this.menu);if(options.note){var note=$("<div />");note.addClass("menu-note");note.html(options.note);this.elem.append(note)}this.indids=options.indids;this.loadInds(this.indids)};miniMenu.prototype={loadInds:function(ids){var self=this;PIndicatorLoader.load(ids,function(inds){self.inds=inds;self.buildMenu()})},buildMenu:function(){var self=this;var inds=this.inds;var ul=$("<ul />");for(var i=0;i<inds.length;i++){var li=$("<li />");var span=$("<span />");span.html(inds[i].getLabel(true).replace("Percent ",""));li.append(span);$.data(li[0],"ind",inds[i]);li.attr("ind",inds[i]);li.click(function(){self.clickEvent($.data(this,"ind"))});ul.append(li)}$(this.menu).append(ul)}};function myPolicyMapOnLoad(){ajax.call({url:PEnvironment.servletsUrl+"/report/?act=l",dataType:"json",success:function(reports){if(reports&&reports.error===void 0){var html="";for(var i=0;i<reports.length;i++){var currentReport=reports[i];var disabledText="";if(!currentReport.enabled){disabledText=" disabled"}html+='<option value="'+currentReport.code+'"'+disabledText+">Report: "+currentReport.name+"</option>"}reportDropdownOptions=html}myPolicyMapRun()}})}function myPolicyMapRun(){function hideDownloadMenu(){$downloadsContainer.fadeOut()}function hideDownloadMenuAfterDelay(){clearTimeout(downloadMenuTimeout);downloadMenuTimeout=setTimeout(hideDownloadMenu,downloadMenuHideDelay)}function resizeContentContainer(){$(".my-policymap__content").css("min-height",$(window).height()-$(".my-policymap__content").offset().top-$(".my-policymap__footer").height())}function getMyPolicymapSection(section){var url;var dataType;switch(section){case"map":url=PEnvironment.servletsUrl+"/mypolicymap/?g=m";dataType="mypm";break;case"table":url=PEnvironment.servletsUrl+"/mypolicymap/?g=t";dataType="mypm";break;case"report":url=PEnvironment.servletsUrl+"/mypolicymap/?g=r";dataType="mypm";break;case"3-layer map":url=PEnvironment.servletsUrl+"/mypolicymap/?g=a";dataType="mypm";break;case"tables list":url=PEnvironment.servletsUrl+"/mypolicymap/?g=tl";dataType="mypm";break;case"3-layer maps list":url=PEnvironment.servletsUrl+"/mypolicymap/?g=al";dataType="mypm";break;case"customregion":url=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&act=ga",dataType="mypm";break;case"userdata":url=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=l";dataType="dl";break;case"shareddata":url=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=ls";dataType="dl";break;default:return}return ajax.call({url:url,dataType:"json"}).then(function(response){function updateDateString(item){item.created=trimDateYear(item.created);return item}var results=null;if(dataType==="dl"&&response!=null&&response.dl!=null){results=_.map(response.dl,updateDateString)}else if(section==="customregion"){results=_.map(response.cr.regions,updateDateString)}else if(dataType==="mypm"){results=_.map(response,updateDateString)}return results})}function loadBaseTemplate(type,displayType){return getMyPolicymapSection(type).then(function(items){currentItems=items;sortCurrentItems();renderBaseTemplate(type,displayType);bindBaseTemplate(displayType)})}function renderBaseTemplate(type,displayType){var openDisabled=!isSubscriber()&&type!="map"&&type!="table";var dlDisabled=!isSubscriber()&&type!="map"&&type!="table"&&type!="report"&&type!="3-layer map";$contentContainer.html(mapsTemplate({type:type,displayType:displayType,url:typeUrls[type],items:currentItems,areOptionsAvailable:areOptionsAvailable,sortColumn:currentSortColumn,isAscendingSort:isAscendingSort,openDisabled:openDisabled,dlDisabled:dlDisabled}))}function loadDatasetsTemplate(type){return getMyPolicymapSection(type).then(function(datasets){currentItems=datasets;sortCurrentItems();renderDatasetsTemplate(type);bindDatasetsTemplate(type)})}function renderDatasetsTemplate(type){var openDisabled=!isSubscriber()&&type=="userdata";var dlDisabled=!isSubscriber()&&type=="userdata";$contentContainer.html(datasetsTemplate({type:type,datasets:currentItems,isSharedDataset:type==="shareddata",areOptionsAvailable:areOptionsAvailable,sortColumn:currentSortColumn,isAscendingSort:isAscendingSort,openDisabled:openDisabled,dlDisabled:dlDisabled}))}function loadCustomRegionTemplate(type){return getMyPolicymapSection(type).then(function(customRegions){currentItems=customRegions;sortCurrentItems();renderCustomRegionsTemplate();bindCustomRegionsTemplate()})}function renderCustomRegionsTemplate(){var openDisabled=!isSubscriber();$contentContainer.html(customRegionsTemplate({customRegions:currentItems,isSharingAvailable:PEnvironment.isPolicyMap||!isAutoLoginUser(),areOptionsAvailable:areOptionsAvailable,sortColumn:currentSortColumn,isAscendingSort:isAscendingSort,openDisabled:openDisabled}))}function sortCurrentItems(){currentItems=_.sortBy(currentItems,function(item){if(currentSortColumn==="name"){if(item.label){return $.trim(item.label.toLowerCase())}else{return $.trim(item.name.toLowerCase())}}else if(currentSortColumn==="author"){return item.author}else{if(item.created==="N/A"){return""}else{return new Date(item.created)}}});if(!isAscendingSort){currentItems.reverse()}}function sortCurrentItemsByColumnName(columnName){if(currentSortColumn===columnName){isAscendingSort=!isAscendingSort}else{currentSortColumn=columnName;isAscendingSort=true}sortCurrentItems()}function bindBaseTemplate(type){var $headers=$contentContainer.find(".my-policymap__section-content__header");var $items=$contentContainer.find(".my-policymap__section-content__item, .my-policymap__section-content__item--disabled");var downloadsTemplate=_.template($("#js-my-policymap__downloads__template").html());$headers.click(function(){var columnName=$.trim($(this).text().toLowerCase());sortCurrentItemsByColumnName(columnName);renderBaseTemplate();bindBaseTemplate(type)});$items.each(function(index){var $itemRow=$(this);var $edit=$itemRow.find(".my-policymap__section-content__edit");var $download=$itemRow.find(".my-policymap__section-content__download");var $delete=$itemRow.find(".my-policymap__section-content__delete");$edit.click(function(e){renameItem(currentItems[index].id,type)});$download.hover(function showDownloadMenu(e){var $self=$(this);clearTimeout(downloadMenuTimeout);var params=PWebUtil.parseQuery(currentItems[index].query);var type=params.type||"";if(/^(a|b|c|d|e|f|g|h)$/.exec(type)!=null){$downloadsContainer.html(downloadsTemplate({attachments:currentItems[index].attach,urlPrefix:PEnvironment.dataServicesUrl+"?id=1&type=data&t=wprnt&attid="}))}else{$downloadsContainer.html(downloadsTemplate({attachments:currentItems[index].attach,urlPrefix:PEnvironment.servletsUrl+"/attachment/?id="}))}$downloadsContainer.children("a").click(hideDownloadMenu);$downloadsContainer.css("top",$self.position().top+$self.height()+2+"px");$downloadsContainer.css("left",$self.position().left+($self.width()/2-$downloadsContainer.outerWidth()/2)+"px");$downloadsContainer.show()},hideDownloadMenuAfterDelay);$delete.click(function(e){if(currentItems.embed){deleteEmbeddingAlert(currentItems[index].id)}else{deleteLinkAlert(currentItems[index].id)}})});$downloadsContainer.hover(function disableHideAfterTimeout(){clearTimeout(downloadMenuTimeout)},hideDownloadMenuAfterDelay)}function bindDatasetsTemplate(type){var $headers=$contentContainer.find(".my-policymap__section-content__header");var $datasets=$contentContainer.find(".my-policymap__section-content__item, .my-policymap__section-content__item--disabled");var isSharedDataset=type==="shareddata";$headers.click(function(){var columnName=$.trim($(this).text().toLowerCase());sortCurrentItemsByColumnName(columnName);renderDatasetsTemplate(type);bindDatasetsTemplate(type)});$datasets.each(function(index){var $datasetRow=$(this);var $nameAndLoad=$datasetRow.find(".my-policymap__section-content__name a, .my-policymap__section-content__load a");var $edit=$datasetRow.find(".my-policymap__section-content__edit");var $delete=$datasetRow.find(".my-policymap__section-content__delete");$nameAndLoad.click(function openDialog(event){event.preventDefault();if(!isSubscriber()&&!isSharedDataset){subscribeAlert(null,"subscriber-uploaded-data");return}var alertContent='<div class="my-policymap__dataset__select-label">'+"<label>Access Dataset via:</label>"+"</div>"+'<div class="my-policymap__dataset__select-content">'+'<select class="my-policymap__dataset__select">'+'<option value="maps">Maps</option>'+'<option value="tables">Tables</option>';if(isSubscriber()){alertContent+='<option value="analytics">3-Layer Maps</option>'}alertContent+="</select>"+"</div>";alerter.popup({content:alertContent,addCancel:true,cancelText:"Cancel",buttons:[{label:"Go",callback:function(){var selectedValue=$(".my-policymap__dataset__select").val();switch(selectedValue){case"maps":session.put("dlo",currentItems[index].id);session.put("dloz","t");setWindowLocation("/maps");break;case"tables":session.put("dlo",currentItems[index].id);setWindowLocation("/tables");break;case"analytics":session.put("dlo",currentItems[index].id);session.put("dloz","t");setWindowLocation("/analytics");break}}}]})});$edit.click(function(event){event.preventDefault();if(!isSubscriber()){subscribeAlert(null,"subscriber-uploaded-data");return}var dataset=currentItems[index];setWindowLocation("/dataloader?di="+dataset.id+"&dit="+(dataset.simple_type?"si":"sp"))});$delete.click(function(event){event.preventDefault();if(isSharedDataset){deleteDatasetOrRemoveShare("removeshare",currentItems[index].id)}else{deleteDatasetOrRemoveShare("delete",currentItems[index].id)}})})}function bindCustomRegionsTemplate(){var $headers=$contentContainer.find(".my-policymap__section-content__header");var $regions=$contentContainer.find(".my-policymap__section-content__item, .my-policymap__section-content__item--disabled");$headers.click(function(){var columnName=$.trim($(this).text().toLowerCase());sortCurrentItemsByColumnName(columnName);renderCustomRegionsTemplate();bindCustomRegionsTemplate()});$regions.each(function(index){var $customRegionRow=$(this);var $nameAndLoad=$customRegionRow.find(".my-policymap__section-content__name a, .my-policymap__section-content__load a");var $edit=$customRegionRow.find(".my-policymap__section-content__edit");var $share=$customRegionRow.find(".my-policymap__section-content__share");var $delete=$customRegionRow.find(".my-policymap__section-content__delete");$edit.click(function(){renameItem(currentItems[index].id,"region")});$share.click(function(){if(!isSubscriber()){subscribeAlert(null,"subscriber-saved-work");return}polycreator.sharePolyDialog(currentItems[index].id,currentItems[index].label)});$delete.click(function(){deleteLinkAlert(currentItems[index].id,true)});$nameAndLoad.click(function openDialog(event){event.preventDefault();if(!isSubscriber()){subscribeAlert(null,"subscriber-saved-work");return}alerter.popup({content:'<div class="my-policymap__dataset__select-label">'+"<label>Access Custom Region via:</label>"+"</div>"+'<div class="my-policymap__dataset__select-content">'+'<select class="my-policymap__dataset__select">'+'<option value="maps">Maps</option>'+'<option value="tables">Tables</option>'+'<option value="analytics">3-Layer Maps</option>'+reportDropdownOptions+"</select>"+"</div>",addCancel:true,cancelText:"Cancel",buttons:[{label:"Go",callback:function(){var selectedValue=$(".my-policymap__dataset__select").val();switch(selectedValue){case"maps":session.put("cp",currentItems[index].id);setWindowLocation("/maps");break;case"tables":session.put("cp",currentItems[index].id);setWindowLocation("/tables");break;case"analytics":session.put("cp",currentItems[index].id);setWindowLocation("/analytics");break;default:customRegionReport(selectedValue,currentItems[index].id);break}}}]})})})}var $sections=$(".my-policymap__section-header");var $contentContainer=$(".my-policymap__section-content");var $downloadsContainer=$(".my-policymap__section-content__downloads-container");var mapsTemplate=_.template($("#js-my-policymap__template").html());var datasetsTemplate=_.template($("#js-my-policymap__dataset__template").html());var customRegionsTemplate=_.template($("#js-my-policymap__custom-region__template").html());var areOptionsAvailable=true;var downloadMenuHideDelay=1e3;var downloadMenuTimeout;var currentItems,currentType,currentSortColumn,isAscendingSort;var types={maps:"map",tables:"table",reports:"report","3-layer maps":"3-layer map","tables lists":"tables list","3-layer maps lists":"3-layer maps list","custom regions":"customregion","saved datasets":"userdata","shared datasets":"shareddata"};var typeUrls={map:"maps",table:"tables",report:"reports","3-layer map":"analytics","tables list":"tables","3-layer maps list":"analytics"};resizeContentContainer();$(window).resize(resizeContentContainer);$sections.click(function loadSection(){var $section=$(this);var type=types[$section.text().toLowerCase()];var displayType=$section.text();var isDataset=typeUrls[type]===void 0;$section.siblings().removeClass("is-active");hideDownloadMenu();currentType=type;currentSortColumn="created";isAscendingSort=false;if(type==="customregion"){loadCustomRegionTemplate(type)}else if(isDataset){loadDatasetsTemplate(type)}else{loadBaseTemplate(type,displayType)}$section.addClass("is-active")})}function deleteLinkAlert(id,region){if(region){var text="Deleting this saved region will cause all other saved items that reference it to be removed.  Are you sure you want to delete the item?";alerter.popup(text,"No","Yes",function(){deleteRegion(id)})}else{var text="Are you sure you want to delete this saved item?";alerter.popup(text,"No","Yes",function(){deleteLink(id)})}}function deleteEmbeddingAlert(id){var text="Are you sure you want to delete this saved item and remove all embedded links to this map?";alerter.popup(text,"No","Yes",function(){deleteLink(id)})}function deleteLink(linkId){jQuery("#link"+linkId).css("font-weight","bold").css("background","#d3daca");linkManager.deleteLink(linkId,function(status,msg){if(status==500){alerter.popup(msg,"OK")}jQuery("#link"+linkId).fadeOut(1e3)})}function deleteRegion(id){$("#region"+id).css({"font-weight":"bold",background:"#d3daca"});polycreator.deletePoly(id,function(success){if(success){var regions=session.get("cp");if(regions!=null&&$.isArray(regions)){var regionLength=regions.length;for(var i=0;i<regionLength;i++){if(regions[i]==id){regions.splice(i,1);break}}if(regions.length<regionLength){session.put("cp",regions)}}$("#region"+id).fadeOut(1e3)}else{alerter.popup("There was an error deleting your custom region.","OK")}})}function customRegionReport(type,cpid){if(type!=0){var regionName=$("#region"+cpid+"name").text();var url="reports?type="+type+"&name="+encodeURIComponent(regionName)+"&area=custom&cpid="+cpid;location=url}}function renameItem(itemId,itemType){var spanName;if(itemType=="region"){spanName="region"+itemId+"name"}else{spanName="link"+itemId+"name"}var itemName=$("#"+spanName).text();genericAlertDialog({template:"mypolicymap",action:"rename",id:itemId,type:itemType,name:itemName})}function deleteDatasetOrRemoveShare(act,id){var alertMsg;var alertError;var url;if(act=="delete"){alertMsg="Deleting a dataset will remove the dataset and all of its sites and attributes. Do you wish to delete this dataset?";alertError="There was an error deleting this dataset.";url=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=d&di="}else if(act=="removeshare"){alertMsg="Removing yourself from a shared dataset will cause you to lose access to it. This cannot be reversed, and only the dataset owner can grant you access again. Do you wish to remove yourself from this dataset?";alertError="There was an error removing you from the dataset.";url=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=ru&di="}alerter.popup(alertMsg,"No","Yes",function(){$.getJSON(url+id,function(result){if(result&&result.dl&&result.dl.status&&result.dl.status=="ok"){fadeOutItem(id,"dataset")}else{alerter.popup(alertError,"OK")}})})}function updateItemTitle(itemId,itemType,itemName){var linkType="link";if(itemType=="region"){linkType="region"}var rowName=linkType+itemId;var spanName=rowName+"name";if(itemType=="region"){$("#region"+itemId).find("td.custom-regions__label").html(itemName)}else{$("#"+rowName).fadeTo(800,.001,function(){$("#"+spanName).text(itemName);$("#"+rowName).fadeTo(800,1)})}}function fadeOutItem(itemId,itemType){var linkType="link";if(itemType=="region"){linkType="region"}else if(itemType=="dataset"){linkType="dataset"}var divName=linkType+itemId;$("#"+divName).fadeOut(1e3,function(){$("#"+divName).remove()})}Notification=function(frequency){var self=this;window.indexedDB=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;window.IDBTransaction=window.IDBTransaction||window.webkitIDBTransaction||window.msIDBTransaction;window.IDBKeyRange=window.IDBKeyRange||window.webkitIDBKeyRange||window.msIDBKeyRange;this.request=window.indexedDB.open("PolicyMapNotificationDatabase1",3);this.tableName="notifications";this.db;this.request.onerror=function(e){P.instances.debug.log(P.Debug.ERROR,"Failed to open the indexedDB database: "+e)};this.request.onsuccess=function(e){P.instances.debug.log(P.Debug.INFO,"Opened the indexedDB database");self.db=e.target.result};this.request.onupgradeneeded=function(e){P.instances.debug.log(P.Debug.INFO,"Initializing the indexedDB database");self.db=e.target.result;self.objectStore=self.db.createObjectStore(self.tableName,{keyPath:"theId"})};this.cookieName="notificationDownloadInProcess";if(this.validateFrequency(frequency)){this.frequency=frequency}else{this.frequency=60}this.notifications=[];this.enabled=false;this.url=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=not";this.interval;this.ws;this.webSocketThreshold=3;this.webSocketRetry=0;this.startWebSocket();this.build()};Notification.prototype.readDB=function(theId,callback){var transaction=this.db.transaction([this.tableName]);var objectStore=transaction.objectStore(this.tableName);var request=objectStore.get(theId);request.onerror=function(e){P.instances.debug.log(P.Debug.ERROR,"Error reading from the db: "+e)};request.onsuccess=function(e){if(request.result){P.instances.debug.log(P.Debug.INFO,"Read id '"+theId+"' from the database.");callback(theId,true)}else{P.instances.debug.log(P.Debug.INFO,"The id '"+theId+"' was not in the database when reading.");callback(theId,false)}}};Notification.prototype.addDB=function(theId,callback){var transaction=this.db.transaction([this.tableName],"readwrite");var objectStore=transaction.objectStore(this.tableName);var request=objectStore.add({theId:theId});request.onsuccess=function(e){P.instances.debug.log(P.Debug.INFO,"Added id '"+theId+"' to the database.");callback(theId,true)};request.onerror=function(e){P.instances.debug.log(P.Debug.ERROR,"Cannot add id '"+theId+"' to the db: "+e);callback(theId,false)}};Notification.prototype.removeDB=function(theId,callback){var transaction=this.db.transaction([this.tableName]);var objectStore=transaction.objectStore(this.tableName);var request=objectStore.delete(theId);request.onsuccess=function(e){P.instances.debug.log(P.Debug.INFO,"Removed id '"+theId+"' from the db: "+e);callback(theId,true)};request.onerror=function(e){P.instances.debug.log(P.Debug.ERROR,"Cannot remove id '"+theId+"' from the db: "+e);callback(theId,false)}};Notification.prototype.setFrequency=function(frequency){if(this.enabled===true){if(this.validateFrequency(frequency)){window.clearInterval(this.interval);this.frequency=frequency;this.begin()}}};Notification.prototype.start=function(){if(P.WKPrint.isPrintPage()===true){return}if(this.enabled!=true){this.enabled=true;this.begin();$(window).trigger(P.events.NOTIFICATION_STARTED)}};Notification.prototype.begin=function(){var self=this;this.poll();this.interval=window.setInterval(function(){self.poll()},self.frequency*1e3)};Notification.prototype.stop=function(hideAlert){if(this.enabled==true){this.enabled=false;if(hideAlert==true){this.close()}window.clearInterval(this.interval);$(window).trigger(P.events.NOTIFICATION_STOPPED)}};Notification.prototype.build=function(){var self=this;this.notDiv=$("<div />");this.notDiv.attr("id","notification");var titleSpan=$("<div />");titleSpan.addClass("title");titleSpan.text("PolicyMap Notifications");this.notDiv.append(titleSpan);var closeSpan=$("<div />");closeSpan.addClass("close");closeSpan.text("close");closeSpan.click(function(){self.close()});this.notDiv.append(closeSpan);var lineBreak=$("<br />");this.notDiv.append(lineBreak);var list=$("<div />");list.attr("id","notificationList");list.addClass("list");list.html("test");this.notDiv.append(list);this.position()};Notification.prototype.position=function(){if(PEnvironment.pageName=="maps"||PEnvironment.pageName=="analytics"){$("#map").append(this.notDiv);this.notDiv.css({top:"10px",right:"100px"})}else if(PEnvironment.pageName=="tables"){$("#mainTable").append(this.notDiv);this.notDiv.css({top:"10px",right:"10px"})}else if(PEnvironment.pageName=="reports"||PEnvironment.pageName=="report_generate"){$(".header__interface").append(this.notDiv);this.notDiv.css({top:"10px",right:"10px"})}else if(PEnvironment.pageName=="dataloader"){$("#map").append(this.notDiv);this.notDiv.css({top:"10px",right:"45px"})}else if(PEnvironment.pageName=="mypolicymap"){$(".my-policymap__container").append(this.notDiv);this.notDiv.css({top:"230px",right:"10px"})}else{this.hideDiv=$("<div/>");this.hideDiv.addClass("is-hidden");this.hideDiv.append(this.notDiv);$("body").append(this.hideDiv)}};Notification.prototype.poll=function(asyncArg){var async=true;if(typeof asyncArg!=="undefined"&&asyncArg===false){async=false}var self=this;postData=null;if(typeof P.instances.tracking==="object"&&noTracking==null){var trackingStore=P.instances.tracking.dump();if(trackingStore.length>0){try{trackingStore=JSON.stringify(trackingStore)}catch(e){P.instances.debug.log(P.Debug.ERROR,e);trackingStore="[{'error':'This tracking store had recursion :('}]"}postData={trk:trackingStore}}}ajax.call({url:this.url+"&act=g",dataType:"json",type:"post",data:postData,async:async,pleaseWait:false,success:function(notifications){var newNotifications=false;if(notifications!=null&&notifications.not!=null){for(var i=0;i<notifications.not.length;i++){try{var json=JSON.parse(notifications.not[i].message);if(json.url!=null){try{self.readDB(notifications.not[i].id,function(id,found){if(found===false){self.addDB(id,function(id,added){if(added===true){P.instances.debug.log(P.Debug.DEBUG,"Running notification with id '"+id+"'!!");P.instances.reallyUnload=false;self.acknowledge(id,function(){setWindowLocation(json.url,false)})}else{P.instances.debug.log(P.Debug.DEBUG,"Not running notification with id '"+id+"' because it was added elsewhere when trying to add")}})}else{P.instances.debug.log(P.Debug.DEBUG,"Not running notification with id '"+id+"' because it is running elsewhere")}})}catch(e){P.instances.debug.log(P.Debug.ERROR,"Error in indexedDB code: "+e)}}else if(json.alerter){alerter.popup(json.alerter)}continue}catch(e){P.instances.debug.log(P.Debug.INFO,"Notification did not parse as JSON: "+e)}newNotifications=self.add(notifications.not[i])||newNotifications}if(newNotifications){self.refresh()}}}})};Notification.prototype.refresh=function(){var self=this;var notDiv=$("#notification");var notListDiv=$("#notificationList");var updateNotification=function(){notListDiv.empty();var urgentAlert=false;var newList=$("<ul />");
for(not in self.notifications){var curNot=self.notifications[not];var newListItem=$("<li />");newListItem.html(curNot.message);newList.append(newListItem);urgentAlert=curNot.urgent||urgentAlert}notListDiv.append(newList);if(urgentAlert){notDiv.addClass("urgentNotification")}else{notDiv.removeClass("urgentNotification")}notDiv.fadeIn(500)};if(notDiv.is(":visible")){notDiv.fadeOut(500,function(){updateNotification()})}else{updateNotification()}};Notification.prototype.close=function(){$("#notification").fadeOut(500);var notIds="";for(not in this.notifications){notIds+=this.notifications[not].id+","}this.notifications=[];if(notIds.length>0){var ignore=session.get("inot");if(ignore==null||$.trim(ignore)==""){ignore=","}ignore+=notIds;session.put("inot",ignore);notIds=notIds.substring(0,notIds.length-1);this.acknowledge(notIds)}};Notification.prototype.acknowledge=function(notIds,callback){var cb=function(){if(callback!=null){callback()}};ajax.call({url:this.url+"&act=a&notid="+notIds,pleaseWait:false,success:cb,error:cb})};Notification.prototype.add=function(newNot){if(!this.notifications[newNot.id]){if(newNot.uidtype==0||newNot.uidtype==3){var ignore=session.get("inot");if(ignore!=null&&$.trim(ignore)!=""){if(ignore.indexOf(","+newNot.id+",")!=-1){return false}}}this.notifications[newNot.id]=newNot;return true}else{return false}};Notification.prototype.validateFrequency=function(frequency){if(frequency!=null&&parseFloat(frequency)==parseInt(frequency)&&!isNaN(frequency)&&frequency>0){return true}else{return false}};Notification.prototype.startWebSocket=function(){var self=this;try{this.webSocketRetry++;P.instances.debug.log(P.Debug.DEBUG,"WebSocket connecting try "+this.webSocketRetry);this.ws=new WebSocket("wss://"+PEnvironment.notificationHost+":5000");this.ws.onopen=function(e){P.instances.debug.log(P.Debug.DEBUG,"WebSocket connected.");self.sendSessionId();self.webSocketRetry=0};this.ws.onclose=function(e){if(self.webSocketRetry<self.webSocketThreshold){function retry(){self.startWebSocket()}setTimeout(retry,1e3)}else{P.instances.debug.log(P.Debug.WARN,"WebSocket connection threshold reached. Not trying any more.")}};this.ws.onmessage=function(e){P.instances.debug.log(P.Debug.INFO,"WebSocket received: "+e.data);if(e.data!=null&&e.data==="refresh"){self.poll()}};this.ws.onerror=function(e){P.instances.debug.log(P.Debug.ERROR,"WebSocket error: "+e)}}catch(e){P.instances.debug.log(P.Debug.ERROR,"WebSocket connection error: "+e)}};Notification.prototype.sendSessionId=function(){var m={sessionId:getSession("JSESSIONID")};this.ws.send(JSON.stringify(m))};Notification.prototype.closeWebSocket=function(){if(this.ws!=null){this.ws.close()}};PAddress=function(addr,x,y,errorMsg,errorCode){this.addr=addr;this.x=x;this.y=y;if(errorMsg!=null){this.errorMessage=errorMsg}if(errorCode!=null){this.errorCode=errorCode}};PAddress.prototype.wasFound=function(){return this.x!=null&&this.y!=null};PAlerter=function(){};PAlerter.prototype.popup=function(content,clabel,alabel,acallback,ccallback){if(P.WKPrint.isPrintPage()===true){return}var currentDialog=$(".ui-dialog");if(currentDialog.length>0&&!currentDialog.hasClass("juiDataloaderDialog")){currentDialog.remove()}this.dialogContainer=$("<div/>");var dialogId="theDialog"+Math.floor(1e3*(Math.random()%1));var useImage=false;var minWidth=600;var width=minWidth;var imageUrl;var imageFocusUrl;var widen=false;var popupStyle="normal";var customDialogClass="";var buttons=[];var addCancel=false;var cancelText="OK";var cancelType="cancel";var cancelCallback=function(){$("#"+dialogId).remove();return true};if(typeof content=="object"&&content.content!=null){if(content.cancelText){cancelText=content.cancelText}if(content.cancelCallback){cancelCallback=content.cancelCallback}if(content.addCancel!=null){addCancel=content.addCancel}buttons=content.buttons;if(buttons==null){buttons=[]}if(buttons.length>=2){widen=true}if(content.popupStyle!=null){popupStyle=content.popupStyle}if(content.customDialogClass!=null){customDialogClass=content.customDialogClass}if(content.useImage!=null){useImage=content.useImage}if(content.width!=null){width=content.width}content=content.content}else{addCancel=true;cancelType=null;if(alabel&&acallback){buttons.push({label:alabel,callback:acallback,type:"ok"})}if(clabel){cancelText=clabel}if(typeof ccallback==="function"){cancelCallback=function(){var ret=ccallback();return ret!=null?ret:true}}}if(popupStyle=="slideshow"||popupStyle=="video"||popupStyle=="seelist"){var tab=$("<img/>");tab.attr({src:"/images/close_icon.png"});tab.addClass("alertCloseTab");tab.click(function(){if(cancelCallback instanceof Function){cancelCallback()}$("#"+dialogId).remove()});this.dialogContainer.append(tab);this.dialogContainer.addClass("alertDialogLarge")}if(popupStyle=="seelist"){this.dialogContainer.addClass("seeListPopUp")}this.dialogContainer.append(content);var buttonsDiv=$("<div/>");buttonsDiv.addClass("alertDialogButtonsDiv");if(widen==true){width=800}if(addCancel==true){buttons.push({label:cancelText,callback:cancelCallback,type:cancelType})}while(buttons.length>0){button=buttons.shift();var actionSpan=$("<span/>");var actionInput;if(useImage==true){imageUrl=PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=10&hp=10&tx=";imageFocusUrl=PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&vp=10&hp=10&alt=1&tx=";actionInput=$('<input type="image"/>');actionInput.addClass("alertImageButtons");actionInput.data("actionText",button.label);actionInput.attr("src",imageUrl+button.label);actionInput.attr("alt",button.label);actionInput.addClass("inputImageFocus");actionInput.focus(function(){$(this).attr("src",imageFocusUrl+$(this).data("actionText"))});actionInput.blur(function(){$(this).attr("src",imageUrl+$(this).data("actionText"))});var preload=$("<img/>");preload.attr("src",imageFocusUrl+button.label)}else{actionInput=$('<input type="button"/>');if(productProperty.exists("cb_button_color")){var cbBtnCol=productProperty.getValue("cb_button_color");cbBtnCol=cbBtnCol.replace(/^#/,"");cbBtnCol="#"+cbBtnCol;actionInput.css("background-color",cbBtnCol)}actionInput.addClass("alertDialogAlertButtons");if(button.className!=null){actionInput.addClass(button.className)}else{if(button.type=="cancel"){actionInput.addClass("alertDialogAlertButtonsCancel")}else{actionInput.addClass("alertDialogAlertButtonsOk")}}actionInput.attr("value",button.label)}if(button.type=="ok"){actionInput.attr("id","okCallbackButton")}actionInput.data("actionCallback",button.callback);actionInput.click(function(){var buttonCallback=$(this).data("actionCallback");if(buttonCallback instanceof Function){if(buttonCallback()!==false){$("#"+dialogId).remove()}}});actionSpan.append(actionInput);buttonsDiv.append(actionSpan)}this.dialogContainer.append(buttonsDiv);this.dialog=$("<div/>");this.dialog.addClass("theDialog");this.dialog.attr("id",dialogId);this.dialog.append(this.dialogContainer);this.dialog.dialog({dialogClass:customDialogClass,open:function(e,ui){$(".ui-dialog-titlebar-close").focus();if(typeof content.onLoad=="function"){content.onLoad()}},close:function(e,ui){if(cancelCallback instanceof Function){cancelCallback()}$("#"+dialogId).remove()},modal:true,width:width,minWidth:minWidth,closeOnEscape:true,draggable:false,resizable:false,zIndex:5002});if(popupStyle=="plain"){$(".ui-widget-overlay").css({background:"#000",opacity:.8});this.dialog.addClass("theDialogPlain");var go=$("<span />");go.click(function(){cancelCallback()});go.addClass("goButton");go.html("<span>GO</span>");buttonsDiv.append(go)}if(popupStyle=="wk"){this.dialog.addClass("theDialogPlain");this.dialog.addClass("WKPopUp")}this.dialogContainer.show();return dialogId};PAlerter.prototype.add=function(content){this.dialogContainer.append(content)};PAnalyticListLink=function(){this.name="3-Layer Map List";var linkParms=[];var listParms=[];var centerPoint=map.getCenterLatLng();linkParms.push("cx="+centerPoint.x);linkParms.push("cy="+centerPoint.y);linkParms.push("cz="+map.getZoom());for(var i=0;i<legendMerger.indicatorLegends.length;i++){if(legendMerger.getLegend(i).containsIndicator()){var legend=legendMerger.getLegend(i);var indicator=legend.getIndicator();linkParms.push("m"+i+"i="+indicator.id);listParms.push("m"+i+"i="+indicator.id);listParms.push("m"+i+"n="+encodeURIComponent(indicator.getFullLabel()));linkParms.push("m"+i+"btd="+legend.legend.getBoundaryType().id);listParms.push("m"+i+"bdi="+legend.legend.getCurrentBoundaryDefinitionId());var measurementType=indicator.measurement;if(measurementType){listParms.push("m"+i+"mt="+encodeURIComponent(measurementType))}var range=legend.getIndicatorRange().getRange();if(range){linkParms.push("m"+i+"r0="+range[0]);linkParms.push("m"+i+"r1="+range[1]);listParms.push("m"+i+"r0="+range[0]);listParms.push("m"+i+"r1="+range[1]);var fRange=legend.getIndicatorRange().getFormattedRange();listParms.push("m"+i+"fr0="+encodeURIComponent(fRange[0]));listParms.push("m"+i+"fr1="+encodeURIComponent(fRange[1]))}var values=legend.getIndicatorValues().getValues();if(values){var selValues=[];for(var j=0;j<values.length;j++){if(values[j][1]==1){selValues.push(values[j][0])}}linkParms.push("m"+i+"v="+encodeURIComponent(MochiKit.Base.serializeJSON(selValues)));listParms.push("m"+i+"v="+encodeURIComponent(MochiKit.Base.serializeJSON(selValues)))}linkParms.push("m"+i+"period="+indicator.getPeriod());listParms.push("m"+i+"period="+indicator.getPeriod())}}this.url="analyticslist?"+linkParms.join("&");this.parms="http://PolicyMapAnalyticsPage/analyticslist?"+listParms.join("&")};PAnalyticListLink.prototype.setName=function(linkName){this.name=linkName};PAnalyticListLink.prototype.addLinkParm=function(parmName,parmValue){this.url+="&"+parmName+"="+parmValue};PAnalyticListLink.prototype.addListParm=function(parmName,parmValue){this.parms+="&"+parmName+"="+parmValue};PAttributeFilter=function(name,values,type,valuesdisplay,columnname,columntype,id,groupId,iconOpts){this.name=name;this.values=values;if(type)this.type=type;else this.type=PAttributeFilter.EQUAL;if(valuesdisplay)this.valuesDisplay=valuesdisplay;if(columnname)this.columnName=columnname;else this.columnName=name;if(columntype||columntype==0)this.columnType=columntype;else this.columnType=PAttribute.NUMBER;var o=iconOpts;if(o){if(o.icon){this.icon=o.icon}if(o.color){this.color=o.color}if(o.shape){this.shape=o.shape}}this.id=id;this.groupId=groupId};PAttributeFilter.prototype.displayValues=function(){var retVal="";if(this.valuesDisplay&&this.valuesDisplay!=null&&this.valuesDisplay!=""){retVal=this.valuesDisplay}else{var display=[];var separator=", ";if(this.columnType==PAttribute.DATE){for(var i=0;i<this.values.length;i++)display.push(this.values[i].getFullYear()+"-"+this.values[i].getMonth()+"-"+this.values[i].getDate())}else if(this.columnType==PAttribute.BOOLEAN){if(this.values[0]&&this.values[0]==true)display.push("Yes");else display.push("No")}else display=this.values;if(this.type==PAttributeFilter.RANGE&&(this.columnType==PAttribute.NUMBER||this.columnType==PAttribute.DATE))separator=" - ";retVal=display.join(separator)}return retVal};PAttribute=function(name,value,type,columnname,unit,tabname,tabindex){this.name=name;this.value=value;this.type=type;if(columnname)this.columnName=columnname;else this.columnName=name;this.unit="";if(unit)this.unit=unit;if(tabname)this.tabName=tabname;if(tabindex)this.tabIndex=tabindex};PBounds=function(minX,minY,maxX,maxY){this.minX=minX;this.minY=minY;this.maxX=maxX;this.maxY=maxY};PBounds.prototype.toString=function(){return"("+this.min()+", "+this.max()+")"};PBounds.prototype.min=function(){return new PPoint(this.minX,this.minY)};PBounds.prototype.max=function(){return new PPoint(this.maxX,this.maxY)};PBounds.prototype.containsBounds=function(other){if(this.minX<=other.minX&&this.maxX>=other.maxX&&this.minY<=other.minY&&this.maxY>=other.maxY)return true;else return false};PBounds.prototype.extend=function(point){if(this.minX>point.x)this.minX=point.x;else if(this.maxX<point.x)this.maxX=point.x;if(this.minY>point.y)this.minY=point.y;else if(this.maxY<point.y)this.maxY=point.y};PChart=function(node,options,cube){this.options=new PChartOptions;if(options)this.options=options;this.ogColors=this.options.colorRamp.colors.slice();this.container=node;if(this.options.displayTitle){this.title=$("<div />");$(this.title).addClass("trend-chart-title");$(this.container).parent().prepend(this.title)}if(cube){this.setData(cube);this.refresh()}};PChart.prototype.setOptions=function(options){this.options=options};PChart.prototype.setData=function(cube){this.cube=cube;this.cube.charts.push(this)};PChart.prototype.clear=function(){while(this.container.hasChildNodes())this.container.removeChild(this.container.firstChild);this.canvas=document.createElement("canvas");this.canvas.id="chartcanvas_"+this.container.id;this.canvas.width=parseInt(jQuery(this.container).width());this.canvas.height=parseInt(this.container.style.height);this.container.appendChild(this.canvas)};PChart.prototype.getPlaceLabel=function(place){var label=place.label;var type=place.getType();if(this.options.displayState){label+=place.getDisplayState()}if(type){if(type==PPlaceType.CUSTOM||type==PPlaceType.POLYGON||!place.getDefinitionId()){label+=" ("+place.getType().getName()+")"}else{label+=" ("+boundaryMatrix.getDisplayNameForDefinitionId(place.getDefinitionId())+")"}}return label};PChart.prototype.getIndicatorLabel=function(ind){var label;if(this.options.displayFullIndicatorName)label=ind.getFullDisplayName();else label=ind.displayName;return label};PChart.prototype.refresh=function(){this.clear();if(this.options.displayTitle){this.title.html(this.cube.indicators[0].getLabel());if(this.options.type==PChartOptions.BAR)this.title.append(" in "+this.cube.periods[0])}var labels=[];var data=[];var xVar=[];if(this.options.xAxis==PChartOptions.PLACE)xVar=this.cube.places;else if(this.options.xAxis==PChartOptions.INDICATOR)xVar=this.cube.indicators;else xVar=this.cube.periods;var groupVar=[];if(this.options.group==PChartOptions.PLACE)groupVar=this.cube.places;else if(this.options.group==PChartOptions.INDICATOR)groupVar=this.cube.indicators;else groupVar=this.cube.periods;var rVar=[];if(this.options.xAxis==PChartOptions.PLACE&&this.options.group==PChartOptions.INDICATOR||this.options.xAxis==PChartOptions.INDICATOR&&this.options.group==PChartOptions.PLACE)rVar=this.cube.periods;else if(this.options.xAxis==PChartOptions.PLACE&&this.options.group==PChartOptions.PERIOD||this.options.xAxis==PChartOptions.PERIOD&&this.options.group==PChartOptions.PLACE)rVar=this.cube.indicators;else rVar=this.cube.places;if(this.options.displayXAxisLabel){var l=xVar.length;var width=jQuery(this.container).width();var allowedNum=null;if(65*l>width){allowedNum=Math.floor(width/65)}var count=0;for(var i=0;i<l;i++){var label="";var showlabel=true;count++;if(allowedNum){showlabel=false;if(Math.floor(l/allowedNum)==count||i==0){showlabel=true;count=0}}if(xVar[i]instanceof PPlace)label=this.getPlaceLabel(xVar[i]);else if(xVar[i]instanceof PIndicator)label=this.getIndicatorLabel(xVar[i]);else if(showlabel){label=xVar[i]}var xticks={v:i,label:label};labels.push(xticks)}if(l==1){labels.push({v:1,label:""})}}var periodid=null;var placeid=null;var indid=null;var nodata=null;var maxValue=0;var l1=groupVar.length;var l2=xVar.length;var l3=rVar.length;for(var i=0;i<l1;i++){var values=[];if(groupVar[i]instanceof PPlace)placeid=groupVar[i].id;else if(groupVar[i]instanceof PIndicator){indid=groupVar[i].id;nodata=groupVar[i].nodata}else periodid=groupVar[i];for(var j=0;j<l2;j++){if(xVar[j]instanceof PPlace)placeid=xVar[j].id;else if(xVar[j]instanceof PIndicator){indid=xVar[j].id;nodata=xVar[j].nodata}else periodid=xVar[j];for(var k=0;k<l3;k++){if(rVar[k]instanceof PPlace)placeid=rVar[k].id;else if(rVar[k]instanceof PIndicator){indid=rVar[k].id;nodata=rVar[k].nodata}else periodid=rVar[k];if(this.cube.values[periodid][placeid]===undefined){this.cube.values[periodid][placeid]=[];this.cube.values[periodid][placeid][indid]=null}var value=this.cube.values[periodid][placeid][indid];if(typeof value!="number"||value==nodata)value=null;if(value&&value>maxValue)maxValue=value;if(value==null)value="0.00000";values.push([j,value]);if(l2==1)values.push([1,0])}}data.push(values)}if(this.options.yMax)maxValue=this.options.yMax;else{var interval="1";var maxInt=maxValue.toString().split(".");for(var i=1;i<maxInt[0].toString().length;i++)interval+="0";maxValue+=parseInt(interval);maxValue=parseInt(maxValue/interval)*interval}if(maxValue<0)maxValue=0;var intervals=this.options.yIntervals;if(intervals==null){intervals=maxValue.toString().charAt(0);if(intervals<2)intervals=intervals*4;else if(intervals<4)intervals=intervals*2}this.layoutOptions={xTicks:labels,yNumberOfTicks:intervals};var hexColor=MochiKit.Color.Color.fromHexString;var color;if(this.options.baseColor)color=PlotKit.Base.palette(hexColor(this.options.baseColor));else{var colors=this.options.colorRamp.colors;if(groupVar.length>colors.length){for(var i=0;i<this.ogColors.length;i++){colors.push(this.ogColors[i])}}color=this.options.colorRamp.convertToHex()}var shouldFill=true;if(this.options.type==PChartOptions.LINE)shouldFill=false;var paddingLeft=70;if(this.options.type==PChartOptions.PIE)paddingLeft=0;this.renderOptions={colorScheme:color,padding:{left:paddingLeft,right:0,top:10,bottom:30},shouldFill:shouldFill,backgroundColor:hexColor(this.options.backgroundColor),displayValue:this.options.displayValue,barSingleDatasetColor:this.options.barSingleDatasetColor};var charttype="bar";if(this.options.type==PChartOptions.LINE)charttype="line";else if(this.options.type==PChartOptions.PIE)charttype="pie";var layout=new PlotKit.Layout(charttype,this.layoutOptions);for(var i=0;i<data.length;i++)layout.addDataset(i,data[i]);layout.evaluate();var plotter=new PlotKit.SweetCanvasRenderer(this.canvas,layout,this.renderOptions);this.plotkitLayout=layout;plotter.render()};PChart.prototype.inTrendChart=function(){return this.options&&this.options.type==PChartOptions.LINE};PChartLink=function(places,indicators,periods,data,customregions,ppoly,printtype){var args=[];var placelabels=[];var placelabel="";var overlayLabels=[];if(printtype==null||printtype=="ranks"&&(rankingCube==null||!$("#popup").is(":visible"))){printtype="chart"}var l=places?places.length:0;if(l>0){var ids=[];for(var i=0;i<l;i++){if(places[i].typeid!=0&&places[i].typeid!=95){ids.push(places[i].id);placelabels.push(places[i].label)}}args.push("chp="+ids.join(","))}var l=indicators?indicators.length:0;if(l>0){var ids=[];for(var i=0;i<l;i++){ids.push(indicators[i].id)}args.push("i="+ids.join(","))}var l=periods?periods.length:0;if(l>0){var ids=[];for(var i=0;i<l;i++){ids.push(periods[i])}args.push("period="+ids.join(","))}var a=data.o;if(a){args.push("o="+a);var overlays=a.split(",");var l=overlays.length;for(var i=0;i<l;i++){var oset=getActiveOverlaySetByIdAndType(overlays[i],"old");if(!oset.child){overlayLabels.push(oset.name)}}}var a=data.ofilters;if(a){args.push("ofilters="+a)}var a=data.dlo;if(a){args.push("dlo="+a);var overlays=a.split(",");var l=overlays.length;for(var i=0;i<l;i++){var oset=getActiveOverlaySetByIdAndType(overlays[i],"dl");if(!oset.child){overlayLabels.push(oset.name)}}}if(customregions&&customregions.length>0){var cpids="";var cplabels="";var l=customregions.length;for(var i=0;i<l;i++){cpids+=customregions[i].id;cplabels+=customregions[i].label;if(i<l-1){cpids+=",";cplabels+=", "}}args.push("cp="+cpids);if(l>1){placelabels.push("Custom Regions ("+cplabels+")")}else{placelabels.push("Custom Region ("+cplabels+")")}}if(ppoly){var polyname=decodeURIComponent(session.get("pname"));args.push("bid="+session.get("bid"));args.push("pname="+encodeURIComponent(polyname));args.push("plat="+session.get("plat"));args.push("plng="+session.get("plng"));placelabels.push("Polygon ("+polyname+")")}if(aggPlaceType){args.push("agg="+aggPlaceType.id)}var page="";var l=placelabels.length;if(l==1){placelabel=placelabels[0]}else if(l==2){placelabel=placelabels[0]+" and "+placelabels[1]}else{for(var i=0;i<l;i++){placelabel+=placelabels[i];if(i<l-2){placelabel+=", "}else if(i==l-2){placelabel+=", and "}}}if(printtype=="list"){page="lists?";if(P.instances.rPlaces&&P.instances.rPlaces.elm.is(":visible")){var overlap=P.instances.rPlaces.overlap;if(P.instances.rPlaces.placeTouch==true){overlap="touch"}args.push("rpl1="+P.instances.rPlaces.placeType);args.push("rpl2="+P.instances.rPlaces.placeId);args.push("rpl3="+P.instances.rPlaces.indId);args.push("rpl4="+P.instances.rPlaces.placeTypeId);args.push("rpl5="+P.instances.rPlaces.period);args.push("rpl6="+encodeURIComponent(P.instances.rPlaces.placeName));args.push("rpl8="+P.instances.rPlaces.placeCount);if(P.instances.rPlaces.datasetType){args.push("rpl9="+P.instances.rPlaces.datasetType)}args.push("rpl10="+overlap);var tmpPlace=new PPlace;tmpPlace.typeid=P.instances.rPlaces.placeTypeId;this.name="List of "+tmpPlace.getTypeById().getPluralName()+(P.instances.rPlaces.placeTouch==true?" touching ":" within ")+P.instances.rPlaces.placeName+" with "+P.instances.rPlaces.indName}else if(P.instances.rPins&&P.instances.rPins.elm.is(":visible")){args.push("rpp1="+encodeURIComponent(P.instances.rPins.placeName));args.push("rpp2="+P.instances.rPins.dataset.id);args.push("rpp3="+encodeURIComponent(P.instances.rPins.dataset.name));args.push("rpp4="+P.instances.rPins.placeId);args.push("rpp5="+P.instances.rPins.vertices);args.push("rpp6="+P.instances.rPins.pinCount);args.push("rpp8="+P.instances.rPins.placeTypeId);if(P.instances.rPins.datasetType){args.push("rpp9="+P.instances.rPins.dataset.type)}this.name="List of "+P.instances.rPins.dataset.name+" in "+P.instances.rPins.placeName}}else if(printtype=="ranks"){var rankPlace=P.instances.rRanks.place.getID();var rankPlaceType=P.instances.rRanks.place.getType().getPluralName();var rankDisplayName=P.instances.rRanks.ind.fullDisplayNames[P.instances.rRanks.ind.curPerIndex];page="tables?";args.push("rp="+rankPlace);this.name="Ranking of "+rankPlaceType+" for "+rankDisplayName}else{page="tables?";this.name="Table of "+placelabel+(data.o||data.dlo?" with ":"")+overlayLabels.join(", ")+(data.o||data.dlo?data.i?" and ":"":" with ")+indicators[0].getFullDisplayName()}this.url=page+args.join("&")};PChartOptions=function(){this.type=PChartOptions.BAR;this.xAxis=PChartOptions.PLACE;this.group=PChartOptions.INDICATOR;this.baseColor=null;this.colorRamp=PColorRamp.DISTINCT;this.backgroundColor="#eeeeee";this.yDecimal=0;this.yIntervals=null;this.yMax=null;this.displayState=true;this.displayFullIndicatorName=false;this.displayXAxisLabel=true;this.displayValue=false;this.barSingleDatasetColor=false};PClientGeocoder=function(type,loc){this.server=PEnvironment.geocoderUrl;this.type="navteq";this.location="us";if(type)this.type=type;if(loc)this.location=loc};PClientGeocoder.prototype.getLatLng=function(address,callback){ajax.call({url:this.server+PEnvironment.dataServicesUrl+"?id=1&ty=data&t=geo&geoa="+encodeURIComponent(address.trim())+"&fmt=js",context:this,success:callback})};PClientGeocoder.prototype.getLatLngFromAddressObject=function(address,callback){var args="";if(address.address1){args+="&geoa1="+encodeURIComponent(address.address1)}if(address.address2){args+="&geoa2="+encodeURIComponent(address.address2)}if(address.city){args+="&geoc="+encodeURIComponent(address.city)}if(address.state){args+="&geos="+encodeURIComponent(address.state)}if(address.zip){args+="&geoz="+encodeURIComponent(address.zip)}ajax.call({url:this.server+PEnvironment.dataServicesUrl+"?id=1&ty=data&t=geo"+args+"&fmt=js",context:this,success:callback})};PClientGeocoder.prototype.getLocations=function(address,callback){ajax.call({url:this.server+PEnvironment.dataServicesUrl+"?id=1&ty=data&t=geo&geoa="+encodeURIComponent(address.trim())+"&fmt=js",context:this,success:callback})};PClientGeocoder.prototype.getPlace=function(search,callback,maxResults,order,placetypes,matrixId,defIds,country,attr,multiMatrix){search=search.toLowerCase();if(search.match("county")!=null){search=search.replace("county","");placetype=PPlaceType.COUNTY}var max=10;if(maxResults)max=maxResults;var query="&sch="+encodeURIComponent(search.trim())+"&max="+max;if(matrixId==null){matrixId=boundaryMatrix.getCurrentMatrixId()}if(!defIds){if(!placetypes){placetypes=[PPlaceType.COUNTRY,PPlaceType.STATE,PPlaceType.COUNTY,PPlaceType.COUNTY_SUBDIVISION,PPlaceType.CITY,PPlaceType.ZIP]}try{defIds=boundaryMatrix.getDefinitionIdForTypeId(this._getPlaceTypeIds(placetypes),matrixId)}catch(e){callback.call(this,[]);return}}query+="&pdi="+defIds;if(order){query+="&ord="+order}if(country){query+="&ctry="+encodeURIComponent(country)}if(attr){query+="&attr="+attr}if(productProperty.exists("search_limit_states")){query+="&ls="+productProperty.getValue("search_limit_states")}ajax.call({url:PEnvironment.boundaryjsUrl+"?act=plc"+query,context:this,success:function(places){if(multiMatrix!=null&&multiMatrix===true){if(places.length==0){var matrixOrder=boundaryMatrix.getMatrixOrder(true);var curPos=$.inArray(matrixId,matrixOrder);if(curPos<matrixOrder.length-1){this.getPlace(search,callback,maxResults,order,placetypes,matrixOrder[curPos+1],null,country,attr,true)}else{callback.call(this,[])}}else{callback.call(this,places)}}else{callback.call(this,places)}}})};PClientGeocoder.prototype.getPlaceContainment=function(center,placetype,matrixId,defId,callback,cmc){var defArg;if(defId){defArg=defId}else{defArg=boundaryMatrix.getDefinitionIdForTypeId(placetype.getId(),matrixId)}var url=PEnvironment.boundaryjsUrl+"?act=con"+"&attr=id,identifier,label,typeid,centroid,bounds,area,pop,state,country,gsussdid"+"&x="+center.lng()+"&y="+center.lat()+"&pdi="+defArg+"&lmi="+boundaryMatrix.getCurrentMatrixId()+(cmc!=null&&cmc===true?"&cmc=1":"");ajax.call({url:url,context:this,success:callback})};PClientGeocoder.prototype.getPlaceContainmentByPlace=function(place,callback){ajax.call({url:PEnvironment.boundaryjsUrl+"?act=con&pid="+place.id,context:this,success:callback})};PClientGeocoder.prototype.getPlacesQuery=function(action,bounds,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,count,context,offset,query,attr){var isAssembled=bounds instanceof PPlace&&bounds.isAssembledCustom()&&bounds.aplaces&&bounds.aplaces.length>0;var assembledDefId=isAssembled?String(bounds.aplaces[0].getDefinitionId()):null;var defIdStrings=[];if(defId){if(!(defId instanceof Array)){defId=[defId]}if(placetype==null){placetype=getPlaceTypeById(boundaryMatrix.getTypeIdForDefinitionId(defId[0]))}var defIdCopy=defId.slice(0);defId=[];$.each(defIdCopy,function(index,id){if($.inArray(id,defId)===-1){defId.push(id)}});if(isAssembled){var defIdIndex=null;for(var i=0;i<defId.length;i++){if(defId==assembledDefId){defIdIndex=i;break}}if(defIdIndex!=null){defIdStrings.push(String(defId[defIdIndex]));defId.splice(defIdIndex,1)}if(defId.length>0){defIdStrings.push(defId.join(","))}}else{defIdStrings.push(defId.join(","))}}else{defIdStrings.push(String(boundaryMatrix.getDefinitionIdForTypeId(placetype.getId(),matrixId)))}query=query||"";query+="&"+this.getBoundsQuery(bounds);query+=this.getContainmentsQuery(bounds,placetype);if(quota==undefined){var olap=true;if(arguments.length>3&&overlap!=undefined){olap=overlap}query+="&olp="+olap}if(maxResults){query+="&max="+maxResults}if(order){query+="&ord="+order}if(quota!=undefined&&quota!=null){query+="&qta="+quota}if(count!=undefined&&count!=null){query+="&cnt=1"}if(attr){query+="&attr="+attr}var callbackContext=context||this;var allPlaces=[];var requestsReceived=0;for(var i=0;i<defIdStrings.length;i++){var curDefIdString=defIdStrings[i];var requestQuery=query;requestQuery+="&pdi="+curDefIdString;ajax.call({url:PEnvironment.boundaryjsUrl+"?act="+action+requestQuery,context:this,success:function(places){requestsReceived++;allPlaces=allPlaces.concat(places);if(requestsReceived==defIdStrings.length){callback.call(callbackContext,allPlaces)}}})}};PClientGeocoder.prototype.getPlacesQueryPage=function(action,bounds,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,context,offset,query){query=query||"";query+="&fmt=json";query+="&"+this.getBoundsQuery(bounds);query+=this.getContainmentsQuery(bounds,placetype);if(defId){query+="&pdi="+defId}else{query+="&pdi="+boundaryMatrix.getDefinitionIdForTypeId(placetype.getId(),matrixId)}if(quota==undefined){var olap=true;if(arguments.length>3&&overlap!=undefined)olap=overlap;query+="&olp="+olap}if(maxResults)query+="&max="+maxResults;if(order)query+="&ord="+order;if(quota!=undefined&&quota!=null)query+="&qta="+quota;if(offset!=undefined&&offset!=null)query+="&off="+offset;ajax.call({url:PEnvironment.boundaryjsUrl+"?act="+action+query,context:this,success:callback})};PClientGeocoder.prototype.getPlacesQueryCSV=function(action,bounds,placetype,matrixId,defId,overlap,order,quota,query){query=query||"";query+="&fmt=csv";query+="&"+this.getBoundsQuery(bounds);if(defId){query+="&pdi="+defId;placetype=getPlaceTypeById(boundaryMatrix.getTypeIdForDefinitionId(defId))}else{query+="&pdi="+boundaryMatrix.getDefinitionIdForTypeId(placetype.getId(),matrixId)}query+=this.getContainmentsQuery(bounds,placetype);if(quota==undefined){var olap=true;if(overlap!=undefined)olap=overlap;query+="&olp="+olap}if(order)query+="&ord="+order;if(quota!=undefined&&quota!=null)query+="&qta="+quota;setWindowLocation(PEnvironment.boundaryjsUrl+"?act="+action+query)};PClientGeocoder.prototype.getAllPlacesCSV=function(placetype,matrixId,defId,indicator,period){var query="&ind="+indicator.getID()+"&per="+period;if(defId){query+="&pdi="+defId}else{query+="&pdi="+boundaryMatrix.getDefinitionIdForTypeId(placetype.getId(),matrixId)}if(map.sid)query+="&sid="+map.sid;setWindowLocation(PEnvironment.boundaryjsUrl+"?act=all"+query+"&fmt=csv")};PClientGeocoder.prototype.getPlaceContaining=function(center,placetypes,matrixId,defIds,callback){if(!defIds){defIds=boundaryMatrix.getDefinitionIdForTypeId(this._getPlaceTypeIds(placetypes),matrixId)}ajax.call({url:PEnvironment.boundaryjsUrl+"?act=ctg&x="+center.lng()+"&y="+center.lat()+"&pdi="+defIds.join(","),context:this,success:callback})};PClientGeocoder.prototype.getBoundsQuery=function(bounds){var query="";if(bounds instanceof PPlace){if(bounds.typeid==0){query+="customid="+bounds.id;query+="&ctypeid="+bounds.ctypeid}else if(bounds.polysetid){query+="polyid="+bounds.id;query+="&polysetid="+bounds.polysetid}else{query+="pid="+bounds.id}}else if(bounds instanceof Array){query+="vtc=";if(bounds.length<3)return;if(!bounds[0].equals(bounds[bounds.length-1]))bounds.push(bounds[0]);for(var i=0;i<bounds.length;i++){query+=bounds[i].lat()+","+bounds[i].lng();if(i<bounds.length-1)query+=";"}}else if(bounds instanceof PLatLngBounds){var sw=bounds.getSouthWest();var ne=bounds.getNorthEast();query+="mnx="+sw.lng()+"&mny="+sw.lat()+"&mxx="+ne.lng()+"&mxy="+ne.lat()}else if(bounds instanceof PLatLng){query+="x="+bounds.lng()+"&y="+bounds.lat()}else if(bounds instanceof PRadius){var centerPoint=bounds.getCenter();query+="rlat="+centerPoint.lat();query+="&rlng="+centerPoint.lng();query+="&rd="+bounds.getDistanceMeters()}return query};PClientGeocoder.prototype.getPlacesWithin=function(bounds,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr){this.getPlacesQuery("wit",bounds,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,null,null,null,null,attr)};PClientGeocoder.prototype.getPlacesWithinCount=function(bounds,placetype,matrixId,defId,callback,overlap,quota,context){this.getPlacesQuery("wit",bounds,placetype,matrixId,defId,callback,overlap,null,null,quota,true,context)};PClientGeocoder.prototype.getPlacesWithinPage=function(bounds,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,context,offset,query){this.getPlacesQueryPage("wit",bounds,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,context,offset,query)};PClientGeocoder.prototype.getPlacesWithinCSV=function(bounds,placetype,matrixId,defId,overlap,order,quota,query){this.getPlacesQueryCSV("wit",bounds,placetype,matrixId,defId,overlap,order,quota,query)
};PClientGeocoder.prototype.getPlacesContaining=function(bounds,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr){this.getPlacesQuery("ctg",bounds,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,null,null,null,null,attr)};PClientGeocoder.prototype.getPlacesContainingCount=function(bounds,placetype,matrixId,defId,callback,overlap,quota,callback){this.getPlacesQuery("ctg",bounds,placetype,matrixId,defId,callback,overlap,null,null,quota,true)};PClientGeocoder.prototype.getPlacesOverlapping=function(bounds,placetype,matrixId,defId,callback,quota,maxResults,order){this.getPlacesQuery("olp",bounds,placetype,matrixId,defId,callback,null,maxResults,order,quota)};PClientGeocoder.prototype.getPlacesOverlappingCount=function(bounds,placetype,matrixId,defId,callback,quota){this.getPlacesQuery("olp",bounds,placetype,matrixId,defId,callback,null,null,null,quota,true)};PClientGeocoder.prototype.getPlacesIntersecting=function(bounds,placetype,matrixId,defId,callback,quota,maxResults,order){this.getPlacesQuery("int",bounds,placetype,matrixId,defId,callback,null,maxResults,order,quota)};PClientGeocoder.prototype.getPlacesIntersectingCount=function(bounds,placetype,matrixId,defId,callback,quota){this.getPlacesQuery("int",bounds,placetype,matrixId,defId,callback,null,null,null,quota,true)};PClientGeocoder.prototype.getPlacesIntersectingPage=function(bounds,placetype,matrixId,defId,callback,maxResults,order,quota,context,offset,query){this.getPlacesQueryPage("int",bounds,placetype,matrixId,defId,callback,null,maxResults,order,quota,context,offset,query)};PClientGeocoder.prototype.getPlacesIntersectingCSV=function(bounds,placetype,matrixId,defId,order,quota,query){this.getPlacesQueryCSV("int",bounds,placetype,matrixId,defId,null,order,quota,query)};PClientGeocoder.prototype.getMarkersWithin=function(bounds,overlayset,callback){var query="&"+this.getBoundsQuery(bounds);if(overlayset.limit!=null){query+="&lim="+overlayset.limit}if(overlayset.offset!=null){query+="&off="+overlayset.offset}if(overlayset.noCount&&overlayset.noCount===true){query+="&nct=t"}if(overlayset.overrideLimit&&overlayset.overrideLimit===true){query+="&ovlim=t"}var url="";if(overlayset.type=="old"){url=PEnvironment.pinUrl+"?did="+overlayset.id;if(overlayset.isPoly){url+="&typ=poly"}}else{url=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=site&act=w&did="+overlayset.id}url+=query+"&ftr="+encodeURIComponent(overlayset.createQuery());if(overlayset.format=="csv"){url+="&fmt=csv";setWindowLocation(url)}else{ajax.call({url:url,context:this,success:callback})}};PClientGeocoder.prototype.getMarkersWithinCSV=function(bounds,ids){var query="&"+this.getBoundsQuery(bounds);var url=PEnvironment.pinUrl+"?did="+ids.join(",")+query+"&ftr=&fmt=csv";setWindowLocation(url)};PClientGeocoder.prototype.getContainmentsQuery=function(bounds,placetype){var query="";var inContainments;if(bounds instanceof PPlace){if(bounds.isAssembledCustom()){var assembledPlaceType=bounds.aplaces[0].getType();inContainments=this.isInContainments(placetype,assembledPlaceType)}else{inContainments=this.isInContainments(placetype,bounds.getType())}if(inContainments&&(!bounds.isCustomOrPoly()||bounds.isAssembledCustom()))query+="&usecon=true"}return query};PClientGeocoder.prototype.isInContainments=function(type1,type2){var arr=[PPlaceType.NJ_RENTAL_MARKETS,PPlaceType.SENATE];for(var i=0;i<arr.length;i++){if(type1==arr[i]||type2==arr[i])return false}return true};PClientGeocoder.prototype._getPlaceTypeIds=function(placeTypes,list){if(!$.isArray(placeTypes)){placeTypes=[placeTypes]}var placeTypeIds=[];for(var i=0;i<placeTypes.length;i++){placeTypeIds.push(placeTypes[i].getId())}if(list){return placeTypeIds.join(",")}else{return placeTypeIds}};PColor=function(color){this.color=color};PColor.prototype.getColor=function(){return this.color};PColor.prototype.convertToHex=function(){var hexColor=MochiKit.Color.Color.fromHexString;return hexColor(this.color)};PColorRamp=function(name,colors,negs){this.name=name;this.colors=colors;if(negs){this.negativecolors=negs}else{this.negativecolors=[new PColor("FFE493"),new PColor("FFD75F"),new PColor("FFCD50"),new PColor("FFB633"),new PColor("F9A22C"),new PColor("E58E1A"),new PColor("D07A08"),new PColor("BB6600")]}};PColorRamp.prototype.getName=function(){return this.name};PColorRamp.prototype.getColors=function(){return this.colors};PColorRamp.prototype.convertToHex=function(){var hexColors=[];for(var i=0;i<this.colors.length;i++)hexColors.push(this.colors[i].convertToHex());return hexColors};PColorRamp.prototype.getNegativeColors=function(){return this.negativecolors};PColorRampOptions={};PColorRampOptions.order=["default","magenta","red","orange","olive","green","blue","black"];PColorRampOptions["default"]={ramp:new PColorRamp("default",[new PColor("EFEAFC"),new PColor("DCD2F7"),new PColor("C5B7EE"),new PColor("AA9AE2"),new PColor("8D79D2"),new PColor("6C58BE"),new PColor("534497"),new PColor("3D3465")])};PColorRampOptions["magenta"]={ramp:new PColorRamp("magenta",[new PColor("FBF3F5"),new PColor("F6E4E8"),new PColor("EAC2CB"),new PColor("DD9CAB"),new PColor("CB6A81"),new PColor("B83352"),new PColor("871D36"),new PColor("5E071B")])};PColorRampOptions["red"]={ramp:new PColorRamp("red",[new PColor("FDF8EE"),new PColor("FCF0E6"),new PColor("F6CFC3"),new PColor("EC988B"),new PColor("E36657"),new PColor("DB392A"),new PColor("A11E13"),new PColor("740C03")])};PColorRampOptions["orange"]={ramp:new PColorRamp("orange",[new PColor("FEFBD5"),new PColor("FDF2CC"),new PColor("F9DBAB"),new PColor("F6C488"),new PColor("EE913E"),new PColor("EA7617"),new PColor("AF540A"),new PColor("803D08")])};PColorRampOptions["olive"]={ramp:new PColorRamp("olive",[new PColor("FDFBED"),new PColor("F6F4E1"),new PColor("EEEAD1"),new PColor("DFD9B7"),new PColor("CBC396"),new PColor("A3985A"),new PColor("82794C"),new PColor("5C5531")])};PColorRampOptions["green"]={ramp:new PColorRamp("green",[new PColor("FBFBEB"),new PColor("F6F4E1"),new PColor("E8EFCA"),new PColor("CDDFA1"),new PColor("AFCD72"),new PColor("7BAE35"),new PColor("67882A"),new PColor("466015")])};PColorRampOptions["blue"]={ramp:new PColorRamp("blue",[new PColor("F1F8FB"),new PColor("E5F0F6"),new PColor("C7DDEA"),new PColor("9BC0D8"),new PColor("71A5C6"),new PColor("2A76A7"),new PColor("135078"),new PColor("033453")])};PColorRampOptions["black"]={ramp:new PColorRamp("black",[new PColor("F6F6F7"),new PColor("F0F0F1"),new PColor("DCDCE0"),new PColor("C0BFC5"),new PColor("A4A2AA"),new PColor("777580"),new PColor("504E57"),new PColor("35333A")])};PColorRampOptions["revblack"]={ramp:new PColorRamp("revblack",[new PColor("35333A"),new PColor("504E57"),new PColor("777580"),new PColor("A4A2AA"),new PColor("C0BFC5"),new PColor("DCDCE0"),new PColor("F0F0F1"),new PColor("F6F6F7")])};PColorRampOptions["PkPr2"]={ramp:new PColorRamp("PkPr2",[new PColor("F8E9F1"),new PColor("ECCAE2"),new PColor("DEADD7"),new PColor("CF92CE"),new PColor("B778BE"),new PColor("9A61AB"),new PColor("79538E"),new PColor("5C4770")],[new PColor("FFFFE1"),new PColor("FEF7B8"),new PColor("FAE292"),new PColor("F5C16B"),new PColor("EE9B48"),new PColor("E66F26"),new PColor("C64A1C"),new PColor("9C2E1B")])};PColorRampOptions["Gn1"]={ramp:new PColorRamp("Gn1",[new PColor("F7F8E9"),new PColor("E3ECCA"),new PColor("CCDEAD"),new PColor("B0CF92"),new PColor("93BE78"),new PColor("74AB61"),new PColor("5A8E53"),new PColor("477047")],[new PColor("F8F2E9"),new PColor("ECDBCA"),new PColor("DEBFAD"),new PColor("CFA292"),new PColor("BE8178"),new PColor("AB6161"),new PColor("8E535B"),new PColor("704752")])};PColorRampOptions["Bl1"]={ramp:new PColorRamp("Bl1",[new PColor("E7F4FA"),new PColor("C6E3F0"),new PColor("A7CDE4"),new PColor("89B0D8"),new PColor("6D8FC9"),new PColor("546DB8"),new PColor("46519B"),new PColor("3D3D7A")],[new PColor("FAF2E7"),new PColor("F0DBC6"),new PColor("E4BEA7"),new PColor("D89D89"),new PColor("C9796D"),new PColor("B85454"),new PColor("9B4651"),new PColor("7A3D4E")])};PColorRampOptions["Rd2"]={ramp:new PColorRamp("Rd2",[new PColor("FFFFE1"),new PColor("FEF7B8"),new PColor("FAE292"),new PColor("F5C16B"),new PColor("EE9B48"),new PColor("E66F26"),new PColor("C64A1C"),new PColor("9C2E1B")],[new PColor("F8FAE7"),new PColor("E6F0C6"),new PColor("CDE4A7"),new PColor("B0D889"),new PColor("8FC96D"),new PColor("6DB854"),new PColor("519B46"),new PColor("3D7A3D")])};PColorRampOptions["Rd1"]={ramp:new PColorRamp("Rd1",[new PColor("FAF2E7"),new PColor("F0DBC6"),new PColor("E4BEA7"),new PColor("D89D89"),new PColor("C9796D"),new PColor("B85454"),new PColor("9B4651"),new PColor("7A3D4E")],[new PColor("E7F4FA"),new PColor("C6E3F0"),new PColor("A7CDE4"),new PColor("89B0D8"),new PColor("6D8FC9"),new PColor("546DB8"),new PColor("46519B"),new PColor("3D3D7A")])};PColorRampOptions["Rd3"]={ramp:new PColorRamp("Rd3",[new PColor("9C2E1B"),new PColor("C64A1C"),new PColor("E66F26"),new PColor("EE9B48"),new PColor("F5C16B"),new PColor("FAE292"),new PColor("FEF7B8"),new PColor("FFFFE1")],[new PColor("3D7A3D"),new PColor("519B46"),new PColor("6DB854"),new PColor("8FC96D"),new PColor("B0D889"),new PColor("CDE4A7"),new PColor("E6F0C6"),new PColor("F8FAE7")])};PColorRampOptions["WhBl1"]={ramp:new PColorRamp("WhBl1",[new PColor("FFFFFF"),new PColor("F0F0F0"),new PColor("D9D9D9"),new PColor("BDBDBD"),new PColor("969696"),new PColor("737373"),new PColor("525252"),new PColor("252525")],[new PColor("FAF2E7"),new PColor("F0DBC6"),new PColor("E4BEA7"),new PColor("D89D89"),new PColor("C9796D"),new PColor("B85454"),new PColor("9B4651"),new PColor("7A3D4E")])};PColorRampOptions["redblue"]={ramp:new PColorRamp("redblue",[new PColor("9C0E0E"),new PColor("EA1515"),new PColor("6363F1"),new PColor("1515EA"),new PColor("0E0E9C")]),excludeFromMenu:true,ignoreNegative:true};PColorRampOptions["whiteblue"]={ramp:new PColorRamp("whiteblue",[new PColor("FFFFFF"),new PColor("ABCEDB"),new PColor("58AEC1"),new PColor("0684A8")]),excludeFromMenu:true,ignoreNegative:true};PColorRampOptions["frb_pastel"]={ramp:new PColorRamp("frb_pastel",[new PColor("FFFFC9"),new PColor("F7B94D"),new PColor("AFCAF0"),new PColor("C0AAE6")]),excludeFromMenu:true,ignoreNegative:true};PColorRampOptions["cb_clone"]={ramp:new PColorRamp("cb_clone",[new PColor("e6edf8"),new PColor("c7deef"),new PColor("a8cfe6"),new PColor("89c0dd"),new PColor("6bb1d5"),new PColor("4ca2cc"),new PColor("2d93c3"),new PColor("0e84ba")]),excludeFromMenu:true,ignoreNegative:true};PColorRampOptions["cultureblocks"]={ramp:new PColorRamp("cultureblocks",[new PColor("EAF2F4"),new PColor("CEE9ED"),new PColor("9CD3DB"),new PColor("6BBCC9"),new PColor("0890A5"),new PColor("067080"),new PColor("04505C"),new PColor("033037")]),excludeFromMenu:true};PColorRampOptions["artswave"]={ramp:new PColorRamp("artswave",[new PColor("F3F1FF"),new PColor("D7CBFF"),new PColor("AC8EF0"),new PColor("8349D9"),new PColor("562989")]),excludeFromMenu:true};PColorRampOptions["lincoln"]={ramp:new PColorRamp("lincoln",[new PColor("E0ECD7"),new PColor("C8E0BC"),new PColor("AAD59F"),new PColor("60C162"),new PColor("42B452"),new PColor("34954C"),new PColor("267443"),new PColor("195134")]),excludeFromMenu:true};PColorRampOptions["oldpurple"]={ramp:new PColorRamp("oldpurple",[new PColor("FFE6F4"),new PColor("E6CCE0"),new PColor("C7A4C7"),new PColor("B29AB8"),new PColor("9B839B"),new PColor("866F94"),new PColor("725B82"),new PColor("5D4770")]),excludeFromMenu:true};PColorRampOptions["greenplus"]={ramp:new PColorRamp("greenplus",[new PColor("359540"),new PColor("56D83C"),new PColor("9AEB57"),new PColor("DBF56B"),new PColor("FBF872"),new PColor("EE9A54"),new PColor("DE5C38"),new PColor("9B2F2F")]),excludeFromMenu:true,ignoreNegative:true};PColorRampOptions["orange2"]={ramp:new PColorRamp("orange2",[new PColor("FCEBD2"),new PColor("F9D8A6"),new PColor("F5C479"),new PColor("F2B14D"),new PColor("EF9D20"),new PColor("F08A1B"),new PColor("F17815"),new PColor("F26510")]),excludeFromMenu:true,ignoreNegative:true};PColorRampOptions["hfap"]={ramp:new PColorRamp("hfap",[new PColor("EEF0B9"),new PColor("E2E67A"),new PColor("CED938"),new PColor("A3C229"),new PColor("77A831"),new PColor("598F2F"),new PColor("4E7D29"),new PColor("426B23")]),excludeFromMenu:true,ignoreNegative:true};PCopyright=function(id,text,bounds,minzoom){this.id=id;this.text=text;if(bounds)this.bounds=bounds;if(minzoom)this.minzoom=minzoom};PCube=function(inds,places,periods,opts){this.eventTypes=new Object;this.eventTypes.add="add";this.eventTypes.remove="remove";this.eventManager=new _eventManager;for(var ev in this.eventTypes)this.eventManager.registerEventID(ev);this.indicators=inds;this.places=places;this.periods=periods;this.values=[];this.charts=[];this.tables=[];this.stepplaces=[];this.useMultiMatrix=false;this.actualPlace=null;this.definitionAggs={};this.definitionAggs.definitionIdsUsed=[];this.indicatorPeriodAggs={};if(opts){this.useMultiMatrix=true;if(opts.stepplaces){this.stepplaces=opts.stepplaces}this.ignorePPlace=opts.ignorePPlace;this.actualPlace=opts.actualPlace}this.valueBoundaries=[];if(this.useMultiMatrixAggs()){var defAggs=this.stepplaces;if(this.actualPlace&&!this.ignorePPlace&&this.actualPlace.getType()!=PPlaceType.STATE){var mergeArrays=false;if(this.actualPlace.isAssembledCustom()){mergeArrays=true;var pls=this.actualPlace.getAssembledPlaces();var did=pls[0].getDefinitionId();for(var i=0;i<pls.length;i++){for(var j=0;j<defAggs.length;j++){if(pls[i].id==defAggs[j].id){defAggs.splice(j,1);break}}}}else if(!this.actualPlace.isCustomOrPoly()){mergeArrays=true;for(var i=0;i<defAggs.length;i++){if(this.actualPlace.id==defAggs[i].id){defAggs.splice(i,1);break}}}if(mergeArrays){this.places=this.places.concat(defAggs)}}this.clearCurrentTypeAggs();var dAggs=this.definitionAggs;if(this.places.length==0){return}var aggType=this.places[this.places.length-1].getType();if(dAggs[aggType.id]){dAggs[aggType.id].current=true}else{for(var i=0;i<this.places.length;i++){var p=this.places[i];var typeid=p.getType().id;var defid=p.getDefinitionId();if(!dAggs[typeid]){dAggs[typeid]={};dAggs[typeid].defIdToUse=[]}dAggs[typeid].current=true;if(!dAggs[typeid][defid]){dAggs[typeid][defid]=[]}dAggs[typeid][defid].push(p);if(this.actualPlace==p){dAggs[typeid].actualPlace=this.actualPlace}}}}};PCube.prototype.refreshChart=function(){for(var i=0;i<this.charts.length;i++)this.charts[i].refresh();for(var i=0;i<this.tables.length;i++)this.tables[i].refresh()};PCube.prototype.addListener=function(eventId,func){this.eventManager.registerForEvent(eventId,[],func)};PCube.prototype.getArray=function(elem){var array=[];if(elem instanceof PIndicator)array=this.indicators;else if(elem instanceof PPlace)array=this.places;else array=this.periods;return array};PCube.prototype.add=function(elem,array){if(!array)array=this.getArray(elem);array.push(elem);this.refreshChart();this.eventManager.triggerEvent("add",elem)};PCube.prototype.addPlace=function(place){this.add(place,this.places)};PCube.prototype.addIndicator=function(ind){this.add(ind,this.indicators)};PCube.prototype.addPlace=function(place){this.add(place,this.places)};PCube.prototype.addPeriod=function(period){this.add(period,this.periods)};PCube.prototype.replace=function(oldPlace,newPlace,array){if(!array)array=this.getArray(elem);array[$.inArray(oldPlace,array)]=newPlace;this.refreshChart();this.eventManager.triggerEvent("remove",oldPlace);this.eventManager.triggerEvent("add",newPlace)};PCube.prototype.replacePlace=function(oldPlace,newPlace){this.replace(oldPlace,newPlace,this.places)};PCube.prototype.remove=function(elem,array){if(!array)array=this.getArray(elem);var getCustomId=function(place){if(place instanceof PPlace&&place.getType()==PPlaceType.CUSTOM){return place.getID()}else{return null}};var customId=getCustomId(elem);for(var i=0;i<array.length;i++){var curCustomId=getCustomId(array[i]);if(customId!=null&&curCustomId!=null&&customId==curCustomId||array[i]==elem){array.splice(i,1);if(this.charts.length>0){for(var j=0;j<this.charts.length;j++){if(elem instanceof PIndicator&&this.charts[j].options.group==PChartOptions.INDICATOR||elem instanceof PPlace&&this.charts[j].options.group==PChartOptions.PLACE){var colors=this.charts[j].options.colorRamp.colors;var currentcolor=colors[i];colors.splice(i,1);colors.splice(array.length,0,currentcolor)}}}break}}this.refreshChart();this.eventManager.triggerEvent("remove",elem)};PCube.prototype.removeIndicator=function(ind){this.remove(ind,this.indicators)};PCube.prototype.removePlace=function(place){this.remove(place,this.places)};PCube.prototype.removePeriod=function(period){this.remove(period,this.periods)};PCube.prototype.getIndicators=function(){return this.indicators};PCube.prototype.getPlaces=function(){return this.places};PCube.prototype.getPeriods=function(){return this.periods};PCube.prototype.getSumOfPlaces=function(ind,per,mean,igNull){var places=this.places;var indid;if(ind)indid=ind.id;else indid=this.indicators[0].id;var period;if(per)period=per;else period=this.periods[0];if(this.useMultiMatrixAggs()){var places=this.getPlacesForDefinition(ind,period)}var sum=null;var placelength=0;var l=places.length;var valuesArr=[];for(var i=0;i<l;i++){var value=this.values[period][places[i].id][indid];if(!(ind.nodata&&value==ind.nodata)&&value!=null){sum+=value;placelength++;valuesArr.push(value)}}if(igNull||this.hasCompleteData(period,ind,valuesArr,places)){if(mean&&placelength>0)return sum/placelength;else return sum}else return null};PCube.prototype.getSumOfPlacesNullCheck=function(ind,per,mean){var indid;if(ind)indid=ind.id;else indid=this.indicators[0].id;var period;if(per)period=per;else period=this.periods[0];var sum=null;var placelength=0;var l=this.places.length;for(var i=0;i<l;i++){var value=this.values[period][this.places[i].id][indid];if(!(ind.nodata&&value==ind.nodata)&&value!=null){sum+=value;placelength++}else return null}return sum};PCube.prototype.getMeanOfPlaces=function(ind,per,igNull){return this.getSumOfPlaces(ind,per,true,igNull)};PCube.prototype.getMedianOfPlaces=function(ind,per){var values=this.getSortedValuesOfPlaces(ind,per);var valueslength=values.length;if(valueslength%2){var odd=valueslength/2-.5;median=values[odd]}else{var even=values[valueslength/2-1]+values[valueslength/2];even=even/2;median=even}return median};PCube.prototype.getSortedValuesOfPlacesIgnoreNulls=function(ind,per){var places=this.places;var indid;if(ind)indid=ind.id;else indid=this.indicators[0].id;var period;if(per)period=per;else period=this.periods[0];var values=[];for(var i=0;i<places.length;i++){var value=this.values[period][places[i].id][indid];if(!(ind.nodata&&value==ind.nodata)&&value!=null)values.push(value)}return values.sort(function(a,b){return a<b?-1:1})};PCube.prototype.getSumOfIndicators=function(place,per,mean){var placeid;if(place)placeid=place.id;else placeid=this.places[0].id;var period;if(per)period=per;else period=this.periods[0];var sum=null;var indlength=0;for(var i=0;i<this.indicators.length;i++){var value=this.values[period][placeid][this.indicators[i].id];if(!(this.indicators[i].nodata&&value==this.indicators[i].nodata)&&value!=null){sum+=value;indlength++}}if(mean&&indlength>0)return sum/indlength;else return sum};PCube.prototype.getMeanOfIndicators=function(place,per){return this.getSumOfIndicators(place,per,true)};PCube.prototype.getSortedValuesOfIndicators=function(place,per){var placeid;if(place)placeid=place.id;else placeid=this.places[0].id;var period;if(per)period=per;else period=this.periods[0];var values=[];for(var i=0;i<this.indicators.length;i++){var value=this.values[period][placeid][this.indicators[i].id];if(!(this.indicators[i].nodata&&value==this.indicators[i].nodata)&&value!=null)values.push(value)}return values.sort(function(a,b){return a<b?-1:1})};PCube.prototype.getSumOfPeriods=function(place,ind,mean){var placeid;if(place)placeid=place.id;else placeid=this.places[0].id;var indid;if(ind)indid=ind.id;else indid=this.indicators[0].id;var sum=null;var plength=0;for(var i=0;i<this.periods.length;i++){var value=this.values[this.periods[i]][placeid][indid];if(!(ind.nodata&&value==ind.nodata)&&value!=null){sum+=value;plength++}}if(mean&&plength>0)return sum/plength;else return sum};PCube.prototype.getMeanOfPeriods=function(place,ind){return this.getSumOfPeriods(place,ind,true)};PCube.prototype.getSortedValuesOfPeriods=function(place,ind){var placeid;if(place)placeid=place.id;else placeid=this.places[0].id;var indid;if(ind)indid=ind.id;else indid=this.indicators[0].id;var values=[];for(var i=0;i<this.periods.length;i++){var value=this.values[this.periods[i]][placeid][indid];if(!(ind.nodata&&value==ind.nodata)&&value!=null)values.push(value)}return values.sort(function(a,b){return a<b?-1:1})};PCube.prototype.getSortedValuesOfPlaces=function(ind,per){var places=this.places;var indid;if(ind)indid=ind.id;else indid=this.indicators[0].id;var period;if(per)period=per;else period=this.periods[0];if(this.useMultiMatrixAggs()){var places=this.getPlacesForDefinition(ind,period)}var values=this.getValuesArray(places,ind,period);if(this.hasCompleteData(period,ind,values,places))return values.sort(function(a,b){return a<b?-1:1});else return[]};PCube.prototype.getValuesObjectOfPlaces=function(ind,per){var indid;if(ind)indid=ind.id;else indid=this.indicators[0].id;var period;if(per)period=per;else period=this.periods[0];var valObj={};for(var i=0;i<this.places.length;i++){var value=this.values[period][this.places[i].id][indid];if(!(ind.nodata&&value==ind.nodata)&&value!=null){valObj[this.places[i].id]=value}else{valObj[this.places[i].id]=null}}return valObj};PCube.prototype.getValuesArray=function(places,ind,period,includeNull){var values=[];for(var i=0;i<places.length;i++){var value=this.values[period][places[i].id][ind.id];if(!(ind.nodata&&value==ind.nodata)&&value!=null){values.push(value)}else if(includeNull){values.push(null)}}return values};PCube.prototype.getValuesArrayIncludeNull=function(places,ind,period){return this.getValuesArray(places,ind,period,true)};PCube.prototype.hasCompleteData=function(period,ind,values,pls){var places=this.places;if(pls){places=pls}if(!values)var values=this.getValuesArray(places,ind,period);if(places.length==values.length)return true;else{this.showNoDataAlert();return false}};PCube.prototype.showNoDataAlert=function(){if(!PCube.dataIncomplete)noDataAlert();PCube.dataIncomplete=true};PCube.prototype.loadValues=function(callback,options){var self=this;var inds=this.indicators;var periods=this.periods;var places=this.places;if(inds.length<1||periods.length<1){callback.apply(this,[[]]);return}else if(places.length<1){var values=[];values[periods[0]]=[];values[periods[0]][null]=[];values[periods[0]][null][inds[0].id]=null;callback.apply(this,[values]);return}if(options==null){options={}}if(options.includeMappings==null||typeof options.includeMappings!="boolean"){options.includeMappings=PEnvironment.pageName=="report_generate"||PEnvironment.pageName=="report_widget"}if(options.includeBGMappings==null||typeof options.includeBGMappings!="boolean"){options.includeBGMappings=false}if(options.includeChangedFIPSMappings==null||typeof options.includeChangedFIPSMappings!="boolean"){options.includeChangedFIPSMappings=true}var placeIds=[];for(var i=0;i<places.length;i++){placeIds.push(places[i].id)}for(var i=0;i<periods.length;i++){periods[i]=String(periods[i])}var getMappings=function(){var matrixIds=[];for(var i=0;i<inds.length;i++){var curInd=inds[i];var curIndId=curInd.getID();for(var j=0;j<periods.length;j++){var curPeriod=periods[j];var curPeriodIndex=$.inArray(curPeriod,curInd.periods);if(curPeriodIndex!=-1){var curMatrixId=curInd.matrixIds[curPeriodIndex];if($.inArray(curMatrixId,matrixIds)==-1){matrixIds.push(curMatrixId)}}}}var typeIds=[];var defIds=[];for(var i=0;i<places.length;i++){var type=places[i].getType();if(!type){continue}var curTypeId=type.getId();if($.inArray(curTypeId,typeIds)==-1){typeIds.push(curTypeId);for(var j=0;j<matrixIds.length;j++){var curDefId;try{curDefId=boundaryMatrix.getDefinitionIdForTypeId(curTypeId,matrixIds[j])}catch(e){continue}if($.inArray(curDefId,defIds)==-1){defIds.push(curDefId)}}}}placeLoader.loadOneToOne(placeIds,defIds,true,false,function(mappings){getValues(mappings)})};var getValues=function(mappings){var addlPlaceIds=[];if(mappings!=null){for(var i=0;i<places.length;i++){var curPlace=places[i];var curPlaceId=curPlace.getID();var curPlaceType=curPlace.getType();if(curPlaceType==PPlaceType.CENSUSTRACT||curPlaceType==PPlaceType.BLOCKGROUP){if(!options.includeBGMappings&&curPlaceType==PPlaceType.BLOCKGROUP){mappings[curPlaceId]=[];continue}if(!options.includeChangedFIPSMappings){var newMappings=[];var curMappings=mappings[curPlaceId];for(var j=0;j<curMappings.length;j++){var curMapping=curMappings[j];if(curPlace.identifier==curMapping.identifier){newMappings.push(curMapping);addlPlaceIds.push(curMapping.getID())}}mappings[curPlaceId]=newMappings;continue}}var curMappings=mappings[curPlaceId];for(var j=0;j<curMappings.length;j++){addlPlaceIds.push(curMappings[j].getID())}}}self.mappings=mappings;var indString="";for(var i=0;i<inds.length;i++){indString+=","+inds[i].id}indString=indString.substring(1);var periodString=periods.join(",");var placeString=placeIds.join(",");if(addlPlaceIds.length>0){placeString+=","+addlPlaceIds.join(",")}var func=function(values){if(addlPlaceIds.length<1){callback.apply(self,[values]);return}var newValues=[];self.valueBoundaries=[];for(var i=0;i<periods.length;i++){var curPeriod=periods[i];newValues[curPeriod]=[];self.valueBoundaries[curPeriod]=[];for(var j=0;j<places.length;j++){var curPlaceId=places[j].getID();newValues[curPeriod][curPlaceId]=[];self.valueBoundaries[curPeriod][curPlaceId]=[];for(var k=0;k<inds.length;k++){var curIndId=inds[k].getID();newValues[curPeriod][curPlaceId][curIndId]=null;self.valueBoundaries[curPeriod][curPlaceId][curIndId]=null}}}for(var i=0;i<places.length;i++){var curPlace=places[i];var curPlaceId=curPlace.getID();for(var j=0;j<inds.length;j++){var curInd=inds[j];var curIndId=curInd.getID();for(var k=0;k<periods.length;k++){var curPeriod=periods[k];var curPeriodIndex=$.inArray(curPeriod,curInd.periods);if(curPeriodIndex!=-1){var curMatrixId=curInd.matrixIds[curPeriodIndex];var defId;try{defId=boundaryMatrix.getDefinitionIdForTypeId(curPlace.getType().getId(),curMatrixId)}catch(e){continue}if(defId==curPlace.getDefinitionId()){newValues[curPeriod][curPlaceId][curIndId]=values[curPeriod][curPlaceId][curIndId];self.valueBoundaries[curPeriod][curPlaceId][curIndId]=curPlace}else{var curMappings=mappings[curPlaceId];for(var l=0;l<curMappings.length;l++){var curMapping=curMappings[l];if(defId==curMapping.getDefinitionId()){newValues[curPeriod][curPlaceId][curIndId]=values[curPeriod][curMapping.getID()][curIndId];self.valueBoundaries[curPeriod][curPlaceId][curIndId]=curMapping;break}}}}}}}callback.apply(self,[newValues])};var url=PEnvironment.indicatorUrl+"?id="+indString+"&bid="+placeString+"&per="+periodString;var requestType;if(url.length>2e3){requestType="POST"}else{requestType="GET"}ajax.call({url:url,context:this,type:requestType,success:func})};if(options.includeMappings){var indsToLoad=[];var indsToLoadIndex={};for(var i=0;i<inds.length;i++){var curInd=inds[i];var curIndId=curInd.getID();if(curInd.periods==null||curInd.periods.length<1||curInd.matrixIds==null||curInd.matrixIds.length<1){if(pCubeIndCache[curIndId]){inds[i]=pCubeIndCache[curIndId]}else{indsToLoad.push(curIndId);indsToLoadIndex[curIndId]=i}}}if(indsToLoad.length>0){PIndicatorLoader.load(indsToLoad,function(newInds){if(PEnvironment.pageName=="report_generate"&&currentReport&&currentReport.reportType=="d"){add2009ToIndicatorForHMDAReport(newInds)}for(var i=0;i<newInds.length;i++){var curInd=newInds[i];var curIndId=curInd.getID();pCubeIndCache[curIndId]=curInd;inds[indsToLoadIndex[curIndId]]=curInd}getMappings()})}else{getMappings()}}else{getValues()}};PCube.prototype.getPlacesForDefinition=function(ind,per){var places=[];var foundPlaces=false;var oneToOnePlace=null;var mId=pCubeIndCache[ind.id].getMatrixIdForPeriod(per);var dAggs=this.definitionAggs;for(var i=0;i<this.places.length;i++){var p=this.places[i];var typeid=p.getType().id;if(dAggs[typeid].actualPlace){var oneToOne=this.mappings[dAggs[typeid].actualPlace.id];var defid=null;try{defid=boundaryMatrix.getDefinitionIdForTypeId(typeid,mId)}catch(e){continue}if(oneToOne&&oneToOne.length>0||dAggs[typeid][defid]){dAggs[typeid].oneToOnePlace=this.mappings[dAggs[typeid].actualPlace.id][0];if(oneToOne&&oneToOne.length>0){places=[dAggs[typeid].actualPlace];oneToOnePlace=dAggs[typeid].oneToOnePlace}else{places=dAggs[typeid][defid]}if($.inArray(defid,dAggs[typeid].defIdToUse)==-1){dAggs[typeid].defIdToUse.push(defid);dAggs.definitionIdsUsed.push(defid)}break}}for(var defid in dAggs[typeid]){if(isNaN(defid)){continue}var allMatrixIds=boundaryMatrix.getAllMatrixIdsForDefinitionId(defid);for(var j=0;j<allMatrixIds.length;j++){var mid=allMatrixIds[j];if(mid==mId){places=dAggs[typeid][defid];if($.inArray(defid,dAggs[typeid].defIdToUse)==-1){dAggs[typeid].defIdToUse.push(defid);dAggs.definitionIdsUsed.push(defid)}var foundPlaces=true;break}}if(isUniversalDefinitionId(defid)){places=dAggs[typeid][defid];if($.inArray(defid,dAggs[typeid].defIdToUse)==-1){dAggs[typeid].defIdToUse.push(defid);dAggs.definitionIdsUsed.push(defid)}var foundPlaces=true;break}}if(foundPlaces){break}}if(!this.indicatorPeriodAggs[ind.id]){this.indicatorPeriodAggs[ind.id]={}}this.indicatorPeriodAggs[ind.id][per]=[];this.indicatorPeriodAggs[ind.id][per]=places;this.indicatorPeriodAggs[ind.id][mId]=places;if(oneToOnePlace){var mid1=boundaryMatrix.getMatrixIdForDefinitionId(oneToOnePlace.getDefinitionId());var mid2=pCubeIndCache[ind.id].getMatrixIdForPeriod(per);if(mid1==mid2){this.indicatorPeriodAggs[ind.id][per]=[oneToOnePlace];this.indicatorPeriodAggs[ind.id][mid1]=[oneToOnePlace]}}return places};PCube.prototype.clearCurrentTypeAggs=function(){var dAggs=this.definitionAggs;for(var typeid in dAggs){dAggs[typeid].current=false}};PCube.prototype.getPlacesForIndAndPeriod=function(ind,per,matrixId){var places=[];if(this.indicatorPeriodAggs[ind.id]){if(this.indicatorPeriodAggs[ind.id][per]){places=this.indicatorPeriodAggs[ind.id][per]}else if(this.indicatorPeriodAggs[ind.id][matrixId]){places=this.indicatorPeriodAggs[ind.id][matrixId]}}return places};PCube.prototype.hasPlacesForIndAndPeriod=function(ind,per){var o=this.indicatorPeriodAggs[ind.id];if(o&&o[per]&&o[per].length>0){return true}else{return false}};PCube.prototype.useMultiMatrixAggs=function(){return this.useMultiMatrix};PCube.prototype.mergeCubesAggInfo=function(c){var arr1=this.indicatorPeriodAggs;var arr2=c.indicatorPeriodAggs;$.extend(arr1,arr2)};PEvent=function(){};PEvent.eventObjs=[];PEvent.addListener=function(source,eventName,listenerFn,mEvent){var eventObj=null;if(isMobile()&&mEvent){eventName=mEvent}if(source.addListener){eventObj=new PEventListener(source,eventName,listenerFn);source.addListener(eventName,listenerFn);this.eventObjs.push(eventObj)}else eventObj=this.addDomListener(source,eventName,listenerFn);return eventObj};PEvent.addDomListener=function(source,eventName,listenerFn){var eventObj=new PEventListener(source,eventName,listenerFn);if(source.addEventListener)source.addEventListener(eventName,listenerFn,false);else if(source.attachEvent){var f=function(){listenerFn.call(source)};eventObj.ieFunc=f;source.attachEvent("on"+eventName,eventObj.ieFunc)}this.eventObjs.push(eventObj);return eventObj};PEvent.removeListener=function(eventObj){var l=this.eventObjs.length;for(var i=0;i<l;i++){if(eventObj==this.eventObjs[i]){this.clearListener(eventObj);this.eventObjs.splice(i,1);break}}};PEvent.clearListeners=function(obj,eventid){var l=this.eventObjs.length;for(var i=0;i<l;i++){if(obj==this.eventObjs[i].obj&&eventid==this.eventObjs[i].id){this.clearListener(this.eventObjs[i]);this.eventObjs.splice(i,1);i--;l--}}};PEvent.clearInstanceListeners=function(obj){var l=this.eventObjs.length;for(var i=0;i<l;i++){if(obj==this.eventObjs[i].obj){this.clearListener(this.eventObjs[i]);
this.eventObjs.splice(i,1);i--;l--}}};PEvent.clearAllListeners=function(){var l=this.eventObjs.length;for(var i=0;i<l;i++){var j=this.eventObjs[i];this.clearListener(j)}this.eventObjs=[]};PEvent.clearListener=function(j){if(j.obj.removeEventListener)j.obj.removeEventListener(j.id,j.func,false);else if(j.obj.detachEvent)j.obj.detachEvent("on"+j.id,j.ieFunc);else if(j.obj.removeListener)j.obj.removeListener(j)};PEventListener=function(obj,eventid,fn){this.obj=obj;this.id=eventid;this.func=fn};PEventManager=function(){this.listeners={};this.contexts={}};PEventManager.prototype.addListener=function(eventId,f,context){if(!f){throw"No listener function provided"}var eid=new String(eventId);if(this.listeners[eid]){this.listeners[eid].push(f);this.contexts[eid].push(context||window)}else{this.listeners[eid]=[f];this.contexts[eid]=[context||window]}};PEventManager.prototype.removeListener=function(eventId,f){var eid=new String(eventId);var listeners=this.listeners[eid];var contexts=this.contexts[eid];var l=listeners?listeners.length:0;for(var i=0;i<l;i++){if(listeners[i]==f){listeners.splice(i,1);contexts.splice(i,1)}}};PEventManager.prototype.triggerListeners=function(eventId){var passables=[];var l=arguments.length;for(var i=1;i<l;i++){passables.push(arguments[i])}var eid=new String(eventId);var listeners=this.listeners[eid];var contexts=this.contexts[eid];l=listeners?listeners.length:0;for(var i=0;i<l;i++){listeners[i].apply(contexts[i],passables)}};PGeoUtil=function(){};PGeoUtil.deg2RadObj=function(p){return{lat:ChrisVeness.llToRad(p.latitude),lon:ChrisVeness.llToRad(p.longitude)}};PGeoUtil.rad2DegObj=function(p){return new PLatLng(PGeoUtil.rad2deg(p.lat),PGeoUtil.rad2deg(p.lon))};PGeoUtil.deg2rad=function(d){return d*Math.PI/180};PGeoUtil.rad2deg=function(r){return r*180/Math.PI};PGeoUtil.distVincenty=function(p1,p2){return ChrisVeness.distVincenty(PGeoUtil.deg2RadObj(p1),PGeoUtil.deg2RadObj(p2))};PGeoUtil.distHaversine=function(p1,p2){return ChrisVeness.distHaversine(PGeoUtil.deg2RadObj(p1),PGeoUtil.deg2RadObj(p2))};PGeoUtil.distCosineLaw=function(p1,p2){return ChrisVeness.distCosineLaw(PGeoUtil.deg2RadObj(p1),PGeoUtil.deg2RadObj(p2))};PGeoUtil.moveVincenty=function(point,bearing,distance){return ChrisVeness.destVincenty(PGeoUtil.deg2RadObj(point),bearing,distance)};PIcon=function(copy,image){this.image="";this.shadow="";this.iconSize="";this.shadowSize="";this.iconAnchor=new PPoint(0,0);this.shadowAnchor=new PPoint(0,0);this.infoWindowAnchor=new PPoint(0,0);if(copy&&copy instanceof PIcon){this.image=copy.image;this.shadow=copy.shadow;this.iconSize=copy.iconSize;this.shadowSize=copy.shadowSize;this.iconAnchor=copy.iconAnchor;this.shadowAnchor=copy.shadowAnchor;this.infoWindowAnchor=copy.infoWindowAnchor}if(image)this.image=image};PIndicator=function(id){this.id=id;this.breaks=[];this.custombreaks=[];this.displayName="Unknown Indicator";this.fullDisplayNames=[];this.descriptions=[];this.periods=[];this.periodids=[];this.curPerIndex=0;this.matrixIds=[];this.unit="";this.sources="";this.measurement="";this.prohibitTrends=false;this.breakid=P_BREAKTYPE_QUANTILE_ID;this.nodata="-9999"};PIndicator.prototype.getID=function(){return this.id};PIndicator.prototype.getLabel=function(noChange){if(noChange){return this.displayName}if(PEnvironment.pageName=="widget"){var urlParams=getUrlParams();if(urlParams["sid"]&&(urlParams["sid"]==94||urlParams["sid"]==95)){if(this.id==9841103){return"State Unemployment Rate"}else if(this.id==9877403){return"Metropolitan Area Unemployment Rate"}}}if(this.containsSource(/nielsen/i,true)){if(this.getPeriod()=="2000")return this.displayName.replace(/Projected/,"");else if(this.getPeriod()=="2009")return this.displayName.replace(/Projected/,"Estimated");else if(this.getPeriod()=="2010")return"Estimated ".concat(this.displayName);else if(this.getPeriod()=="2015")return"Projected ".concat(this.displayName)}if(this.containsSource("Census")){if(this.getPeriod()==2009)return"Est. ".concat(this.displayName)}return this.displayName};PIndicator.prototype.getFullLabel=function(){if(PEnvironment.pageName=="widget"){var urlParams=getUrlParams();if(urlParams["sid"]&&(urlParams["sid"]==94||urlParams["sid"]==95)){var arr=this.getPeriod().split("-");var year=arr[0];var months=["January","February","March","April","May","June","July","August","September","October","November","December"];var month=months[parseFloat(arr[1])-1];if(this.id==9841103){return"State Unemployment Rate in "+month+" "+year}else if(this.id==9877403){return"Metropolitan Area Unemployment Rate in "+month+" "+year}}}return this.fullDisplayNames[this.curPerIndex]};PIndicator.prototype.getFullDisplayName=function(){return this.getFullLabel()};PIndicator.prototype.getDescription=function(){return this.descriptions[this.curPerIndex]};PIndicator.prototype.getSource=function(){if(this.sources[0]&&this.sources[0].name){return this.sources[0].name}else{return""}};PIndicator.prototype.getSources=function(){return this.sources};PIndicator.prototype.getMeasurement=function(){return this.measurement};PIndicator.prototype.getMeasurementToggle=function(full){var r=this.toggle;if(full){var m=this.getMeasurement();if(m=="count")r="Number";else if(m=="count2")r="Count";else if(m=="currency aggregate")r="Currency";else if(m=="total currency aggregate")r="Total currency";else if(m=="rate2")r="Rate";else r=m.substr(0,1).toUpperCase()+m.substr(1)}return r};PIndicator.prototype.setPeriod=function(period){for(var i=0;i<this.periods.length;i++){if(this.periods[i]==period){this.curPerIndex=i;if(this.legend)this.legend.redraw();return}}};PIndicator.prototype.hasPeriod=function(period){for(var i=0;i<this.periods.length;i++){if(this.periods[i]==period)return true}return false};PIndicator.prototype.getPeriod=function(){return this.periods[this.curPerIndex]};PIndicator.prototype.getPeriods=function(){return this.periods};PIndicator.prototype.getPeriodIndex=function(period){for(var i=0;i<this.periods.length;i++){if(this.periods[i]==period)return i}return false};PIndicator.prototype.getPeriodLabel=function(per){var p=per;if(p==2012&&this.getSources()[0].name=="Census"){p="2008-2012"}return p};PIndicator.prototype.getPlaceTypes=function(){var places=[];for(var i in this.breaks[this.curPerIndex]){for(var j=0;j<P_PLACETYPES.length;j++){if(P_PLACETYPES[j].id==i){places.push(P_PLACETYPES[j])}}}return places};PIndicator.prototype.getBreaks=function(numbreaks,placetype,period){var pti=placetype.id;var per=null;if(period)per=this.getPeriodIndex(period);if(!per)per=this.curPerIndex;var retVal="";if(this.custombreaks[per]&&this.custombreaks[per][pti]&&this.custombreaks[per][pti][numbreaks])retVal=this.custombreaks[per][pti][numbreaks];else if(this.breaks[per]&&this.breaks[per][pti]&&this.breaks[per][pti][numbreaks])retVal=this.breaks[per][pti][numbreaks];return retVal};PIndicator.prototype.setCustomBreaks=function(breaks,placetype,period){var breaksarr=breaks.split(",");var numbreaks=breaksarr.length-1;var pti=placetype.id;var periods=[];if(period&&period instanceof Array){periods=this.getPeriodIndexArray(this.getPeriods())}else if(period&&period==""||period==null){periods.push(this.curPerIndex)}else if(period&&period.toLowerCase()=="all"){for(var i=0;i<this.getPeriods().length;i++){periods.push(i)}}else{periods.push(this.getPeriodIndex(period))}for(var i=0;i<periods.length;i++){var per=periods[i];if(per!=null){if(!this.custombreaks[per]){this.custombreaks[per]=[]}if(!this.custombreaks[per][pti]){this.custombreaks[per][pti]=[]}this.custombreaks[per][pti][numbreaks]=breaks}}this.breakid=P_BREAKTYPE_EQUAL_INTERVAL_CUSTOM_ID;if(this.legend){this.legend.redraw()}};PIndicator.prototype.getPeriodIndexArray=function(periodArray){var indexes=[];if(periodArray instanceof Array){for(var i=0;i<periodArray.length;i++){var foundIndex=false;var currentIndex;for(var j=0;j<this.periods.length;j++){if(this.periods[j]==periodArray[i]){foundIndex=true;currentIndex=j;break}}if(foundIndex){indexes.push(currentIndex)}else{indexes.push(null)}}}return indexes};PIndicator.prototype.hasCustomBreaks=function(period,placetype,numbreaks){per=this.getPeriodIndex(period);pti=placetype.id;if(this.custombreaks[per]&&this.custombreaks[per][pti]&&this.custombreaks[per][pti][numbreaks])return true;else return false};PIndicator.prototype.getBreakId=function(){return this.breakid};PIndicator.prototype.isCategorical=function(){if(this.breakid==4){return true}else{return false}};PIndicator.prototype.restoreBreaks=function(period,placetype,numbreaks){var per,pti,numb=null;if(period)per=this.getPeriodIndex(period);if(placetype)pti=placetype.id;if(numbreaks)numb=numbreaks;if(per!=null&&pti!=null&&numb!=null&&this.custombreaks[per]&&this.custombreaks[per][pti]&&this.custombreaks[per][pti][numb])this.custombreaks[per][pti][numb]=null;else if(per!=null&&pti!=null&&this.custombreaks[per]&&this.custombreaks[per][pti])this.custombreaks[per][pti]=null;else if(per!=null&&this.custombreaks[per])this.custombreaks[per]=null;else{this.custombreaks=[];this.breakid=P_BREAKTYPE_QUANTILE_ID}if(this.legend)this.legend.redraw()};PIndicator.prototype.hasPlaceType=function(type,period){var typeId=type.getId();if(period!=null){period=this.getPeriodIndex(period)}if(period==null||period===false){period=this.curPerIndex}var types=this.breaks[period];for(var i=0;i<types.length;i++){if(types[i]!=null&&i==typeId){return true}}return false};PIndicator.prototype.createCustomBreaksJSON=function(numbreaks,curper){var custombreaks=this.custombreaks;var obj=null;var i,perlen;if(curper){i=this.curPerIndex;perlen=i+1}else{i=0;perlen=this.periodids.length}var places=this.getPlaceTypes();var placeslen=places.length;var nb;if(numbreaks)nb=[numbreaks];else nb=[2,3,4,5,6,7,8];var breaksobj={};var foundbreaks=false;for(i;i<perlen;i++){var period=i;if(custombreaks[period]){breaksobj[period]={};for(var j=0;j<placeslen;j++){var pid=places[j].id;if(custombreaks[period][pid]){breaksobj[period][pid]={};for(var k=0;k<nb.length;k++){if(custombreaks[period][pid][nb[k]]){breaksobj[period][pid][nb[k]]=custombreaks[period][pid][nb[k]];foundbreaks=true}}}}}}if(foundbreaks)obj=breaksobj;return obj};PIndicator.prototype.setCustomBreaksByJSON=function(breaks){var id=this.id;var per=this.periodids;var perlen=per.length;var places=this.getPlaceTypes();var placeslen=places.length;if(breaks&&breaks[id]){for(var i=0;i<perlen;i++){if(breaks[id][i]){var breaksper=breaks[id][i];if(!this.custombreaks[i])this.custombreaks[i]=[];for(var j=0;j<placeslen;j++){var pid=places[j].id;if(breaksper[pid]){var breaksplace=breaksper[pid];if(!this.custombreaks[i][pid])this.custombreaks[i][pid]=[];for(var k in breaksplace){if(breaksplace[k])this.custombreaks[i][pid][k]=breaksplace[k]}}}}}}};PIndicator.prototype.hasYear=function(year){var l=this.periods.length;for(var i=0;i<l;i++){if(this.periods[i].match(year))return true}return false};PIndicator.prototype.getQuarter=function(year){var l=this.periods.length;var qtr=0;for(var i=0;i<l;i++){if(this.periods[i].match(year)){var q=this.periods[i].split("q");if(q[1]&&q[1]>qtr)qtr=q[1]}}if(qtr==0)return null;else return year+"q"+qtr};PIndicator.prototype.getMonth=function(year){var l=this.periods.length;var month=0;for(var i=0;i<l;i++){if(this.periods[i].match(year)){var m=this.periods[i].split("-");if(m[1]&&m[1]>month){month=m[1];break}}}if(month==0)return null;else return year+"-"+month};PIndicator.prototype.containsSource=function(sourceName,sourceReg){hasSource=false;for(var i=0;i<this.sources.length;i++){if(sourceReg!=null&&sourceReg===true&&this.sources[i].name.match(sourceName)||this.sources[i].name==sourceName){hasSource=true;break}}return hasSource};PIndicator.prototype.getSourceList=function(useLinks,makeAbsolute){sources=[];for(var i=0;i<this.sources.length;i++){var source=this.sources[i];if(source.name){var sourceURL=this.getSourceURL(source);if(useLinks===true&&sourceURL!=null){if(makeAbsolute){if(sourceURL.search("www.")==-1&&sourceURL.search("http")==-1){sourceURL="http://"+PEnvironment.wwwUrl+sourceURL}}sources.push("<a target='_blank' href='"+sourceURL+"'>"+source.name+"</a>")}else{sources.push(source.name)}}}return sources.join(", ")};PIndicator.prototype.getSourceURL=function(source){var url=null;if(source.link!=null&&source.link!=""){if(source.link.indexOf("http://")==0||source.link.indexOf("/")==0){url=source.link}else{url="/our-data-directory.html#"+source.link}}if(isCBClone()&&P.CloneOptions.source_link_constant){url=P.CloneOptions.source_link_constant}return url};PIndicator.prototype.isMVA=function(){if(PColorRamp.MVA[this.id])return true;else return false};PIndicator.prototype.getMatrixIdForPeriod=function(per){return this.matrixIds[this.getPeriodIndex(per)]};PIndicator.prototype.areTrendsAllowed=function(){return!this.prohibitTrends};PIndicator.prototype.getDatasetIds=function(){var srcs=this.sources;var dids=[];for(var i=0;i<srcs.length;i++){dids.push(srcs[i].datasetid)}return dids};PIndicator.prototype.hasOverlaySets=function(){var a=this.getCurrentOverlaySet();if(a){return true}else{return false}};PIndicator.prototype.getCurrentOverlaySet=function(){var o=this.getOverlaySets();var ret=null;if(o&&o[this.curPerIndex]){ret=o[this.curPerIndex]}return ret};PIndicator.prototype.getOverlaySets=function(){return this.overlaysets};PIndicator.prototype.isDataAggregatable=function(){return this.isAggregatable};PIndicator.prototype.loadBubbleIndicators=function(){var opts=this.getBubbleOptions();var ids=opts.allIds;var periods=opts.periods;var hidePeriod=opts.hidePeriod;var that=this;PIndicatorLoader.load(ids,function(inds){if(periods||hidePeriod){var hideMapIndPeriod=true;for(var i=0;i<inds.length;i++){if(periods&&periods[i]){inds[i].setPeriod(periods[i])}if(hidePeriod){inds[i].hidePeriod=hidePeriod[i];if(!hidePeriod[i]){hideMapIndPeriod=false}}}}that.bubbleInds=inds})};PIndicator.prototype.hasBubbleOptions=function(hasGlobal){var r=false;var opts=this.getBubbleOptions();if(opts||hasGlobal&&hasGlobalIndListBubble()){r=true}return r};PIndicator.prototype.hasBubbleIndicators=function(){var r=false;if(this.getBubbleIndicators()){r=true}return r};PIndicator.prototype.getBubbleIndicators=function(){var inds=null;if(this.bubbleInds){inds=this.bubbleInds}else if(hasGlobalIndListBubble()){inds=globalIndListBubble.inds}return inds};PIndicator.prototype.getBubbleOptions=function(){var opts=null;if(hasGlobalIndListBubble()){opts=globalIndListBubble}if(this.indBubbleOptions){opts=this.indBubbleOptions}return opts};PIndicatorLoader=function(){};PIndicatorLoader.load=function(inds,callback){return ajax.call({url:PEnvironment.indicatorUrl+"?id="+inds.join(","),context:this,success:callback})};PInfoWindow=function(){this.visible=true;this.isOpen=false;this.point=null;this.tabs=[];this.selectedTab=0;this.tabDivs=[];this.tabOverlap=20;this.nwDiff=0;this.tabsWidth=0;this.tabsAdjust=0;this.tabRows=[];this.tabwidth=103;this.maxRowLength=5;this.listeners=[]};PInfoWindow.prototype.selectTab=function(index){if(index<this.tabs.length)this.selectedTab=index;this.updateTabs();this.updateInfoDiv();this.create();if(this.tabs[index].tabclick)this.tabs[index].tabclick()};PInfoWindow.prototype.hide=function(){this.visible=false;this.bubbleDiv.style.visibility="hidden";this.shadowDiv.style.visibility="hidden"};PInfoWindow.prototype.show=function(){this.visible=true;this.bubbleDiv.style.visibility="visible";this.shadowDiv.style.visibility="visible"};PInfoWindow.prototype.isHidden=function(){return!this.visible};PInfoWindow.prototype.getPoint=function(){return this.point};PInfoWindow.prototype.getSelectedTab=function(){return this.selectedTab};PInfoWindow.prototype.getTabs=function(){return this.tabs};PInfoWindow.prototype.initialize=function(){this.createBubble();this.createShadow();this.createClose()};PInfoWindow.prototype.updateTabs=function(){for(var i=0;i<this.tabDivs.length;i++)this.updateTab(i)};PInfoWindow.prototype.updateTab=function(i){var labelDiv=this.tabDivs[i].firstChild.nextSibling;var label=this.tabs[i].label;var backImg;var frontImg;if(this.tabDivs[i].row==1){backImg=this.map.kamap.server+"images/tab_back_"+this.tabwidth+".png";frontImg=this.map.kamap.server+"images/tab_front_"+this.tabwidth+".png"}else{backImg=this.map.kamap.server+"images/tab_back_back_rows_"+this.tabwidth+".png";frontImg=this.map.kamap.server+"images/tab_front_back_rows_"+this.tabwidth+".png"}var width=this.tabwidth-33;var tStyle="style='position:relative; left:0px; width:"+width+"px; height:21px; font-weight:bold; top:-2px;'";if(i==this.selectedTab){addPNGBackground(this.tabDivs[i].firstChild,frontImg);labelDiv.innerHTML="<table "+tStyle+" class='tab selected'><tr><td><b>"+label+"</b></td></tr></table>";this.tabDivs[i].style.zIndex=this.tabs.length+1;if(this.tabDivs[i].row!=1)this.tabDivs[i].style.top="-4px"}else{addPNGBackground(this.tabDivs[i].firstChild,backImg);labelDiv.innerHTML="<table "+tStyle+" class='tab'><tr><td><a href='#' onclick='return false;'>"+label+"</a></td></tr></table>";this.tabDivs[i].style.zIndex=this.tabs.length-i;this.tabDivs[i].style.top=0}};PInfoWindow.prototype.createTabs=function(){var tabcnt=0;var rowcnt=0;var adjustTop=0;for(var i=0;i<this.tabs.length;i++){if(tabcnt==0){var row=document.createElement("span");row.style.position="absolute";row.style.top=adjustTop+"px";var adjustLeft=parseInt(this.nw.style.width)}var tabDivMain=document.createElement("div");tabDivMain.style.position="absolute";tabDivMain.style.top="0px";tabDivMain.style.height="49px";tabDivMain.style.width=this.tabwidth+"px";tabDivMain.style.left=adjustLeft+"px";var tabDiv=document.createElement("div");var tabLabel=document.createElement("div");tabDiv.style.position="absolute";tabDiv.style.width=this.tabwidth+"px";tabDiv.style.height="49px";tabDiv.style.left="0px";tabDiv.style.top="0px";tabDiv.style.textAlign="center";tabLabel.style.position="absolute";tabLabel.style.top="0px";tabLabel.style.left="0px";tabLabel.style.textAlign="center";tabLabel.style.width=this.tabwidth+"px";tabLabel.style.cursor="pointer";tabLabel.style.paddingTop="4px";tabDivMain.appendChild(tabDiv);tabDivMain.appendChild(tabLabel);this.tabDivs.push(tabDivMain);tabDivMain.row=rowcnt+1;this.updateTab(i);tabcnt++;if(i<this.maxRowLength){this.tabsWidth+=parseInt(tabDiv.style.width);if(i<this.tabs.length-1&&tabcnt<this.maxRowLength){this.tabsWidth-=this.tabOverlap}}tabLabel.infowin=this;tabLabel.index=i;this.listeners.push(PEvent.addListener(tabLabel,"mousedown",function(){this.infowin.selectTab(this.index)}));row.appendChild(tabDivMain);if(i<this.tabs.length-1&&tabcnt<this.maxRowLength){adjustLeft-=this.tabOverlap}adjustLeft+=parseInt(tabDivMain.style.width);if(tabcnt==this.maxRowLength||i==this.tabs.length-1){this.tabRows.push(row);adjustTop=adjustTop-19;if(tabcnt==this.maxRowLength){tabcnt=0;rowcnt++;this.nLeft=adjustLeft}if(!this.nLeft){this.nLeft=adjustLeft}}}this.tabsWidth-=this.nwDiff};PInfoWindow.prototype.createBubble=function(){this.bubbleCanvas=this.map.getMarkerCanvas();this.bubbleDiv=document.createElement("div");this.bubbleDiv.className="info-bubble-container";this.bubbleDiv.style.width="100%";this.bubbleDiv.style.height="100%";this.bubbleDiv.style.zIndex=Z_BUBBLE;this.bubbleDiv.style.cursor="default";this.bubbleDiv.style.textAlign="left";var f=function(e){if(!e){e=window.event}e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}};this.listeners.push(PEvent.addListener(this.bubbleDiv,"click",f));if(this.tabs.length>1||this.tabs.length>0&&this.tabs[0].showSingleTab){this.nw=this.createImage("tab_nw.png",11,49);this.nwDiff=14;this.createTabs()}else this.nw=this.createImage("bubble_nw.png",25,25);this.n=this.createImage("bubble_n.png",1,25);this.ne=this.createImage("bubble_ne.png",25,25);this.w=this.createImage("bubble_w.png",25,1);this.c=this.createImage("bubble_center.png",1,1);this.e=this.createImage("bubble_e.png",25,1);this.sw=this.createImage("bubble_sw.png",25,96);this.s1=this.createImage("bubble_s.png",1,96);this.pointer=this.createImage("bubble_pointer.png",98,96);this.s2=this.createImage("bubble_s.png",1,96);this.se=this.createImage("bubble_se.png",25,96)};PInfoWindow.prototype.createShadow=function(){this.shadowCanvas=this.map.getShadowCanvas();this.shadowDiv=document.createElement("div");this.s_nw=this.createImage("bubble_shadow_nw.png",70,30);this.s_n=this.createImage("bubble_shadow_n.png",1,30);this.s_ne=this.createImage("bubble_shadow_ne.png",70,30);this.s_c=this.createImage("bubble_shadow_center.png",1,1);this.s_sw=this.createImage("bubble_shadow_sw.png",70,60);this.s_s1=this.createImage("bubble_shadow_s.png",1,60);this.s_pointer=this.createImage("bubble_shadow_pointer.png",140,60);this.s_s2=this.createImage("bubble_shadow_s.png",1,60);this.s_se=this.createImage("bubble_shadow_se.png",70,60);this.s_w_img=this.createImage("bubble_shadow_w.png",360,280);this.s_e_img=this.createImage("bubble_shadow_e.png",360,280);this.s_w=this.createDivImage(this.s_w_img);this.s_e=this.createDivImage(this.s_e_img)};PInfoWindow.prototype.createClose=function(){this.closeImage=this.createImage("button_close.gif",14,13);this.closeImage.style.cursor="pointer";this.closeImage.style.zIndex=this.tabs.length+3;var infoWin=this;this.listeners.push(PEvent.addListener(this.closeImage,"mousedown",function(){infoWin.close();infoWin.map.clearInfoWindowBoundary()}))};PInfoWindow.prototype.encloseSize=function(w,h){var nWidth=this.tabsWidth;if(nWidth>w){this.tabsAdjust=nWidth-w;nWidth=w}this.n.style.width=w-nWidth+"px";this.c.style.width=w+this.nwDiff+this.tabsAdjust+"px";var s1w=Math.ceil((w-parseInt(this.pointer.style.width))*.5);var s2w=Math.floor((w-parseInt(this.pointer.style.width))*.5)+this.tabsAdjust;this.s1.style.width=s1w+"px";this.s2.style.width=s2w+"px";this.w.style.height=h+"px";this.c.style.height=h+"px";this.e.style.height=h+"px"};PInfoWindow.prototype.encloseShadowSize=function(w,h){var skew=10;this.s_n.style.width=w+this.tabsAdjust+"px";var s_s1w=Math.floor((w-parseInt(this.s_pointer.style.width)+30)*.5)-skew;var s_s2w=Math.ceil((w-parseInt(this.s_pointer.style.width)+30)*.5+this.tabsAdjust)+skew;this.s_s1.style.width=s_s1w+"px";this.s_s2.style.width=s_s2w+"px";this.s_w.style.width=parseInt(this.s_nw.style.width)+h+"px";this.s_e.style.width=parseInt(this.s_ne.style.width)+h+this.tabsAdjust+"px";this.s_c.style.width=w-(parseInt(this.s_w.style.width)-parseInt(this.s_nw.style.width))+30+"px";this.s_w.style.height=h+"px";this.s_c.style.height=h+"px";this.s_e.style.height=h+"px"};PInfoWindow.prototype.positionInternals=function(){var bubblePaddingWidth=15;var bubblePaddingHeight=5;this.nw.style.left=0;this.nw.style.top=0;this.n.style.top=0;this.ne.style.top=0;var nLeft=this.nLeft;if(!nLeft)nLeft=parseInt(this.nw.style.width);if(this.tabDivs.length>1||this.tabDivs.length>0&&this.tabs[0].showSingleTab){this.n.style.top=parseInt(this.tabDivs[0].style.height)-parseInt(this.ne.style.height)+"px";this.ne.style.top=this.n.style.top}this.n.style.left=nLeft+"px";var neLeft=parseInt(this.n.style.left)+parseInt(this.n.style.width);this.ne.style.left=neLeft+"px";this.w.style.left=0;this.w.style.top=this.nw.style.height;this.c.style.left=this.nw.style.width;this.c.style.top=this.nw.style.height;this.e.style.left=this.ne.style.left;this.e.style.top=parseInt(this.ne.style.top)+parseInt(this.ne.style.height)+"px";this.sw.style.left=0;this.sw.style.top=parseInt(this.w.style.top)+parseInt(this.w.style.height)+"px";this.s1.style.left=this.sw.style.width;this.s1.style.top=this.sw.style.top;this.pointer.style.left=parseInt(this.s1.style.left)+parseInt(this.s1.style.width)+"px";this.pointer.style.top=this.sw.style.top;this.s2.style.left=parseInt(this.pointer.style.left)+parseInt(this.pointer.style.width)+"px";this.s2.style.top=this.sw.style.top;this.se.style.left=parseInt(this.s2.style.left)+parseInt(this.s2.style.width)+"px";this.se.style.top=this.sw.style.top;this.infoDiv.style.left=parseInt(this.c.style.left)-(parseInt(this.nw.style.width)-bubblePaddingWidth)+"px";this.infoDiv.style.top=parseInt(this.c.style.top)-bubblePaddingHeight+"px";this.s_nw.style.left=0;this.s_nw.style.top=0;this.s_n.style.left=this.s_nw.style.width;this.s_n.style.top=0;this.s_ne.style.left=parseInt(this.s_n.style.left)+parseInt(this.s_n.style.width)+"px";this.s_ne.style.top=0;this.s_w.style.left=0-parseInt(this.s_w.style.width)+parseInt(this.s_nw.style.width)+10+"px";this.s_w.style.top=this.s_nw.style.height;this.s_c.style.left=parseInt(this.s_w.style.left)+parseInt(this.s_w.style.width)+"px";this.s_c.style.top=this.s_nw.style.height;this.s_e.style.left=parseInt(this.s_c.style.left)+parseInt(this.s_c.style.width)+"px";this.s_e.style.top=this.s_ne.style.height;this.s_sw.style.left=parseInt(this.s_w.style.left)-40+"px";this.s_sw.style.top=parseInt(this.s_w.style.top)+parseInt(this.s_w.style.height)+"px";this.s_s1.style.left=parseInt(this.s_sw.style.left)+parseInt(this.s_sw.style.width)+"px";this.s_s1.style.top=this.s_sw.style.top;this.s_pointer.style.left=parseInt(this.s_s1.style.left)+parseInt(this.s_s1.style.width)+"px";this.s_pointer.style.top=this.s_sw.style.top;this.s_s2.style.left=parseInt(this.s_pointer.style.left)+parseInt(this.s_pointer.style.width)+"px";this.s_s2.style.top=this.s_sw.style.top;this.s_se.style.left=parseInt(this.s_s2.style.left)+parseInt(this.s_s2.style.width)+"px";this.s_se.style.top=this.s_sw.style.top;this.s_w_img.style.left=0-(parseInt(this.s_w_img.style.width)-parseInt(this.s_w.style.width))+"px";this.s_e_img.style.left=parseInt(this.s_e.style.width)-parseInt(this.s_e_img.style.width)+"px";var closeImageOffset=2;this.closeImage.style.left=parseInt(this.ne.style.left)+closeImageOffset+"px";this.closeImage.style.top=parseInt(this.ne.style.top)+parseInt(this.ne.style.height)-parseInt(this.closeImage.style.height)-closeImageOffset+"px";this.closeImage.id="infoWindowClose"};PInfoWindow.prototype.updateInfoDiv=function(){var content=this.tabs[this.selectedTab].content;if(content.data||content.innerHTML!=null){while(this.infoDiv.hasChildNodes())this.infoDiv.removeChild(this.infoDiv.firstChild);this.infoDiv.appendChild(content)}else this.infoDiv.innerHTML=content};PInfoWindow.prototype.createInfoDiv=function(){this.infoDiv=document.createElement("div");this.infoDiv.style.position="absolute";this.infoDiv.style.background="#FFFFFF";this.infoDiv.style.border="none";this.infoDiv.style.zIndex=this.tabs.length+2;var f=function(e){if(!e){e=window.event}e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}};this.listeners.push(PEvent.addListener(this.infoDiv,"mousedown",f));this.updateInfoDiv()};PInfoWindow.prototype.create=function(){this.createInfoDiv();this.bubbleDiv.appendChild(this.nw);var adjustTop=0;var rows=this.tabRows;for(var i=0;i<rows.length;i++){rows[i].style.top=adjustTop+"px";rows[i].style.zIndex=rows.length-i;this.bubbleDiv.appendChild(rows[i]);adjustTop=adjustTop-19}this.bubbleDiv.appendChild(this.n);this.bubbleDiv.appendChild(this.ne);this.bubbleDiv.appendChild(this.w);this.bubbleDiv.appendChild(this.c);this.bubbleDiv.appendChild(this.e);this.bubbleDiv.appendChild(this.sw);this.bubbleDiv.appendChild(this.s1);this.bubbleDiv.appendChild(this.pointer);this.bubbleDiv.appendChild(this.s2);this.bubbleDiv.appendChild(this.se);this.bubbleDiv.appendChild(this.infoDiv);this.bubbleDiv.appendChild(this.closeImage);this.shadowDiv.appendChild(this.s_nw);this.shadowDiv.appendChild(this.s_n);this.shadowDiv.appendChild(this.s_ne);this.shadowDiv.appendChild(this.s_w);this.shadowDiv.appendChild(this.s_c);this.shadowDiv.appendChild(this.s_e);this.shadowDiv.appendChild(this.s_sw);this.shadowDiv.appendChild(this.s_s1);this.shadowDiv.appendChild(this.s_pointer);this.shadowDiv.appendChild(this.s_s2);this.shadowDiv.appendChild(this.s_se);this.addBubbleToMap();var infoWidth=this.infoDiv.offsetWidth;var infoHeight=this.infoDiv.offsetHeight;if(infoWidth<DEFAULT_INFODIV_WIDTH)infoWidth=DEFAULT_INFODIV_WIDTH;if(infoHeight<DEFAULT_INFODIV_HEIGHT)infoHeight=DEFAULT_INFODIV_HEIGHT;this.encloseSize(infoWidth,infoHeight);var shadowWidth=Math.ceil(infoWidth*.75);var shadowHeight=Math.ceil(infoHeight*.5);this.encloseShadowSize(shadowWidth,shadowHeight);this.positionInternals();this.adjustBubble();this.addBubbleToMap();this.resize();this.slideMap();this.isOpen=true;this.map.eventManager.triggerEvent("infowindowopen")};PInfoWindow.prototype.resize=function(){this.bubbleDiv.style.width=this.getWidth()+"px";this.bubbleDiv.style.height=this.getHeight()+"px"};PInfoWindow.prototype.close=function(){this.clearListeners();this.removeDiv(this.bubbleDiv);this.map.kamap.removeObject(this.bubbleDiv);this.removeDiv(this.shadowDiv);this.map.kamap.removeObject(this.shadowDiv);this.isOpen=false;this.visible=false;this.map.eventManager.triggerEvent("infowindowclose")};PInfoWindow.prototype.clearListeners=function(){for(var i=0;i<this.listeners.length;i++)PEvent.removeListener(this.listeners[i]);this.listeners=[]};PInfoWindow.prototype.removeDiv=function(o){while(o.childNodes.length)o.removeChild(o.firstChild)};PInfoWindow.prototype.addBubbleToMap=function(){this.map.kamap.addObjectGeo(this.bubbleCanvas,this.whereGeo.x,this.whereGeo.y,this.bubbleDiv);this.map.kamap.addObjectGeo(this.shadowCanvas,this.whereGeo.x,this.whereGeo.y,this.shadowDiv)};PInfoWindow.prototype.adjustBubble=function(){var offsetX=0;var offsetY=0;var shadowOffsetX=0;var shadowOffsetY=0;if(this.marker||this.map.getOverlaySets().length>0){if(this.marker)var icon=this.marker.icon;else var icon=this.map.getOverlaySets()[0].icon;offsetX=icon.infoWindowAnchor.x-icon.iconAnchor.x;offsetY=icon.infoWindowAnchor.y-icon.iconAnchor.y;shadowOffsetX=-5;shadowOffsetY=5}this.bubbleDiv.xOffset=-parseInt(this.pointer.style.left)+offsetX;this.bubbleDiv.yOffset=-this.getHeight()+offsetY;this.shadowDiv.xOffset=-parseInt(this.s_pointer.style.left)+shadowOffsetX;this.shadowDiv.yOffset=-(parseInt(this.s_c.style.height)+parseInt(this.s_pointer.style.height)+parseInt(this.s_n.style.height))+shadowOffsetY};PInfoWindow.prototype.slideMap=function(){var controlMarginLeft=0;var controlMarginTop=0;for(var i=0;i<this.map.controls.length;i++){if(this.map.controls[i].marginLeft)controlMarginLeft=this.map.controls[i].marginLeft;if(this.map.controls[i].marginTop)controlMarginTop=this.map.controls[i].marginTop}var paddingTop=7+controlMarginTop;var paddingLeft=7+controlMarginLeft;var paddingBottom=25;var paddingRight=7;var mapExtents=this.map.kamap.getGeoExtents();var mapMin=this.map.kamap.geoToPix(mapExtents[0],mapExtents[1]);var mapMax=this.map.kamap.geoToPix(mapExtents[2],mapExtents[3]);var mapMinX=mapMin[0]+paddingLeft;var mapMinY=mapMin[1]-paddingBottom;var mapMaxX=mapMax[0]-paddingRight;var mapMaxY=mapMax[1]+paddingTop;var point=this.map.kamap.geoToPix(this.whereGeo.x,this.whereGeo.y);var pointMinX=point[0]+this.bubbleDiv.xOffset;var pointMinY=point[1];var pointMaxX=point[0]+(this.map.kamap.getObjectWidth(this.bubbleDiv)+this.bubbleDiv.xOffset+this.nwDiff);var tabsHeight=0;if(this.tabRows.length>1)tabsHeight=(this.tabRows.length-1)*49;var pointMaxY=point[1]+this.bubbleDiv.yOffset-tabsHeight;var moveX=0;var moveY=0;if(pointMaxX>mapMaxX)moveX+=mapMaxX-pointMaxX;else if(pointMinX<mapMinX)moveX-=pointMinX-mapMinX;if(pointMinY>mapMinY)moveY+=mapMinY-pointMinY;else if(pointMaxY<mapMaxY)moveY-=pointMaxY-mapMaxY;if(moveX!=0||moveY!=0)this.map.kamap.slideBy(moveX,moveY)};PInfoWindow.prototype.getHeight=function(){return parseInt(this.nw.style.height)+parseInt(this.w.style.height)+parseInt(this.pointer.style.height)};PInfoWindow.prototype.getWidth=function(){return parseInt(this.nw.style.width)+parseInt(this.n.style.width)+parseInt(this.ne.style.width)+this.tabsWidth};PInfoWindow.prototype.createImage=function(src,w,h,left,top,display){var ret=document.createElement("img");ret.style.display=display==null?"inline":display;ret.style.position="absolute";ret.style.border="none";ret.style.margin="0";ret.style.padding="0";ret.style.MozUserSelect="none";if(left!=null&&left!="")ret.style.left=left+"px";if(top!=null&&top!="")ret.style.top=top+"px";if(w!=null&&w!="")ret.style.width=w+"px";if(w!=null&&h!="")ret.style.height=h+"px";
var server=this.map.kamap.server;ret.src=this.map.kamap.server+"images/"+src;if(src.match("png"))fixPNG(ret);return ret};PInfoWindow.prototype.createDivImage=function(i){var ret=document.createElement("div");ret.style.position="absolute";ret.style.overflow="hidden";ret.appendChild(i);return ret};PInfoWindowTab=function(label,content,metadata,stab){this.label=label;this.content=content;this.metadata=metadata?metadata:null;this.showSingleTab=stab};PLabelManager=function(opts){this.hiddenSets={};this.zoomOffset=0;this.defaultZoom=10;if(opts!=null){if(opts.zoomOffset!=null){this.zoomOffset=opts.zoomOffset}if(opts.defaultZoom!=null){this.defaultZoom=opts.defaultZoom}else{this.defaultZoom=Math.max(0,this.defaultZoom-this.zoomOffset)}}};PLabelManager.prototype.updateMapLabels=function(){var args=this.generateMapLabelArguments(true);this.removeAllLabelSets();this._updateLabelCheckboxes();if(args.length<1){return}var self=this;ajax.call({url:PEnvironment.labelUrl+"?act=all&"+args.join("&"),dataType:"json",success:function(results){self._setupLabels(results.labels)}})};PLabelManager.prototype.hideLabelSet=function(id,type,childSets){if(id&&type){var set=getActiveOverlaySetByIdAndType(id,type);if(set==null){return}var sets=[{id:id,type:type}];if(childSets){for(var i=0;i<set.children.length;i++){sets.push({id:set.children[i].id,type:set.children[i].type})}}var overlaySets=map.getOverlaySets().slice(0);for(var i=0;i<sets.length;i++){var curSet=sets[i];this.hiddenSets[curSet.id+curSet.type]=true;for(var j=0;j<overlaySets.length;j++){var curMapSet=overlaySets[j];if(curMapSet.id===id&&curMapSet.type===type){curMapSet.hideLabels=true}if(curMapSet.name=="labels"+curSet.id+curSet.type){map.removeOverlaySet(curMapSet)}}}}};PLabelManager.prototype.showLabelSet=function(id,type,childSets){if(id&&type){var set=getActiveOverlaySetByIdAndType(id,type);if(set==null){return}var sets=[{id:id,type:type}];if(childSets){for(var i=0;i<set.children.length;i++){sets.push({id:set.children[i].id,type:set.children[i].type})}}var displaySets=0;showSetLoop:for(var i=0;i<sets.length;i++){var curSet=sets[i];var overlaySets=map.getOverlaySets();for(var j=0;j<overlaySets.length;j++){var curMapSet=overlaySets[j];if(curMapSet.id===id&&curMapSet.type===type){curMapSet.hideLabels=false}if(curMapSet.name=="labels"+curSet.id+curSet.type){this.hiddenSets[curSet.id+curSet.type]=false;continue showSetLoop}}this.hiddenSets[curSet.id+curSet.type]=false;displaySets++}if(displaySets>0){this.updateMapLabels()}}};PLabelManager.prototype.isHidden=function(id,type){if(id&&type){if(this.hiddenSets[id+type]==null){return null}else{return this.hiddenSets[id+type]==true}}};PLabelManager.prototype.removeLabelSet=function(id,type,removeHidden){if(id&&type){var overlaySets=map.getOverlaySets();for(var i=0;i<overlaySets.length;i++){var curSet=overlaySets[i];if(curSet.name=="labels"+id+type){map.removeOverlaySet(curSet);break}}}if(removeHidden==true){this.hiddenSets[id+type]=null}};PLabelManager.prototype.removeAllLabelSets=function(clearHiddenList){var overlaySets=map.getOverlaySets().slice(0);for(var i=0;i<overlaySets.length;i++){var curSet=overlaySets[i];if(curSet.name.indexOf("labels")==0){map.removeOverlaySet(curSet)}}if(clearHiddenList==true){this.hiddenSets={}}};PLabelManager.prototype.resetLabelManager=function(removeFromMap){if(removeFromMap==true){this.removeAllLabelSets()}this.hiddenSets={}};PLabelManager.prototype.getLabelCount=function(id,type,callback){ajax.call({url:PEnvironment.labelUrl+"?act=cnt&id="+id+"&type="+type,dataType:"json",success:function(results){callback(results.count)}})};PLabelManager.prototype.toggleHidden=function(checkbox,id,type){if(checkbox&&id&&type){if(checkbox.checked){this.showLabelSet(id,type,true)}else{this.hideLabelSet(id,type,true)}}};PLabelManager.prototype.setHiddenNoUpdate=function(id,type,hidden){if(id&&type){var set=getActiveOverlaySetByIdAndType(id,type);if(set==null){return}var sets=[{id:id,type:type}];for(var i=0;i<set.children.length;i++){sets.push({id:set.children[i].id,type:set.children[i].type})}if(hidden!=true){hidden=null}for(var i=0;i<sets.length;i++){this.hiddenSets[sets[i].id+sets[i].type]=hidden}}};PLabelManager.prototype.generateMapLabelArguments=function(excludeHidden){var args=[];var curZoom=map.getZoom();var tempOverlaySet=new POverlaySet;var overlays=map.getOverlaySets(true,true);var osets=[];var dlosets=[];for(var i=0;i<overlays.length;i++){var curOverlay=overlays[i];var curOverlayZoom=curOverlay.labelZoom;if(curOverlayZoom!=null){curOverlayZoom=Math.max(0,curOverlayZoom-this.zoomOffset)}if(curOverlayZoom!=null&&curZoom<curOverlayZoom||curOverlayZoom==null&&curZoom<this.defaultZoom){continue}if(curOverlay.id&&!curOverlay.withLayer){if(excludeHidden!=true||!this.isHidden(curOverlay.id,curOverlay.type)){if(curOverlay.type=="old"){osets.push(curOverlay)}else if(curOverlay.type=="dl"){dlosets.push(curOverlay)}}if(curOverlay.children.length>0){if(excludeHidden!=true||!this.isHidden(curOverlay.id,curOverlay.type)){for(var j=0;j<curOverlay.children.length;j++){var curChildSet=curOverlay.children[j];if(curChildSet.type=="old"){osets.push(curChildSet)}else if(curChildSet.type=="dl"){dlosets.push(curChildSet)}}}}}}for(var i=0;i<osets.length;i++){var curSet=osets[i];args.push("o"+i+"="+curSet.id);if(curSet.filtersbyicons.length>0){var ofilters=curSet.filtersbyicons;var combinedFilter=_.chain(ofilters).map(function getOverlaySetFilterQuery(filter){return decodeURIComponent(tempOverlaySet.createFilterQuery(filter))}).join(",").value();args.push("o"+i+"f0"+"="+encodeURIComponent(combinedFilter))}else{var filterGroups=curSet.filtergroups;var filterCount=0;for(curGroup in filterGroups){if(!curGroup.match("_HIDE")){var curFilters=filterGroups[curGroup];if(curFilters.length>0){var combinedFilter=_.chain(curFilters).map(function getOverlaySetFilterQuery(filter){return decodeURIComponent(tempOverlaySet.createFilterQuery(filter))}).join(",").value();args.push("o"+i+"f"+filterCount+"="+encodeURIComponent(combinedFilter));filterCount++}}}}}for(var i=0;i<dlosets.length;i++){var curSet=dlosets[i];if(curSet.id){args.push("dlo"+i+"="+curSet.id)}}if(args.length>0){var mapBounds=map.getBounds();args.push("minx="+mapBounds.getSouthWest().lng());args.push("miny="+mapBounds.getSouthWest().lat());args.push("maxx="+mapBounds.getNorthEast().lng());args.push("maxy="+mapBounds.getNorthEast().lat());if(productProperty.exists("live_map_boundary_island")){args.push("islpd="+productProperty.getValue("live_map_boundary_island")[0]);if(liveMapBoundaryIsland!=null&&liveMapBoundaryIsland.getDefinitionId()!=null){args.push("islpddi="+liveMapBoundaryIsland.getDefinitionId())}}if(productProperty.exists("live_map_custom_region_island")){args.push("islcus="+productProperty.getValue("live_map_custom_region_island").join(","))}}return args};PLabelManager.prototype._updateLabelCheckboxes=function(){var curZoom=map.getZoom();var overlaySets=map.getOverlaySets();for(var j=0;j<overlaySets.length;j++){var curSet=overlaySets[j];var curSetZoom=curSet.labelZoom;if(curSetZoom!=null){curSetZoom=Math.max(0,curSetZoom-this.zoomOffset)}if(curSetZoom!=null&&curZoom<curSetZoom||curSetZoom==null&&curZoom<this.defaultZoom){var checkbox=$("#label"+curSet.id+"[type=checkbox]");if(checkbox.length>0){checkbox.attr("disabled",true);checkbox.attr("checked",false);$("#label"+curSet.id+"Label").addClass("disabled");$("#label"+curSet.id+"Label").attr("title","Please zoom in to enable labels.");checkbox.attr("title","Please zoom in to enable labels.");this.setHiddenNoUpdate(curSet.id,curSet.type,true)}}else{var checkbox=$("#label"+curSet.id+"[type=checkbox]");if(checkbox.length>0){checkbox.attr("disabled",null);$("#label"+curSet.id+"Label").removeClass("disabled");$("#label"+curSet.id+"Label").attr("title","");checkbox.attr("title","")}if(isCBClone()){if(this.isHidden(curSet.id,curSet.type)!=false&&(this.isHidden(curSet.id,curSet.type)==true||(curSet.hideLabels||curSet.hidelabels))){this.setHiddenNoUpdate(curSet.id,curSet.type,true)}}}}};PLabelManager.prototype._setupLabels=function(labels){var sets=[];for(var i=0;i<labels.length;i++){var curLabel=labels[i];var curSetId=curLabel.setid;var curSetType=curLabel.settype;if(sets[curSetId+curSetType]==null){sets[curSetId+curSetType]=[]}var labelLatLng=new PLatLng(curLabel.lat,curLabel.lng);var labelAnchor=new PPoint(10,28);var labelIcon=new PIcon;labelIcon.image=PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=1&tx="+encodeURIComponent(curLabel.label.toUpperCase());labelIcon.iconAnchor=labelAnchor;var labelMarker=new PMarker(labelLatLng,labelIcon);labelMarker.setCursor("move");sets[curSetId+curSetType].push(labelMarker)}for(set in sets){var labelSet=new POverlaySet(sets[set]);labelSet.name="labels"+set;labelSet.withLayer=true;if(!this.hiddenSets[set]){map.addOverlaySet(labelSet)}}};PLargeMapControl=function(){};PLargeMapControl.prototype.attach=function(map){var kamap=map.kamap;this.kaZoomer=new kaZoomer;this.kaZoomer.left=null;this.kaZoomer.right=7;this.kaZoomer.top=50;this.kaZoomer.attach(kamap);this.marginRight=7};PLargeMapControl.prototype.remove=function(map){this.kaZoomer.remove()};PLatLngBounds=function(arg1,arg2){this.sw=null;this.ne=null;if(arg2 instanceof PLatLng){if(arg1)this.sw=arg1;if(arg2)this.ne=arg2}else{this.ne=PGeoUtil.moveVincenty(arg1,"45 1 1N",arg2);this.sw=PGeoUtil.moveVincenty(arg1,"135 1 1S",arg2)}};PLatLngBounds.prototype.contains=function(latlng){if(latlng.lat()>=this.sw.lat()&&latlng.lat()<=this.ne.lat()&&latlng.lng()>=this.sw.lng()&&latlng.lng()<=this.ne.lng())return true;else return false};PLatLngBounds.prototype.containsBounds=function(other){if(this.sw.lat()<=other.sw.lat()&&this.ne.lat()>=other.ne.lat()&&this.sw.lng()<=other.sw.lng()&&this.ne.lng()>=other.ne.lng())return true;else return false};PLatLngBounds.prototype.extend=function(latlng){if(this.sw.lat()>latlng.lat())this.sw.latitude=latlng.lat();else if(this.ne.lat()<latlng.lat())this.ne.latitude=latlng.lat();if(this.sw.lng()>latlng.lng())this.sw.longitude=latlng.lng();else if(this.ne.lng()<latlng.lng())this.ne.longitude=latlng.lng()};PLatLngBounds.prototype.getSouthWest=function(){return this.sw};PLatLngBounds.prototype.getNorthEast=function(){return this.ne};PLatLngBounds.prototype.toSpan=function(){var dLat=Math.abs(this.ne.lat()-this.sw.lat());var dLng=Math.abs(this.ne.lng()-this.sw.lng());return new PLatLng(dLat,dLng)};PLatLngBounds.prototype.isEmpty=function(){if(this.sw==null||this.ne==null)return true;else return false};PLatLngBounds.prototype.getCenter=function(){var size=this.toSpan();var lat=this.sw.lat()+size.lat()*.5;var lng=this.sw.lng()+size.lng()*.5;return new PLatLng(lat,lng)};PLatLngBounds.prototype.getPlacesWithin=function(placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr){(new PClientGeocoder).getPlacesWithin(this,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr)};PLatLngBounds.prototype.getPlacesWithinCount=function(placetype,matrixId,defId,callback,overlap,quota){(new PClientGeocoder).getPlacesWithinCount(this,placetype,matrixId,defId,callback,overlap,quota)};PLatLngBounds.prototype.getPlacesWithinPage=function(placetype,matrixId,defId,callback,overlap,maxResults,order,quota,context,offset,query){(new PClientGeocoder).getPlacesWithinPage(this,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,context,offset,query)};PLatLngBounds.prototype.getPlacesWithinCSV=function(placetype,matrixId,defId,overlap,order,quota,query){(new PClientGeocoder).getPlacesWithinCSV(this,placetype,matrixId,defId,overlap,order,quota,query)};PLatLngBounds.prototype.getPlacesContaining=function(placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr){(new PClientGeocoder).getPlacesContaining(this,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr)};PLatLngBounds.prototype.getPlacesContainingCount=function(placetype,matrixId,defId,callback,overlap,quota){(new PClientGeocoder).getPlacesContainingCount(this,placetype,matrixId,defId,callback,overlap,quota)};PLatLngBounds.prototype.getPlacesOverlapping=function(placetype,matrixId,defId,callback,quota,maxResults,order,quota){(new PClientGeocoder).getPlacesOverlapping(this,placetype,matrixId,defId,callback,quota,maxResults,order,quota)};PLatLngBounds.prototype.getPlacesOverlappingCount=function(placetype,matrixId,defId,callback,quota,quota){(new PClientGeocoder).getPlacesOverlappingCount(this,placetype,matrixId,defId,callback,quota,quota)};PLatLngBounds.prototype.getPlacesIntersecting=function(placetype,matrixId,defId,callback,quota,maxResults,order,quota){(new PClientGeocoder).getPlacesIntersecting(this,placetype,matrixId,defId,callback,quota,maxResults,order,quota)};PLatLngBounds.prototype.getPlacesIntersectingCount=function(placetype,matrixId,defId,callback,quota,quota){(new PClientGeocoder).getPlacesIntersectingCount(this,placetype,matrixId,defId,callback,quota,quota)};PLatLngBounds.prototype.getPlacesIntersectingPage=function(placetype,matrixId,defId,callback,maxResults,order,quota,context,offset,query){(new PClientGeocoder).getPlacesIntersectingPage(this,placetype,matrixId,defId,callback,maxResults,order,quota,context,offset,query)};PLatLngBounds.prototype.getPlacesIntersectingCSV=function(placetype,matrixId,defId,order,quota,query){(new PClientGeocoder).getPlacesIntersectingCSV(this,placetype,null,null,order,quota,query)};PLatLngBounds.prototype.getMarkersWithin=function(overlayset,callback){(new PClientGeocoder).getMarkersWithin(this,overlayset,callback)};PLatLngBounds.prototype.getMarkersWithinCSV=function(ids){(new PClientGeocoder).getMarkersWithinCSV(this,ids)};PLatLngBounds.prototype.toString=function(){return"("+this.sw+", "+this.ne+")"};PLatLngBounds.prototype.getAggregates=function(placeType,callback,woverlap,wmax,worder,wquota,coverlap,cmax,corder,cquota,attr){var self=this;self.getPlacesWithin(placeType,function(placesWithin){if(placesWithin.length>0){callback(placesWithin)}else{self.getPlacesContaining(placeType,null,null,function(placesContaining){callback(placesContaining)},coverlap,cmax,corder,cquota,attr)}},woverlap,wmax,worder,wquota,attr)};PLatLng=function(arg1,lng){if(arg1 instanceof PAddress){this.latitude=arg1.y;this.longitude=arg1.x}else{this.latitude=arg1;this.longitude=lng}};PLatLng.prototype.lat=function(){return this.latitude};PLatLng.prototype.lng=function(){return this.longitude};PLatLng.prototype.latRadians=function(){return this.latitude*Math.PI/180};PLatLng.prototype.lngRadians=function(){return this.longitude*Math.PI/180};PLatLng.prototype.toString=function(){return"("+this.latitude+", "+this.longitude+")"};PLatLng.prototype.equals=function(other){return this.latitude==other.latitude&&this.longitude==other.longitude};PLatLng.prototype.distanceFrom=function(from){return PGeoUtil.distVincenty(from,this)};PLatLng.prototype.moveBy=function(bearing,meters){return PGeoUtil.moveVincenty(this,bearing,meters)};PLatLng.prototype.getPlacesContaining=function(placetype,matrixId,defId,callback,overlap,maxResults,order){(new PClientGeocoder).getPlacesContaining(this,placetype,matrixId,defId,callback,overlap,maxResults,order)};PLegend=function(colorramp,numbreaks){this.indicator=null;this.indicatorList=[];if(colorramp)this.colorramp=colorramp;else this.colorramp=PColorRamp.DEFAULT;if(numbreaks)this.numbreaks=numbreaks;else this.numbreaks=DEFAULT_NUMBREAKS;this.typeconfig=PPlaceTypeConfig.PLEGEND;this.nodatacolor=new PColor("CCCCCC")};PLegend.prototype.getCurrentPlaceType=function(){return this.getBoundaryType()};PLegend.prototype.getBoundaryType=function(){var btds=session.get(this.instanceId+"btds")&&session.get(this.instanceId+"btds").constructor==Object?session.get(this.instanceId+"btds"):{};if(this.indicator&&btds[this.indicator.id]&&this.isValidBoundaryType(btds[this.indicator.id])){return this.setBoundaryType(btds[this.indicator.id])}var scale=null;if(this.map&&this.map.kamap)scale=this.map.kamap.getCurrentScale();else if(map&&map.kamap)scale=map.kamap.getCurrentScale();if(this._boundaryType&&(this.scale&&this.scale==scale)){return this._boundaryType}this.scale=scale;if(scale&&this.indicator){var zooms=this.typeconfig.zooms;var l=zooms.length;var latestNonDefaultType=null;for(var i=l-1;i>=0;i--){if(zooms[i]){if(zooms[i].length){var l2=zooms[i].length;for(var j=0;j<l2;j++){if(scale<=P_SCALES_DEFAULT[i]&&this.getBoundaryDefinitionId(zooms[i][j].id)!=null&&this.indicator.breaks[this.indicator.curPerIndex][zooms[i][j].id]){if(this.showTypeInShadeBy(zooms[i][j].id)){this._boundaryType=zooms[i][j];return this._boundaryType}else{latestNonDefaultType=zooms[i][j]}}}}else if(scale<=P_SCALES_DEFAULT[i]&&this.getBoundaryDefinitionId(zooms[i].id)!=null&&this.indicator.breaks[this.indicator.curPerIndex][zooms[i].id]){if(this.showTypeInShadeBy(zooms[i].id)){this._boundaryType=zooms[i];return this._boundaryType}else latestNonDefaultType=zooms[i]}}}if(latestNonDefaultType){this._boundaryType=latestNonDefaultType;return latestNonDefaultType}if(this.indicator.maxscale&&scale<=this.indicator.maxscale){for(var i=0;i<l;i++){if(zooms[i]){if(zooms[i].length){for(var j=0;j<zooms[i].length;j++){if(this.getBoundaryDefinitionId(zooms[i][j].id)!=null&&this.indicator.breaks[this.indicator.curPerIndex][zooms[i][j].id]){if(this.showTypeInShadeBy(zooms[i][j].id)){this._boundaryType=zooms[i][j];return this._boundaryType}else latestNonDefaultType=zooms[i]}}}else if(this.getBoundaryDefinitionId(zooms[i].id)!=null&&this.indicator.breaks[this.indicator.curPerIndex][zooms[i].id]){if(this.showTypeInShadeBy(zooms[i].id)){this._boundaryType=zooms[i];return this._boundaryType}else latestNonDefaultType=zooms[i]}}}}if(latestNonDefaultType){this._boundaryType=latestNonDefaultType;return latestNonDefaultType}}return null};PLegend.prototype.getCurrentBoundaryDefinitionId=function(){var type=this.getBoundaryType();if(type==null){return null}return this.getBoundaryDefinitionId(type.getId())};PLegend.prototype.getBoundaryDefinitionId=function(typeId){try{var defId=boundaryMatrix.getDefinitionForTypeId(typeId,this.indicator.matrixIds[this.indicator.curPerIndex],true);return defId}catch(e){return null}};PLegend.prototype.setIndicator=function(ind){this.indicator=ind;this.indicator.legend=this;this.redraw();if(this.map){this.map.eventManager.triggerEvent("setindicator",ind)}if(PEnvironment.pageName==="analytics"){map.eventManager.triggerEvent("setindicator",ind)}};PLegend.prototype.removeIndicator=function(){if(this.map)this.map.eventManager.triggerEvent("removeindicator",this.indicator);this.indicator=null;this.redraw()};PLegend.prototype.redraw=function(){if(this.map){var kLayers=this.map.kamap.getCurrentMap().getLayers();if(this.indicator!=null)kLayers[0].legend=this;else kLayers[0].legend=null;this.map.refresh()}if(this.map)this.map.refreshWidget(this.map.widgetIndicator)};PLegend.prototype.getIndicator=function(){return this.indicator};PLegend.prototype.setColorRamp=function(colorramp){this.colorramp=colorramp;this.redraw()};PLegend.prototype.getColorRamp=function(){return this.colorramp};PLegend.prototype.getColors=function(){var colorramp=[];var colors=[];if(this.indicator.nodata)colorramp.push(this.nodatacolor.getColor());var customColors=false;if(this.indicator&&(this.indicator.breakid==P_BREAKTYPE_EXACT_VALUE_ID||this.indicator.breakid==P_BREAKTYPE_EXACT_VALUE_CUSTOM_ID)){if(PColorRamp.MVA[this.indicator.id]){colors=PColorRamp.MVA[this.indicator.id];customColors=true}else colors=this.colorramp.getColors()}else{colors=this.colorramp.getColors();var negativecolors=this.colorramp.getNegativeColors();var negativelength=negativecolors.length;var negativecount=0;if(this.getBreaks()!=""&&PColorRampOptions&&!PColorRampOptions[this.colorramp.name].ignoreNegative){var breaks=this.getBreaks().split(",");var l=breaks.length-1;for(var i=0;i<l;i++){if(breaks[i]<0&&!(this.indicator.nodata&&breaks[i]==this.indicator.nodata))negativecount++}}for(var i=0;i<negativecount;i++){var colorIndex=i*Math.floor(negativelength/negativecount)%negativelength+1;if(i==negativecount-1)colorramp.push(negativecolors[0].getColor());else colorramp.push(negativecolors[negativelength-colorIndex].getColor())}}var numbreaks=this.getNumberOfBreaks()-colorramp.length;var colorslength=colors.length;var colorIndexes;if(this.indicator.nodata)numbreaks+=1;if(customColors||colorslength<numbreaks||numbreaks>8||colorslength<8){for(var i=0;i<numbreaks;i++){var colorIndex=i*Math.floor(colorslength/numbreaks)%colorslength;if(colorslength<=5)colorramp.push(colors[colorIndex].getColor());else if(i==numbreaks-1)colorramp.push(colors[colorslength-1].getColor());else if(numbreaks==5&&i==3&&!customColors)colorramp.push(colors[colorIndex+1].getColor());else colorramp.push(colors[colorIndex].getColor())}}else{switch(numbreaks){case 0:colorIndexes=[];break;case 1:colorIndexes=[8];break;case 2:colorIndexes=[1,8];break;case 3:colorIndexes=[1,4,8];break;case 4:colorIndexes=[1,3,6,8];break;case 5:colorIndexes=[1,3,5,6,8];break;case 6:colorIndexes=[1,2,4,5,7,8];break;case 7:colorIndexes=[1,3,4,5,6,7,8];break;case 8:colorIndexes=[1,2,3,4,5,6,7,8];break}_.each(colorIndexes,function(colorIndex){colorramp.push(colors[colorIndex-1].getColor())})}return colorramp};PLegend.prototype.setNumberOfBreaks=function(numbreaks){if(numbreaks>=2&&numbreaks<=8){this.numbreaks=numbreaks;this.redraw()}};PLegend.prototype.getNumberOfBreaks=function(){var breaks=this.numbreaks;if(this.indicator&&this.indicator.defaultNumBreaks){breaks=this.indicator.defaultNumBreaks}else if(this.indicator!=null&&(this.indicator.breakid==P_BREAKTYPE_EXACT_VALUE_ID||this.indicator.breakid==P_BREAKTYPE_EXACT_VALUE_CUSTOM_ID)&&this.getBoundaryType()&&this.indicator.breaks[this.indicator.curPerIndex][this.getBoundaryType().id]){breaks=this.indicator.breaks[this.indicator.curPerIndex][this.getBoundaryType().id].length-1}else if(this.isPrerenderedBoundary()&&this.getBoundaryType()){breaks=DEFAULT_NUMBREAKS}return breaks};PLegend.prototype.getBreaks=function(){var retVal="";if(this.indicator!=null&&this.getBoundaryType()){if(this.indicator.custombreaks[this.indicator.curPerIndex]&&this.indicator.custombreaks[this.indicator.curPerIndex][this.getBoundaryType().id]&&this.indicator.custombreaks[this.indicator.curPerIndex][this.getBoundaryType().id][this.getNumberOfBreaks()])retVal=this.indicator.custombreaks[this.indicator.curPerIndex][this.getBoundaryType().id][this.getNumberOfBreaks()];else if(this.indicator.breaks[this.indicator.curPerIndex]&&this.indicator.breaks[this.indicator.curPerIndex][this.getBoundaryType().id]&&this.indicator.breaks[this.indicator.curPerIndex][this.getBoundaryType().id][this.getNumberOfBreaks()])retVal=this.indicator.breaks[this.indicator.curPerIndex][this.getBoundaryType().id][this.getNumberOfBreaks()];if(this.indicator.nodata)retVal=this.indicator.nodata+","+retVal}return retVal};PLegend.prototype.getEncodedBreaks=function(){var breaks=this.getBreaks().split(",");var l=breaks.length;var encoded="";for(var i=0;i<l;i++){encoded+=encodeURIComponent(breaks[i]);if(i<l-1)encoded+=":"}return encoded};PLegend.prototype.getFormattedBreaks=function(increment){if(this.indicator!=null){var ind=this.indicator;var breaks=this.getBreaks().split(",");if(this.indicator.breakid!=P_BREAKTYPE_EXACT_VALUE_ID&&this.indicator.breakid!=P_BREAKTYPE_EXACT_VALUE_CUSTOM_ID){for(var i=0;i<breaks.length;i++){var exp=breaks[i].split("E");if(exp.length>1&&exp[0]&&Math.pow(10,exp[1]))breaks[i]=exp[0]*Math.pow(10,exp[1])+"";var dec=null;if(increment)dec=PWebUtil.getDecimalPlaces(increment);breaks[i]=PWebUtil.formatNumber(breaks[i],ind.unit,dec)}}return breaks}};PLegend.prototype.getIncrementedBreaks=function(increment){if(this.indicator!=null){var ind=this.indicator;var breaks=this.getBreaks().split(",");var l=breaks.length;var incremented=[];var dec=PWebUtil.getDecimalPlaces(increment);for(var i=0;i<l;i++){var firstBreak=Number(breaks[i]);firstBreak=firstBreak.toFixed(dec);firstBreak=Number(firstBreak)+Number(increment);incremented.push(PWebUtil.formatNumber(firstBreak,ind.unit,dec))}return incremented}};PLegend.prototype.setIndicatorList=function(indicatorList){this.indicatorList=indicatorList;if(this.map)this.map.refreshWidget(this.map.widgetIndicator)};PLegend.prototype.getIndicatorList=function(){return this.indicatorList};PLegend.prototype.setNoDataColor=function(color){this.nodatacolor=color};PLegend.prototype.lockBoundaryType=function(){this._lockBoundaryType=true};PLegend.prototype.unlockBoundaryType=function(){this._lockBoundaryType=false;this.clearStoredScale()};PLegend.prototype.boundaryTypeIsLocked=function(indid){var btds=session.get(this.instanceId+"btds")&&session.get(this.instanceId+"btds").constructor==Object?session.get(this.instanceId+"btds"):{};if(btds[indid])return true;else return false};PLegend.prototype.setLockBoundaryTypeGlobally=function(){this.keepboundarieslocked=true};PLegend.prototype.isBoundaryTypeSetToLockGlobally=function(){return this.keepboundarieslocked};PLegend.prototype.lockBoundaryTypeGlobally=function(id){this._lockBoundaryTypeGlobally=id};PLegend.prototype.unlockBoundaryTypeGlobally=function(){this._lockBoundaryTypeGlobally=null};PLegend.prototype.getGloballyLockedType=function(){return this._lockBoundaryTypeGlobally};PLegend.prototype.setBoundaryType=function(btd){if(btd&&btd.constructor==PPlaceType){this._boundaryType=btd;return btd}var candidates=this.getBoundaryTypes();for(var i=0;i<candidates.length;++i){if(candidates[i].id==btd){this._boundaryType=candidates[i];return candidates[i];break}}};PLegend.prototype.clearBoundaryType=function(btd){this._boundaryType=null};PLegend.prototype.isValidBoundaryType=function(btd,noPreRendered){var bt=btd&&btd.constructor==PPlaceType?btd.id:btd;var candidates=this.getBoundaryTypes(noPreRendered);var isValid=false;for(var i=0;i<candidates.length;++i){if(candidates[i].id==bt){isValid=true;break}}return isValid};PLegend.prototype.clearStoredScale=function(){this.scale=null};PLegend.prototype.getBoundaryTypes=function(noPreRendered){var results=[];var scale=null;if(this.map&&this.map.kamap)scale=this.map.kamap.getCurrentScale();else if(map&&map.kamap)scale=map.kamap.getCurrentScale();if(scale&&this.indicator){var zooms=this.typeconfig.zooms;var l=zooms.length;for(var i=l-1;i>=0;i--){if(zooms[i]){if(zooms[i].length){var l2=zooms[i].length;for(var j=0;j<l2;j++){if((scale<=P_SCALES_DEFAULT[i]||this.allowTypeAlways(zooms[i][j]))&&this.getBoundaryDefinitionId(zooms[i][j].id)!=null&&this.indicator.breaks[this.indicator.curPerIndex][zooms[i][j].id]){results.push(zooms[i][j])}}}else if(scale<=P_SCALES_DEFAULT[i]&&this.getBoundaryDefinitionId(zooms[i].id)!=null&&this.indicator.breaks[this.indicator.curPerIndex][zooms[i].id]){results.push(zooms[i])}}}if(noPreRendered!=true&&results.length<=0&&this.indicator.maxscale&&scale<=this.indicator.maxscale){for(var i=0;i<l&&results.length<=0;i++){if(zooms[i]){if(zooms[i].length){for(var j=0;j<zooms[i].length;j++){if(this.getBoundaryDefinitionId(zooms[i][j].id)!=null&&this.indicator.breaks[this.indicator.curPerIndex][zooms[i][j].id]){results.push(zooms[i][j]);break}}}else if(this.getBoundaryDefinitionId(zooms[i].id)!=null&&this.indicator.breaks[this.indicator.curPerIndex][zooms[i].id]){results.push(zooms[i])}}}}}return results};PLegend.prototype.showTypeInShadeBy=function(typeid){if(this.indicator.getPlaceTypes().length==1)return true;var ignoreTypes=PPlaceTypeConfig.typesToIgnoreAsDefaultInShadeBy;for(var p=0;p<ignoreTypes.length;p++){if(typeid==ignoreTypes[p].id)return false}return true};PLegend.prototype.allowTypeAlways=function(type){var allow=[PPlaceType.COUNTY];for(var i=0;i<allow.length;i++){if(allow[i].id==type.id)return true}return false};PLegend.prototype.isPrerenderedBoundary=function(indicator,indz){if(!indicator)indicator=this.indicator;if(this.map&&this.map.kamap&&indicator){var scale=this.map.kamap.getCurrentScale();var curIndPlaceType=null;var indPlaceTypes=indicator.getPlaceTypes();if(indPlaceTypes&&indPlaceTypes.length&&indicator.curPerIndex)curIndPlaceType=indPlaceTypes[indicator.curPerIndex];if(indicator.maxscale&&curIndPlaceType&&scale>curIndPlaceType.maxScale)return true;else return false}return false};PLegend.prototype.getNumberOfAvailablePlaces=function(){if(this.map&&this.map.kamap&&this.indicator){var places=this.indicator.getPlaceTypes();var placesl=places.length;var zooms=this.typeconfig.zooms;var l=zooms.length;var count=0;for(var i=0;i<l;i++){if(zooms[i]){if(zooms[i].length){for(var j=0;j<zooms[i].length;j++){for(var k=0;k<placesl;k++){if(zooms[i][j]==places[k])count++}}}else{for(var k=0;k<placesl;k++){if(zooms[i]==places[k])count++}}}}}return count};PLegend.prototype.compareCustomBreaks=function(index,condition){var retVal=false;if(this.indicator&&this.indicator.custombreaks.length>0){var placetype=this.getBoundaryType();var numbreaks=this.getNumberOfBreaks();if(this.indicator.custombreaks[this.indicator.curPerIndex]&&this.indicator.custombreaks[this.indicator.curPerIndex][placetype.id]&&this.indicator.custombreaks[this.indicator.curPerIndex][placetype.id][numbreaks]){if(this.indicator.nodata)index--;var custombreaks=this.indicator.custombreaks[this.indicator.curPerIndex][placetype.id][numbreaks].split(",");var breaks=this.indicator.breaks[this.indicator.curPerIndex][placetype.id][numbreaks].split(",");if(custombreaks[index]&&breaks[index]){if(condition==">"){if(parseFloat(custombreaks[index])>parseFloat(breaks[index]))retVal=true}else if(condition=="<"){if(parseFloat(custombreaks[index])<parseFloat(breaks[index]))retVal=true}}}}return retVal};PLinkManager=function(){this.backend=PEnvironment.linkUrl};PLinkManager.prototype.add=function(link,f){var url=this.backend+"?act=add"+"&link="+encodeURIComponent(link.url)+"&name="+encodeURIComponent(link.name);f=f?f:{};ajax.call({url:url,context:this,success:function(response){this._callback(response,f)}})};PLinkManager.prototype.printPDF=function(link,f,parms,template,printService){if(printService!=null&&printService==P.constants.webKitPrintService){var self=this;var callback=function(response){self._callback(response,f)};P.instances.wkprint.setFileName(link.name);P.instances.wkprint.setPrintCallback(callback);P.instances.wkprint.printThisPage()}else{template=template?"&template="+encodeURIComponent(template):"";parms=parms?"&parms="+encodeURIComponent(parms):"";if(link&&f){var url=this.backend+"?act=print"+"&type=pdf"+"&link="+encodeURIComponent(link.url)+"&name="+encodeURIComponent(link.name)+template+parms;f=f?f:{};ajax.call({url:url,context:this,success:function(response){this._callback(response,f)}})}}};PLinkManager.prototype.printJPG=function(link,f,parms,template){if(template&&parms){var url=this.backend+"?act=print"+"&type=jpeg"+"&template="+encodeURIComponent(template)+"&link="+encodeURIComponent(link.url)+"&name="+encodeURIComponent(link.name)+"&parms="+encodeURIComponent(parms);f=f?f:{};ajax.call({url:url,context:this,success:function(response){this._callback(response,f)}})}};PLinkManager.prototype.printPNG=function(link,f,parms,template){if(template&&parms){var url=this.backend+"?act=print"+"&type=png"+"&template="+encodeURIComponent(template)+"&link="+encodeURIComponent(link.url)+"&name="+encodeURIComponent(link.name)+"&parms="+encodeURIComponent(parms);f=f?f:{};ajax.call({url:url,context:this,success:function(response){this._callback(response,f)}})}};PLinkManager.prototype.printCSV=function(link,f,template,parms){if(template){var url=this.backend+"?act=print"+"&type=csv"+"&template="+encodeURIComponent(template)+"&link="+encodeURIComponent(link.url)+"&name="+encodeURIComponent(link.name)+"&data="+encodeURIComponent(link.data)+"&parms="+encodeURIComponent(parms);f=f?f:{};ajax.call({url:url,context:this,success:function(response){this._callback(response,f)}})}};PLinkManager.prototype.embed=function(link,f,parms,template,action){if(template&&parms){var url=this.backend+"?act="+action+"&type=jpeg"+"&template="+encodeURIComponent(template)+"&link="+encodeURIComponent(link.url)+"&name="+encodeURIComponent(link.name)+"&parms="+encodeURIComponent(parms);
f=f?f:{};ajax.call({url:url,context:this,success:function(response){this._callback(response,f)}})}};PLinkManager.prototype.emailLink=function(link,f,emails,message,from){emails=emails.length>0?"&e="+encodeURIComponent(emails.join(",")):"";message=message?"&m="+encodeURIComponent(message):"";var url=this.backend+"?act=email"+"&from="+encodeURIComponent(from)+"&link="+encodeURIComponent(link.url)+emails+message;f=f?f:function(){};ajax.call({url:url,context:this,success:function(response){this._callback(response,f)}})};PLinkManager.prototype.deleteLink=function(linkId,f){if(linkId){var url=this.backend+"?act=del"+"&id="+linkId;f=f?f:function(){};ajax.call({url:url,context:this,success:function(response){this._callback(response,f)}})}};PLinkManager.prototype.renameLink=function(linkId,newName,f){if(linkId&&newName){var url=this.backend+"?act=ren"+"&id="+linkId+"&name="+encodeURIComponent(newName);f=f?f:function(){};ajax.call({url:url,context:this,success:function(response){this._callback(response,f)}})}};PLinkManager.prototype._callback=function(response,callback){if(response!=null){if($.isArray(response)){callback.apply(null,response)}else{callback(response)}}else{callback()}};PLogin=function(){};PLogin.prototype.initialize=function(){this.login=jQuery("#login")[0];this.forgot=jQuery("#forgot_password")[0];this.parent=this.login.parentNode};PLogin.prototype.login=function(salt){var password=jQuery("#_password")[0];var username=jQuery("#username")[0];var input=hex_md5(username.value.toLowerCase()+password.value+salt);var loginForm=jQuery("#login")[0];var pass=document.createElement("input");pass.setAttribute("type","hidden");pass.setAttribute("name","password");pass.value=input;loginForm.appendChild(pass);loginForm.submit();return true};PMap=function(viewport,logo){this.canvasMarker=null;this.canvasShadow=null;myKaMap=myKaNavigator=myKaQuery=myScalebar=null;initDHTMLAPI();myKaMap=new kaMap(viewport.id);this.kamap=myKaMap;window.onresize=this.kamap.resize;myKaMap.shouldBypassSameSourcePolicy=true;myKaMap.id="myKaMap";this.kamap.accelerationFactor=1;this.kamap.pixelsPerStep=15;this.kamap.timePerStep=1;myKaMap.server=PEnvironment.kamapUrl;myKaMap.isDirectTileAccess=true;myKaMap.directTilePath=PEnvironment.tileDirect;var kaNav=new kaNavigator(myKaMap);this.kaToolCust=new kaToolCustomizer(kaNav,this);this.kaToolCust.activate();myKaMap.initialize();this.registerEvents();this.enableInfoWin=true;this.enableDrag=true;this.enableDblClickZoom=false;this.enableScrollWheel=false;this.enableKB=true;myKaMap.delayLoad=false;this.copyrights=[];this.copyright=this.createCopyright();this.logImg=document.createElement("img");this.transactionType=null;this.setMapType(PMapType.DEFAULT);this.setLegend(new PLegend);this.controls=[];this.overlays=[];this.overlaySets=[];if(logo){this.logo=logo;if(!logo.style.width)logo.style.width="0px";if(!logo.style.height)logo.style.height="0px"}else{this.logo=document.createElement("div");this.logo.className="pmap_map_logo";this.logo.style.width="59px";this.logo.style.height="30px";this.logo.style.cursor="pointer";this.logoImg=document.createElement("img");this.logoImg.src=this.kamap.server+"images/PolicyMap/policymap_logo.png";this.logo.appendChild(this.logoImg);PEvent.addListener(this.logo,"click",function(){window.open("http://www.policymap.com","policymap")})}this.positionLogo();this.kamap.domObj.appendChild(this.logo);this.markerListeners=[];this.cancelIdentify=false;this.identifyCount=0;P.instances.map=this;$(window).trigger(P.events.MAP_CREATED)};PMap.prototype.getCenterLatLng=function(){var ret=new PPoint;var bounds=this.getBoundsLatLng();ret.x=bounds.minX+Math.abs(bounds.maxX-bounds.minX)*.5;ret.y=bounds.minY-Math.abs(bounds.maxY-bounds.minY)*.5;return ret};PMap.prototype.getBoundsLatLng=function(){var extent=this.kamap.getGeoExtents();var min=new PPoint(extent[0],extent[1]);var max=new PPoint(extent[2],extent[3]);min=this.mapType.projection.fromMetersToLatLng(min);max=this.mapType.projection.fromMetersToLatLng(max);return new PBounds(min.lng(),max.lat(),max.lng(),min.lat())};PMap.prototype.getSpanLatLng=function(){var bounds=this.getBoundsLatLng();var width=bounds.maxX-bounds.minX;var height=bounds.maxY-bounds.minY;return new PSize(width,Math.abs(height))};PMap.prototype.centerAtLatLng=function(point){this.setCenter(point)};PMap.prototype.getZoomLevel=function(){var currentScale=parseInt(this.kamap.getCurrentMap().currentScale+"");var nScales=this.kamap.getCurrentMap().getScales().length;return nScales-currentScale};PMap.prototype.zoomTo=function(zoomLevel){var nScales=this.kamap.getCurrentMap().getScales().length;this.setZoom(nScales-zoomLevel)};PMap.prototype.centerAndZoom=function(point,zoomLevel){this.zoomTo(zoomLevel);this.setCenter(point)};PMap.prototype.recenterOrPanToLatLng=function(point){var bounds=this.getBoundsLatLng();if(point.x>=bounds.minX&&point.x<=bounds.maxX&&point.y>=bounds.maxY&&point.y<=bounds.minY){var mPoint=this.mapType.projection.fromLatLngToMeters(point);var mCenter=this.mapType.projection.fromLatLngToMeters(this.getCenterLatLng());var pixelPoint=this.kamap.geoToPix(mPoint.x,mPoint.y);var pixelCenter=this.kamap.geoToPix(mCenter.x,mCenter.y);var slideX=pixelCenter[0]-pixelPoint[0];var slideY=pixelCenter[1]-pixelPoint[1];this.kamap.slideBy(slideX,slideY)}else{this.centerAtLatLng(point)}};PMap.prototype.enableDragging=function(){if(!this.enableDrag){this.enableDrag=true;this.kamap.activateTool(this.kaToolCust)}};PMap.prototype.disableDragging=function(){if(this.enableDrag){this.enableDrag=false;this.kamap.deactivateTool(this.kaToolCust)}};PMap.prototype.draggingEnabled=function(){return this.enableDrag};PMap.prototype.enableInfoWindow=function(){this.enableInfoWin=true};PMap.prototype.disableInfoWindow=function(){this.enableInfoWin=false};PMap.prototype.infoWindowEnabled=function(){return this.enableInfoWin};PMap.prototype.enableDoubleClickZoom=function(){this.enableDblClickZoom=true};PMap.prototype.disableDoubleClickZoom=function(){this.enableDblClickZoom=false};PMap.prototype.doubleClickZoomEnabled=function(){return this.enableDblClickZoom};PMap.prototype.enableScrollWheelZoom=function(){this.enableScrollWheel=true;$(this.kamap.domObj).on("mousewheel",function(event,delta){if(event.target.nodeName=="svg"||event.target.offsetParent&&(event.target.offsetParent.className=="mapLayer"||event.target.offsetParent.id=="theInsideLayer")){event.preventDefault()}});$(window).trigger(P.events.MAP_SCROLL_ENABLED)};PMap.prototype.disableScrollWheelZoom=function(){this.enableScrollWheel=false;$(this.kamap.domObj).off("mousewheel")};PMap.prototype.scrollWheelZoomEnabled=function(){return this.enableScrollWheel};PMap.prototype.enableContinuousZoom=function(){this.kamap.animatedZoom=true};PMap.prototype.disableContinuousZoom=function(){this.kamap.animatedZoom=false};PMap.prototype.continuousZoomEnabled=function(){return this.kamap.animatedZoom};PMap.prototype.enableKeyboard=function(){this.enableKB=true};PMap.prototype.disableKeyboard=function(){this.enableKB=false};PMap.prototype.keyboardEnabled=function(){return this.enableKB};PMap.prototype.addControl=function(control){control.attach(this);this.controls.push(control)};PMap.prototype.removeControl=function(control){for(var i=0;i<this.controls.length;i++){if(this.controls[i]==control){this.controls.splice(i,1);control.remove(this);break}}};PMap.prototype.hasControl=function(controlType){for(var i=0;i<this.controls.length;i++){if(this.controls[i]instanceof controlType)return true}return false};PMap.prototype.getContainer=function(){return this.kamap.domObj};PMap.prototype.getCurrentMapType=function(){return this.mapType};PMap.prototype.setMapType=function(maptype){for(var i=0;i<maptype.maplayers.length;i++){maptype.maplayers[i].maptype=maptype}this.mapType=maptype;this.mapType.map=this;this.mapType.makeLayers();this.refreshCopyright();this.refreshWidget(this.widgetLayer);var control=this.getControlByType(PMapTypeControl);if(control!=null)control.switchType(this,this.mapType)};PMap.prototype.getCenter=function(){var center=this.kamap.getCenter();return this.mapType.projection.fromPixelToLatLng(new PPoint(center[0],center[1]))};PMap.prototype.getBounds=function(){var extent=this.kamap.getGeoExtents();var min=new PPoint(extent[0],extent[1]);var max=new PPoint(extent[2],extent[3]);var sw=this.mapType.projection.fromMetersToLatLng(min);var ne=this.mapType.projection.fromMetersToLatLng(max);return new PLatLngBounds(sw,ne)};PMap.prototype.getBoundsZoomLevel=function(bounds){var projSW=this.mapType.projection.fromLatLngToMeters(bounds.sw);var projNE=this.mapType.projection.fromLatLngToMeters(bounds.ne);var scale=this.kamap.zoomToExtents(Math.ceil(projSW.x),Math.ceil(projSW.y),Math.floor(projNE.x),Math.floor(projNE.y),true);return this.mapType.getZoomLevelByScale(scale)};PMap.prototype.getSize=function(){return new PSize(parseInt(this.kamap.domObj.offsetWidth),parseInt(this.kamap.domObj.offsetHeight))};PMap.prototype.getZoom=function(){var currentScale=parseInt(this.kamap.getCurrentMap().currentScale+"");return currentScale};PMap.prototype.getAbsoluteZoom=function(){var scale=this.kamap.getCurrentMap().aScales[this.kamap.getCurrentMap().currentScale];return this.mapType.getZoomLevelByScale(scale,true)};PMap.prototype.setCenter=function(center,zoom){var projectedPoint=this.mapType.projection.fromLatLngToMeters(center);if(arguments.length==2&&this.getScale(zoom))this.kamap.zoomTo(projectedPoint.x,projectedPoint.y,this.getScale(zoom));else{this.kamap.zoomTo(projectedPoint.x,projectedPoint.y)}if(!this.saveLatLng&&!this.saveZoom){this.saveLatLng=center;if(zoom)this.saveZoom=zoom;else this.saveZoom=this.getZoom()}};PMap.prototype.setCenterBounds=function(bounds){var projSW=this.mapType.projection.fromLatLngToMeters(bounds.sw);var projNE=this.mapType.projection.fromLatLngToMeters(bounds.ne);this.kamap.zoomToExtents(Math.ceil(projSW.x),Math.ceil(projSW.y),Math.floor(projNE.x),Math.floor(projNE.y))};PMap.prototype.setCenterBoundsAndGetZoomLevelByViewPort=function(poly,width,height){var bounds=poly instanceof PLatLngBounds?poly:poly.getBounds();var oldWidth=this.kamap.viewportWidth;var oldHeight=this.kamap.viewportHeight;this.kamap.viewportWidth=width;this.kamap.viewportHeight=height;this.setCenterBounds(bounds);var zoomLevel=this.getZoom();this.kamap.viewportWidth=oldWidth;this.kamap.viewportHeight=oldHeight;this.setCenterBounds(bounds);return zoomLevel};PMap.prototype.panTo=function(center){if(this.getBounds().contains(center)){var mPoint=this.mapType.projection.fromLatLngToMeters(center);var mCenter=this.mapType.projection.fromLatLngToMeters(this.getCenter());var pixelPoint=this.kamap.geoToPix(mPoint.x,mPoint.y);var pixelCenter=this.kamap.geoToPix(mCenter.x,mCenter.y);var slideX=pixelCenter[0]-pixelPoint[0];var slideY=pixelCenter[1]-pixelPoint[1];this.kamap.slideBy(slideX,slideY)}else this.setCenter(center)};PMap.prototype.panBy=function(distance){this.kamap.slideBy(distance.width,distance.height)};PMap.prototype.panDirection=function(dx,dy){var mapSize=this.getSize();var panWidth=dx*mapSize.width*.5;var panHeight=dy*mapSize.height*.5;this.kamap.slideBy(panWidth,panHeight)};PMap.prototype.setZoom=function(level,absolute){var scale;if(absolute)scale=this.getScale(level,true);else scale=this.getScale(level);if(scale){var projectedPoint=this.mapType.projection.fromLatLngToMeters(this.getCenter());this.kamap.zoomTo(projectedPoint.x,projectedPoint.y,scale)}};PMap.prototype.setAbsoluteZoom=function(level){this.setZoom(level,true)};PMap.prototype.zoomIn=function(){this.kamap.zoomIn()};PMap.prototype.zoomOut=function(){this.kamap.zoomOut()};PMap.prototype.printImage=function(size,center,zoom,mkr){if(!size)size=this.getSize();if(!center)center=this.getCenter();if(!zoom)zoom=this.getZoom();var scale=this.getScale(zoom);var layers=this.kamap.getCurrentMap().getLayers();var layerlist="";for(var i=0;i<layers.length;i++)layerlist+=layers[i].buildLayerList(scale)+",";layerlist=layerlist.substring(0,layerlist.length-1);var query="lat="+center.lat()+"&long="+center.lng()+"&scale="+scale+"&imgwidth="+size.width+"&imgheight="+size.height+"&layers="+layerlist;var marker=null;var pinquery="";if(mkr){marker=mkr}else if(this.overlays.length>0){var l=this.overlays.length;for(var i=0;i<l;i++){if(this.overlays[i]instanceof PMarker){marker=this.overlays[i];break}}}if(marker){var point;var mapsize=this.getSize();if(size!=mapsize){var tempx=this.kamap.xOrigin;var tempy=this.kamap.yOrigin;this.kamap.xOrigin=this.kamap.xOrigin-(size.width-mapsize.width)*.5;this.kamap.yOrigin=this.kamap.yOrigin-(size.height-mapsize.height)*.5;point=this.fromLatLngToDivPixel(marker.getPoint());this.kamap.xOrigin=tempx;this.kamap.yOrigin=tempy}else point=this.fromLatLngToDivPixel(marker.getPoint());var pinx=point.x-marker.icon.iconAnchor.x;var piny=point.y-marker.icon.iconAnchor.y;var shdx=point.x-marker.icon.shadowAnchor.x;var shdy=point.y-marker.icon.shadowAnchor.y;if(pinx>0&&piny>0)pinquery="&pinurl="+encodeURIComponent(marker.icon.image)+"&shdurl="+encodeURIComponent(marker.icon.shadow)+"&pinx="+pinx+"&piny="+piny+"&shdx="+shdx+"&shdy="+shdy}return PEnvironment.printUrl+"image.pl?"+query+pinquery};PMap.prototype.savePosition=function(){this.saveLatLng=this.getCenter();this.saveZoom=this.getZoom()};PMap.prototype.returnToSavedPosition=function(){if(this.saveLatLng&&this.saveZoom){if(this.saveZoom==this.getZoom())this.panTo(this.saveLatLng);else this.setCenter(this.saveLatLng,this.saveZoom)}};PMap.prototype.addPoly=function(poly){poly.overlay=new kaXmlOverlay(this.kamap,Z_POLYLINE);var point_coords="";var point_poly=null;var points=poly.points;var l=points.length;for(var i=0;i<l;i++){var projectedpoint=this.mapType.projection.fromLatLngToMeters(points[i]);point_coords+=projectedpoint.x+" "+projectedpoint.y;if(i==0){point_poly=poly.overlay.addNewPoint(this.overlays.length,projectedpoint.x,projectedpoint.y)}if(i!=points.length-1)point_coords+=","}if(poly instanceof PPolygon){poly.line=new kaXmlPolygon(point_poly);poly.line.bcolor=poly.color;poly.line.color=poly.fill;poly.line.fillopacity=poly.fillopacity}else{poly.line=new kaXmlLinestring(point_poly);poly.line.color=poly.color}poly.line.readCoordinates(point_poly,point_coords);poly.line.stroke=poly.weight;poly.line.opacity=poly.opacity;poly.line.callbacks=poly.callbacks;point_poly.addGraphic(poly.line)};PMap.prototype.removePoly=function(poly){poly.overlay.remove();poly.overlay=null};PMap.prototype.addOverlay=function(marker){marker.map=this;if(marker instanceof PMarker){this.getMarkerCanvas();var projectedPoint=this.mapType.projection.fromLatLngToMeters(marker.point);this.kamap.addObjectGeo(this.canvasMarker,projectedPoint.x,projectedPoint.y,marker.image);if(marker.shadow){this.getShadowCanvas();this.kamap.addObjectGeo(this.canvasShadow,projectedPoint.x,projectedPoint.y,marker.shadow)}marker.addListener("click",function(){this.overlay=marker},true)}else if(marker instanceof PPolyline||marker instanceof PPolygon){this.addPoly(marker)}this.overlays.push(marker);this.eventManager.triggerEvent("addoverlay",marker)};PMap.prototype.removeOverlay=function(marker,all){if(this.overlays.length>0){if(marker instanceof PMarker){this.kamap.removeObject(marker.image);if(marker.shadow)this.kamap.removeObject(marker.shadow)}else if((marker instanceof PPolyline||marker instanceof PPolygon)&&marker.overlay)this.removePoly(marker);if(!all){var l=this.overlays.length;for(var i=0;i<l;i++){if(this.overlays[i]==marker){var l2=this.markerListeners.length;for(var j=0;j<l2;j++){if(this.markerListeners[j].obj==marker.image){PEvent.removeListener(this.markerListeners[j]);this.markerListeners.splice(j,1);j--;l2--}}this.overlays.splice(i,1);break}}this.eventManager.triggerEvent("removeoverlay",marker)}}};PMap.prototype.clearOverlays=function(){var l=this.overlays.length;for(var i=0;i<l;i++)this.removeOverlay(this.overlays[i],true);l=this.markerListeners.length;for(var i=0;i<l;i++)PEvent.removeListener(this.markerListeners[i]);this.overlays=[];this.markerListeners=[];this.eventManager.triggerEvent("clearoverlays")};PMap.prototype.callNext=function(context){if(this.cancelIdentify){this.identifyCancel(context)}else{var ops=context.ops;var i=context.opsIndex;if(i<ops.length){context.opsIndex++;ops[i](context)}}};PMap.prototype.identify=function(latlng,callback,options){this.identifyCount++;var context={latlng:latlng,callback:callback,opreatorindex:0,options:options,indicator:this.getIndicator(),legendMerger:this.getLegendMerger()};var that=this;var ops=[];context.ops=ops;context.opsIndex=0;var overlaySets=this.getOverlaySets();if(options.showmarker&&overlaySets&&overlaySets.length>0)ops.push(function(){that.identifyMarker(context)});if(options.showplaces||options.showindicator&&this.getIndicator())ops.push(function(){that.identifyPlaces(context)});if(options.showindicator&&(this.getIndicator()||this.getLegendMerger()&&this.getLegendMerger().getIndicatorCount()>0))ops.push(function(){that.identifyIndicator(context)});ops.push(function(){that.identifyEnd(context)});this.callNext(context)};PMap.prototype.identifyMarker=function(context){var that=this;var f=function(markers){context.markers=markers;if(context.options.nonmixedresult&&markers&&markers.length>0){that.identifyEnd(context)}else{that.callNext(context)}};this.identifyMarker0(context.latlng,f,context.options.pinmax)};PMap.prototype.identifyMarker0=function(latlng,callback,pinmax){if(!(pinmax||pinmax==0))pinmax=100;var datasetids="";var filters="";var bufferString="";var datasetTypes="";var sets=map.getOverlaySets(false,true);for(var i=0;i<sets.length;i++){var overlaySet=sets[i];if(overlaySet.display&&overlaySet.id){datasetids+=overlaySet.id+",";if(overlaySet.type=="dl"){datasetTypes+="dl,"}else{datasetTypes+="old,"}var icon=overlaySet.icon;var pixels=this.fromLatLngToDivPixel(latlng);var adjustx=1;var adjusty=2;var zoom=map.getZoom();var extendx=0;var extendy=0;if(zoom>10){extendx=(zoom-10)*.4;extendy=(zoom-10)*.4}var minxy=this.fromDivPixelToLatLng(new PPoint(pixels.x-icon.iconAnchor.x-adjustx-extendx,pixels.y+icon.iconAnchor.y+adjusty+extendy));var maxxy=this.fromDivPixelToLatLng(new PPoint(pixels.x+icon.iconSize.width-icon.iconAnchor.x-adjustx+extendx,pixels.y-icon.iconSize.height+icon.iconAnchor.y+adjusty-extendy));bufferString+=minxy.lng()+","+minxy.lat()+","+maxxy.lng()+","+maxxy.lat()+";";filters+=encodeURIComponent(overlaySet.createQuery())+"/,"}}var datasetidsIndex=datasetids.lastIndexOf(",");var filtersIndex=filters.lastIndexOf("/,");var bufferIndex=bufferString.lastIndexOf(";");var datasetTypesIndex=datasetTypes.lastIndexOf(",");if(datasetidsIndex!=-1)datasetids=datasetids.substring(0,datasetidsIndex);if(filtersIndex!=-1)filters=filters.substring(0,filtersIndex);if(bufferIndex!=-1)bufferString=bufferString.substring(0,bufferIndex);if(datasetTypesIndex!=-1)datasetTypes=datasetTypes.substring(0,datasetTypesIndex);if(datasetids!=""){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=site&act=i&did="+datasetids+"&dt="+datasetTypes+"&ftr="+filters+"&lat="+latlng.lat()+"&lng="+latlng.lng()+"&buf="+bufferString+"&lim="+pinmax,context:this,success:callback})}};PMap.prototype.identifyPlaces=function(context){var opt=context.options;var that=this;var f=function(places){context.places=places;that.callNext(context)};if(opt.defIds&&opt.defIds.length>0){geocoder.getPlaceContaining(context.latlng,null,null,opt.defIds,f)}else if(opt.boundaryTypes&&opt.boundaryTypes.length>0){geocoder.getPlaceContaining(context.latlng,opt.boundaryTypes,null,null,f)}else{var placeType;if(opt.uptotype)placeType=opt.uptotype;else placeType=PPlaceTypeConfig.PPLACECONTAINMENT.getTypeByAbsoluteZoom(16,true);var cmc=false;if(opt.cmc!=null&&opt.cmc===true){cmc=true}geocoder.getPlaceContainment(context.latlng,placeType,null,null,f,cmc)}};PMap.prototype.identifyIndicator=function(context){var indicator=context.indicator;var legendMerger=context.legendMerger;var period=indicator?indicator.getPeriod():null;var cube=null;if(indicator&&indicator.hasBubbleIndicators(true)){var indicators=[];indicators.push(indicator);var periods=[];periods.push(period);var periodString=period+",";var newInds=indicator.getBubbleIndicators();for(var i=0;i<newInds.length;i++){var ind=newInds[i];indicators.push(ind);var indPeriod=ind.getPeriod();if(periodString.indexOf(indPeriod.toString()+",")==-1){periods.push(indPeriod);periodString+=indPeriod+","}}var cubePlace=[];if(context.places.length>0){cubePlace.push(context.places[context.places.length-1])}cube=new PCube(indicators,cubePlace,periods)}else if(indicator){cube=new PCube([indicator],context.places,[period])}else if(legendMerger){var indicators=[];var periods=[];for(var i=0;i<3;i++){if(legendMerger.getLegend(i).getIndicator()){indicators[indicators.length]=legendMerger.getLegend(i).getIndicator();periods[periods.length]=legendMerger.getLegend(i).getIndicator().getPeriod()}}if(indicators.length>0)cube=new PCube(indicators,context.places,periods)}context.cube=cube;var that=this;cube.loadValues(function(values){cube.values=values;context.values=values;that.callNext(context)})};PMap.prototype.identifyCancel=function(context){this.identifyCount--;if(this.identifyCount==0){this.cancelIdentify=false}};PMap.prototype.identifyEnd=function(context){this.identifyCount=0;this.cancelIdentify=false;context.callback(context.markers,context.places,context.cube)};PMap.prototype.openInfoWindow=function(point,info,marker){var tab=new PInfoWindowTab("",info);this.openInfoWindowTabs(point,[tab],marker)};PMap.prototype.openInfoWindowHtml=function(point,info){this.openInfoWindow(point,info)};PMap.prototype.openInfoWindowTabs=function(point,tabs,marker,extendTabs){if(!this.infoWindowEnabled())return false;var projected=this.mapType.projection.fromLatLngToMeters(point);if(this.infoWindow&&this.infoWindow.isOpen)this.closeInfoWindow();this.infoWindow=new PInfoWindow;if(marker&&marker!=null)this.infoWindow.marker=marker;this.infoWindow.point=point;this.infoWindow.whereGeo=projected;this.infoWindow.tabs=tabs;this.infoWindow.map=this;if(extendTabs){this.infoWindow.maxRowLength=3;this.infoWindow.tabwidth=165}this.infoWindow.initialize();this.infoWindow.create()};PMap.prototype.openInfoWindowTabsHtml=function(point,tabs){this.openInfoWindowTabs(point,tabs)};PMap.prototype.closeInfoWindow=function(){if(this.infoWindow)this.infoWindow.close()};PMap.prototype.getInfoWindow=function(){return this.infoWindow};PMap.prototype.fromLatLngToDivPixel=function(latlng){var extents=this.kamap.getGeoExtents();var minx=extents[0];var maxy=extents[3];var pix=this.kamap.geoToPix(minx,maxy);var projpoint=this.mapType.projection.fromLatLngToPixel(latlng);return new PPoint(projpoint.x-pix[0],projpoint.y-pix[1])};PMap.prototype.fromDivPixelToLatLng=function(pixel){var extents=this.kamap.getGeoExtents();var minx=extents[0];var maxy=extents[3];var pix=this.kamap.geoToPix(minx,maxy);var unprojpoint=new PPoint(pix[0]+pixel.x,pix[1]+pixel.y);return this.mapType.projection.fromPixelToLatLng(unprojpoint)};PMap.prototype.addOverlaySet=function(overlayset,nofire){overlayset.map=this;this.overlaySets.push(overlayset);if(overlayset.id){overlayset.renderClient()}else{overlayset.refresh()}if(arguments.length!=2)this.eventManager.triggerEvent("addoverlayset",overlayset)};PMap.prototype.removeOverlaySet=function(overlayset){for(var i=0;i<this.overlaySets.length;i++){if(this.overlaySets[i]==overlayset){this.removeOverlaySetByIndex(i);break}}};PMap.prototype.removeOverlaySetByIdAndType=function(id,type){for(var i=0;i<this.overlaySets.length;i++){if(this.overlaySets[i].id==id&&this.overlaySets[i].type==type){this.removeOverlaySetByIndex(i);break}}};PMap.prototype.removeOverlaySetByIndex=function(i){var overlayset=this.overlaySets[i];if(this.overlaySets[i].display){this.overlaySets[i].off();this.overlaySets[i].display=true}for(var j=0;j<this.overlaySets[i].children.length;j++){var curChild=this.overlaySets[i].children[j];this.removeOverlaySetByIdAndType(curChild.id,curChild.type)}this.overlaySets[i].map=null;this.overlaySets.splice(i,1);this.refreshWidget(this.widgetOverlay);this.eventManager.triggerEvent("removeoverlayset",overlayset)};PMap.prototype.clearOverlaySets=function(){for(var i=0;i<this.overlaySets.length;i++){if(this.overlaySets[i].display){this.overlaySets[i].off();this.overlaySets[i].display=true}this.overlaySets[i].map=null}this.overlaySets=[];this.refreshWidget(this.widgetOverlay);this.eventManager.triggerEvent("clearoverlaysets")};PMap.prototype.setOverlaySets=function(overlaysets){this.clearOverlaySets();for(var i=0;i<overlaysets.length;i++)this.addOverlaySet(overlaysets[i],true);this.eventManager.triggerEvent("setoverlaysets",overlaysets)};PMap.prototype.getOverlaySets=function(excludeChildren,excludeLabels){if(excludeChildren!=true&&excludeLabels!=true){return this.overlaySets}var sets=[];for(var i=0;i<this.overlaySets.length;i++){if(excludeChildren==true&&this.overlaySets[i].child==true||excludeLabels==true&&this.overlaySets[i].name.indexOf("labels")==0){continue}else{sets.push(this.overlaySets[i])}}return sets};PMap.prototype.positionLogo=function(){this.logo.style.position="absolute";this.logo.style.right="12px";this.logo.style.bottom="3px";this.logo.style.zIndex=Strata.MAP_CONTROLS};PMap.prototype.createCopyright=function(){var cr=document.createElement("div");cr.style.position="absolute";cr.style.height="12px";cr.style.left="7px";cr.style.bottom="7px";cr.style.zIndex=Z_CONTROLS;cr.style.fontFamily="arial, verdana";cr.style.fontSize="10px";cr.style.color="#333";cr.style.MozUserSelect="none";this.kamap.domObj.appendChild(cr);return cr};PMap.prototype.addCopyrights=function(copyrights){var haveCopyright=false;var l=copyrights.length;var l2=this.copyrights.length;for(var i=0;i<l;i++){for(var j=0;j<l2;j++){if(copyrights[i]==this.copyrights[j])haveCopyright=true}if(!haveCopyright)this.copyrights.push(copyrights[i]);haveCopyright=false}};PMap.prototype.displayCopyright=function(){var text="";var l=this.copyrights.length;for(var i=0;i<l;i++){text+=this.copyrights[i].text;if(i<this.copyrights.length-1)text+=", "}this.copyright.innerHTML=text};PMap.PANLATLNG=0;PMap.prototype.getControlByType=function(controltype){if(this.controls){for(var i=0;i<this.controls.length;i++){if(this.controls[i]instanceof controltype)return this.controls[i]}}return null};PMap.prototype.getScale=function(zoomlevel,absolute){if(arguments.length==0)zoomlevel=this.getZoom();var scales=[];if(absolute)scales=this.mapType.absscales;else scales=this.kamap.getCurrentMap().getScales();return scales[zoomlevel]};PMap.prototype.getMarkerCanvas=function(){if(this.canvasMarker==null)this.canvasMarker=this.kamap.createDrawingCanvas(Z_MARKER);return this.canvasMarker};PMap.prototype.getShadowCanvas=function(){if(this.canvasShadow==null)this.canvasShadow=this.kamap.createDrawingCanvas(Z_MARKER_SHADOW);return this.canvasShadow};PMap.prototype.registerEvents=function(){this.eventTypes=new Object;this.eventTypes.click="click";this.eventTypes.mouseup="mouseup";this.eventTypes.dblclick="dblclick";this.eventTypes.mouseover="mouseover";this.eventTypes.mouseout="mouseout";this.eventTypes.mousemove="mousemove";this.eventTypes.infowindowopen="infowindowopen";this.eventTypes.infowindowclose="infowindowclose";this.eventTypes.addoverlay="addoverlay";this.eventTypes.removeoverlay="removeoverlay";this.eventTypes.clearoverlays="clearoverlays";this.eventTypes.setindicator="setindicator";this.eventTypes.removeindicator="removeindicator";this.eventTypes.addoverlayset="addoverlayset";this.eventTypes.setoverlaysets="setoverlaysets";this.eventTypes.removeoverlayset="removeoverlayset";this.eventTypes.clearoverlaysets="clearoverlaysets";this.eventManager=new _eventManager;for(var ev in this.eventTypes){this.eventManager.registerEventID(ev)}};PMap.prototype.triggerEvent=function(eventName,e){var events=this.eventManager.events[eventName];if(events==null||events.length==0)return;var map=this;if(eventName=="click"||eventName=="dblclick"||isMobile()&&!this.cancelClick&&eventName=="mouseup"){var pos=this.kamap.currentTool.katool.getMousePosition(e);pos=this.kamap.currentTool.katool.adjustPixPosition(pos[0],pos[1]);var overlay=map.overlay;map.overlay=null;var point=null;var latlng=null;if(overlay==null){pos=this.kamap.pixToGeo(pos[0],pos[1]);point=new PPoint(pos[0],pos[1]);latlng=this.mapType.projection.fromMetersToLatLng(point)}map.eventManager.triggerEvent(eventName,overlay,latlng)}else{map.cancelClick=false;map.eventManager.triggerEvent(eventName)}};PMap.prototype.identifyItem=function(datasetId,datasetType,itemId,filters,callback){if(filters!=null&&filters!=""){filters="&ftr="+encodeURIComponent(filters)}else{filters=""}ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=site&act=i&did="+datasetId+"&dt="+datasetType+"&iid="+itemId+filters,context:this,success:callback})};PMap.prototype.addListener=function(eventId,func){if(eventId=="zoomend")this.kamap.registerForEvent(KAMAP_SCALE_CHANGED,this,func);else if(eventId=="zoomstart")this.kamap.registerForEvent(KAMAP_SCALE_CHANGE_START,this,func);else if(eventId=="drag")this.kamap.registerForEvent(KAMAP_DRAG,this,func);else if(eventId=="dragstart")this.kamap.registerForEvent(KAMAP_DRAG_START,this,func);else if(eventId=="dragend")this.kamap.registerForEvent(KAMAP_DRAG_END,this,func);else if(eventId=="move")this.kamap.registerForEvent(KAMAP_MOVE,this,func);else if(eventId=="movestart")this.kamap.registerForEvent(KAMAP_MOVE_START,this,func);else if(eventId=="moveend")this.kamap.registerForEvent(KAMAP_EXTENTS_CHANGED,this,func);else this.eventManager.registerForEvent(eventId,this,func);var event=new PEventListener(this,eventId,func);return event};PMap.prototype.removeListener=function(event){if(event.id=="zoomend")this.kamap.deregisterForEvent(KAMAP_SCALE_CHANGED,event.obj,event.func);else if(event.id=="zoomstart")this.kamap.registerForEvent(KAMAP_SCALE_CHANGE_START,this,event.func);else if(event.id=="drag")this.kamap.deregisterForEvent(KAMAP_DRAG,event.obj,event.func);else if(event.id=="dragstart")this.kamap.deregisterForEvent(KAMAP_DRAG_START,event.obj,event.func);else if(event.id=="dragend")this.kamap.deregisterForEvent(KAMAP_DRAG_END,event.obj,event.func);else if(event.id=="move")this.kamap.deregisterForEvent(KAMAP_MOVE,event.obj,event.func);else if(event.id=="movestart")this.kamap.deregisterForEvent(KAMAP_MOVE_START,event.obj,event.func);else if(event.id=="moveend")this.kamap.deregisterForEvent(KAMAP_EXTENTS_CHANGED,event.obj,event.func);else this.eventManager.deregisterForEvent(event.id,event.obj,event.func)};PMap.prototype.refresh=function(){var map=this.kamap.getCurrentMap();var layers=map.getLayers();for(var i=0;i<layers.length;i++)layers[i].setTileLayer()};PMap.prototype.refreshCopyright=function(){this.copyrights=[];var maplayers=this.mapType.maplayers;for(var i=0;i<maplayers.length;i++){if(maplayers[i].isOn()){this.addCopyrights(maplayers[i].copyrights)}}this.displayCopyright()};PMap.prototype.refreshWidget=function(widget){if(widget)widget.buildWidget()};PMap.prototype.enablePolyCreator=function(polycreator){polycreator.attachMap(this)};PMap.prototype.disablePolyCreator=function(polycreator){polycreator.detachMap(this)};PMap.prototype.setIndicator=function(ind){this.legend.setIndicator(ind)};PMap.prototype.setIndicatorById=function(id){ajax.call({url:PEnvironment.indicatorUrl+"?id="+id,context:this,success:this.setIndicatorByArray})};PMap.prototype.setIndicatorByArray=function(ind){this.setIndicator(ind[0])};PMap.prototype.removeIndicator=function(){this.legend.removeIndicator()};PMap.prototype.getIndicator=function(){return this.legend.getIndicator()};PMap.prototype.setIndicatorListByIds=function(ids){ajax.call({url:PEnvironment.indicatorUrl+"?id="+ids.join(","),context:this,success:this.setIndicatorList})};PMap.prototype.setIndicatorList=function(indicatorList){this.legend.setIndicatorList(indicatorList)};PMap.prototype.getIndicatorList=function(){return this.legend.getIndicatorList()};PMap.prototype.getLegend=function(){return this.legend};PMap.prototype.setLegend=function(legend){this.legend=legend;
this.legend.map=this};PMap.prototype.setLegendMerger=function(legendMerger){this.legendMerger=legendMerger};PMap.prototype.getLegendMerger=function(){return this.legendMerger};PMap.prototype.updateIndicatorOverlaySets=function(ind){if(!ind){var ind=this.getIndicator()}if(PEnvironment.pageName!="widget"||!ind.hasOverlaySets()){return}var indsets=ind.getOverlaySets();var sets=this.getOverlaySets();var oldFilters=null;var indset=null;var mapSetsIds=[];var foundSet=false;for(var i=0;i<sets.length;i++){var set=sets[i];foundSet=false;for(var j=0;j<indsets.length;j++){if(set.id==indsets[j].id){oldFilters=set.getFilters();this.removeOverlaySet(set);foundSet=true;i--}}if(!foundSet){mapSetsIds.push(set.id)}}var id=ind.getCurrentOverlaySet().id;mapSetsIds.push(id);session.put("o",mapSetsIds.join(","));session.remove("ofilters");var that=this;var f=function(sets){var filterIds=[];for(var i=0;i<sets.length;i++){var set=sets[i];filterIds=set.findMatchingFilters(oldFilters)}var df=ind.getCurrentOverlaySet().filter;if(df){filterIds.push(df)}session.put("ofilters",filterIds.join(","));for(var i=0;i<sets.length;i++){var s=sets[i];addOverlaySetFiltersFromSession(s)}that.setOverlaySets(sets)};getOverlaySetsFromSession(f)};PMap.prototype.clearInfoWindowBoundary=function(){var ps=this.polygons;if(ps&&this.isRemovePolygonsOnInfoWindowCloseSet()){for(var i=0;i<ps.length;i++){this.removeOverlay(ps[i])}this.polygons=[];this.setRemovePolygonsOnInfoWindowClose(false);clearPlaceFromSessionAndOtherVariables()}};PMap.prototype.setRemovePolygonsOnInfoWindowClose=function(b){this.removePolygonsOnInfoWindowClose=b};PMap.prototype.isRemovePolygonsOnInfoWindowCloseSet=function(){return this.removePolygonsOnInfoWindowClose};PMapLayer=function(maplayer){if(maplayer){this.name=maplayer.name;this.title=maplayer.title;this.display=maplayer.display;this.client=maplayer.client;this.tileServers=maplayer.tileServers;this.minScale=maplayer.minScale;this.maxScale=maplayer.maxScale;this.copyrights=maplayer.copyrights;this.opacity=maplayer.opacity}else{this.name="";this.title="";this.display=true;this.client=false;this.kLayerIndex=-1;this.tileServers=PEnvironment.tileUrls;this.minScale=0;this.maxScale=1e9;this.copyrights=[];this.opacity=1}};PMapLayer.prototype.setTitle=function(title){this.setLabel(title)};PMapLayer.prototype.getTitle=function(){return this.getLabel()};PMapLayer.prototype.setLabel=function(title){this.title=title;if(this.maptype&&this.maptype.map)this.maptype.map.refreshWidget(this.maptype.map.widgetLayer)};PMapLayer.prototype.getLabel=function(){return this.title};PMapLayer.prototype.setOpacity=function(opacity){this.opacity=opacity;this.on()};PMapLayer.prototype.getOpacity=function(){return this.opacity};PMapLayer.prototype.on=function(){this.display=true;if(this.maptype&&this.kLayerIndex>=0){if(this.client){if(this.maptype.map){var kLayers=this.maptype.map.kamap.getCurrentMap().getAllLayers();kLayers[this.kLayerIndex].setVisibility(true);this.maptype.map.kamap.setMapLayers();kLayers[this.kLayerIndex].setVisibility(true);kLayers[this.kLayerIndex].setOpacity(this.opacity*100);this.maptype.map.kamap.paintLayer(kLayers[this.kLayerIndex])}}else this.maptype.makeMergedLayerList(this.kLayerIndex)}if(this.maptype&&this.maptype.map){this.maptype.map.refreshCopyright();this.maptype.map.refreshWidget(this.maptype.map.widgetLayer)}};PMapLayer.prototype.off=function(){this.display=false;if(this.maptype&&this.kLayerIndex>=0){if(this.client){if(this.maptype.map){var kLayers=this.maptype.map.kamap.getCurrentMap().getAllLayers();kLayers[this.kLayerIndex].setVisibility(false)}}else this.maptype.makeMergedLayerList(this.kLayerIndex)}if(this.maptype&&this.maptype.map){this.maptype.map.refreshCopyright();this.maptype.map.refreshWidget(this.maptype.map.widgetLayer)}};PMapLayer.prototype.isOn=function(){return this.display};PMapLayer.prototype.mergeClient=function(){this.client=true;if(this.maptype)this.maptype.makeLayers()};PMapLayer.prototype.mergeServer=function(){this.client=false;if(this.maptype)this.maptype.makeLayers()};PMapLayer.prototype.isMergeClient=function(){return this.client};PMapLayer.prototype.addCopyright=function(copyright){var haveCopyright=false;for(var i=0;i<this.copyrights.length;i++){if(this.copyrights[i]==copyright){haveCopyright=true;break}}if(!haveCopyright)this.copyrights.push(copyright)};PMapLayer.prototype.setTileServers=function(tileservers){this.tileServers=tileservers;if(this.maptype)this.maptype.makeLayers()};PMapLayer.prototype.getLayerNameByDefinitionId=function(id){for(var i in this){if(this[i]!=null&&this[i].definition_id!=null&&this[i].definition_id==id){return i}}};PMapLayer.prototype.getMapLayerByDefinitionId=function(id){var mapLayerArray=new Array;var arrayCount=0;for(var i in this){if(this[i]!=null&&this[i].definition_id!=null&&this[i].definition_id==id){mapLayerArray[arrayCount]=this[i];arrayCount++}}return mapLayerArray};PMapLink=function(custombreakid,linktype){var data=session.data;var indicator=map.getIndicator();var args=[];var overlayLabels=[];var currentMapPlace=mapstates.currentplace;var placelabel="";var a=data.p;if(a)args.push("p="+a);var rmp=data.rmp;if(rmp)args.push("rmp="+rmp);if(PEnvironment.pageName=="analytics"){var a=data.mi;if(a){args.push("="+a);var overlays=a.split(",");var l=overlays.length;for(var i=0;i<l;i++){var oldSet=getActiveOverlaySetByIdAndType(overlays[i],"old");if(oldSet!=null&&!oldSet.child){overlayLabels.push(oldSet.name)}}}var a=data.o;if(a){var overlays=a.split(",");var l=overlays.length;var linkOverlays=[];for(var i=0;i<l;i++){if(overlays[i]==massTransitSetId){overlayLabels.push("Mass Transit Lines")}else{var oset=getActiveOverlaySetByIdAndType(overlays[i],"old");if(!oset.child){overlayLabels.push(oset.name)}linkOverlays.push(overlays[i])}}if(linkOverlays.length>0){args.push("o="+linkOverlays)}}var a=data.ofilters;if(a){args.push("ofilters="+a)}var a=data.dlo;if(a){args.push("dlo="+a);var overlays=a.split(",");var l=overlays.length;for(var i=0;i<l;i++){var oset=getActiveOverlaySetByIdAndType(overlays[i],"dl");if(!oset.child){overlayLabels.push(oset.name)}}}var add=data.place;if(add&&map.infoWindowType!="place"&&map.infoWindowType!="identify")args.push("place="+escape(add));var moo=data.moo;if(moo){var defaultMapOptions=_.pluck(pMapLayer.mapOptionsDefault,"name");var currentMapOptions=data.moo.split(",");if(!(defaultMapOptions.length==currentMapOptions.length&&_.difference(defaultMapOptions,currentMapOptions).length>0)){args.push("moo="+moo)}}var cpnames="";var a=data.cp;if(a){args.push("cp="+a.join(","));var cpids=a;var cplength=cpids.length;for(var i=0;i<cplength;i++){cpnames+=polycreator.customPlaces[cpids[i]].place.getLabel();if(i!=cplength-1){cpnames+=", "}}if(cplength>1){placelabel+="Custom Regions ("}else{placelabel+="Custom Region ("}placelabel+=cpnames+")"}else if(currentMapPlace&&currentMapPlace.getType()!=null){if(cpnames!=""){placelabel+=" and "}if(currentMapPlace.getType()==PPlaceType.BLOCKGROUP){placelabel="Block Group ("+currentMapPlace.getIdentifier()+", "+currentMapPlace.getState()+")"}else if(currentMapPlace.getType()==PPlaceType.CENSUSTRACT){placelabel="Census Tract ("+currentMapPlace.getLabel()+", "+currentMapPlace.getState()+")"}else{placelabel=currentMapPlace.getLabel()}}var centerPoint=map.getCenterLatLng();args.push("cx="+centerPoint.x);args.push("cy="+centerPoint.y);args.push("cz="+map.getZoom());if(!linktype||linktype&&linktype!="embed"){if(map.saveInfoWindow==true&&map.getInfoWindow()&&map.getInfoWindow().isHidden()==false&&map.getBounds().contains(map.getInfoWindow().getPoint())){args.push("iwx="+map.getInfoWindow().getPoint().lat());args.push("iwy="+map.getInfoWindow().getPoint().lng());args.push("iwtype="+map.infoWindowType);if(map.getInfoWindow().getTabs()&&map.getInfoWindow().getTabs().length>0){args.push("iwtab="+map.getInfoWindow().getSelectedTab())}if(PMIdentificationPrinter.selectedLink&&map.getInfoWindow())args.push("iwlink="+PMIdentificationPrinter.selectedLink)}}var indCount=legendMerger.getIndicatorCount();for(var i=0;i<3;i++){if(legendMerger.getLegend(i).containsIndicator()){var legend=legendMerger.getLegend(i);args.push("m"+i+"i="+legend.getIndicator().id);args.push("m"+i+"btd="+legend.legend.getBoundaryType().id);var range=legend.getIndicatorRange().getRange();if(range){args.push("m"+i+"r0="+range[0]);args.push("m"+i+"r1="+range[1])}var valOptions=legend.getIndicatorValues().getValueOptions();if(valOptions)args.push("m"+i+"v="+MochiKit.Base.serializeJSON(valOptions));args.push("m"+i+"period="+legend.getIndicator().getPeriod());args.push()}}var pagename="analytics";if(isCBClone()){pagename="";var layers=P.instances.map.getCurrentMapType().getMapLayers();var pml=[];for(var i=0;i<layers.length;i++){var l=layers[i];if(l&&l.isOn()&&l!=pMapLayer.POINTLINE&&l!=pMapLayer.POLY)pml.push(l.name)}if(pml.length>0){args.push("pml="+pml.join(","))}var labels=labelManager.generateMapLabelArguments(true);if(labels&&labels.length>0){for(var i=0;i<labels.length;i++){args.push(labels[i])}}}this.url=pagename+"?"+args.join("&");this.name="Custom PolicyMap 3-Layer Map"+(placelabel?" of "+placelabel:"")+(data.o||data.dlo?" with ":"")+overlayLabels.join(", ")}else{var a=data.i;if(a){args.push("i="+a);var nb=data.nb;if(nb)args.push("nb="+nb);if(custombreakid)args.push("cb="+custombreakid);args.push("btd="+map.getLegend().getBoundaryType().id)}var a=data.o;if(a){var overlays=a.split(",");var l=overlays.length;var linkOverlays=[];for(var i=0;i<l;i++){if(overlays[i]==massTransitSetId){overlayLabels.push("Mass Transit Lines")}else{var oset=getActiveOverlaySetByIdAndType(overlays[i],"old");if(!oset.child){overlayLabels.push(oset.name)}linkOverlays.push(overlays[i])}}if(linkOverlays.length>0){args.push("o="+linkOverlays)}}var a=data.ofilters;if(a){args.push("ofilters="+a)}var a=data.dlo;if(a){args.push("dlo="+a);var overlays=a.split(",");var l=overlays.length;for(var i=0;i<l;i++){var oset=getActiveOverlaySetByIdAndType(overlays[i],"dl");if(!oset.child){overlayLabels.push(oset.name)}}}var a=data.period;if(a)args.push("period="+a);if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){var a=data.mvalayers;if(a){var layersString="";for(var i=0;i<a.length;i++){if(a[i])layersString+="1";else layersString+="0"}args.push("lind="+layersString)}}var add=data.place;if(add&&map.infoWindowType!="place"&&map.infoWindowType!="identify")args.push("place="+escape(add));if(linktype&&linktype=="embed"){var sets=map.getOverlaySets();var oicons=[];var onames=[];var dloicons=[];var dlonames=[];for(var i=0;i<sets.length;i++){if(sets[i].type=="old"){onames.push(encodeURIComponent(sets[i].name));for(var j in PinIcons){if(sets[i].icon==PinIcons[j]){oicons.push(encodeURIComponent(j))}}}else if(sets[i].type=="dl"){dlonames.push(encodeURIComponent(sets[i].name));for(var j in PinIcons){if(sets[i].icon==PinIcons[j]){dloicons.push(encodeURIComponent(j))}}}}if(oicons.length>0){args.push("icons="+oicons.join(","));args.push("onames="+onames.join(","))}if(dloicons.length>0){args.push("dloicons="+dloicons.join(","));args.push("dlonames="+dlonames.join(","))}}var moo=data.moo;if(moo){var defaultMapOptions=_.pluck(pMapLayer.mapOptionsDefault,"name");var currentMapOptions=data.moo.split(",");if(!(defaultMapOptions.length==currentMapOptions.length&&_.difference(defaultMapOptions,currentMapOptions).length==0)){args.push("moo="+moo)}}var cpnames="";var a=data.cp;if(a){args.push("cp="+a.join(","));var cpids=a;var cplength=cpids.length;for(var i=0;i<cplength;i++){cpnames+=polycreator.customPlaces[cpids[i]].place.getLabel();if(i!=cplength-1){cpnames+=", "}}if(cplength>1){placelabel+="Custom Regions ("}else{placelabel+="Custom Region ("}placelabel+=cpnames+")"}if(currentMapPlace&&currentMapPlace.getType()!=null){if(cpnames!=""){placelabel+=" and "}if(currentMapPlace.getType()==PPlaceType.BLOCKGROUP){placelabel+="Block Group ("+currentMapPlace.getIdentifier()+", "+currentMapPlace.getState()+")"}else if(currentMapPlace.getType()==PPlaceType.CENSUSTRACT){placelabel+="Census Tract ("+currentMapPlace.getLabel()+", "+currentMapPlace.getState()+")"}else{placelabel+=currentMapPlace.getLabel()}}var centerPoint=map.getCenterLatLng();args.push("cx="+centerPoint.x);args.push("cy="+centerPoint.y);args.push("cz="+map.getZoom());if(!linktype||linktype&&linktype!="embed"){if(map.saveInfoWindow==true&&map.getInfoWindow()&&map.getInfoWindow().isHidden()==false&&map.getBounds().contains(map.getInfoWindow().getPoint())){args.push("iwx="+map.getInfoWindow().getPoint().lat());args.push("iwy="+map.getInfoWindow().getPoint().lng());args.push("iwtype="+map.infoWindowType);if(map.getInfoWindow().getTabs()&&map.getInfoWindow().getTabs().length>0){args.push("iwtab="+map.getInfoWindow().getSelectedTab())}if(PMIdentificationPrinter.selectedLink&&map.getInfoWindow())args.push("iwlink="+PMIdentificationPrinter.selectedLink)}}if(typeof P.instances.googleMap!="undefined"&&P.instances.googleMap.showing==true)args.push("aerial=google");var pagename="maps";if(isCBClone()){pagename="";var layers=P.instances.map.getCurrentMapType().getMapLayers();var pml=[];for(var i=0;i<layers.length;i++){var l=layers[i];if(l&&l.isOn()&&l!=pMapLayer.POINTLINE&&l!=pMapLayer.POLY)pml.push(l.name)}if(pml.length>0){args.push("pml="+pml.join(","))}var labels=labelManager.generateMapLabelArguments(true);if(labels&&labels.length>0){for(var i=0;i<labels.length;i++){args.push(labels[i])}}}this.url=pagename+"?"+args.join("&");this.name="Map"+(placelabel?" of "+placelabel:"")+(data.o||data.dlo?" with ":"")+overlayLabels.join(", ")+(data.o?data.i?" and ":"":data.i?" with ":"")+(data.i?indicator.getFullDisplayName():"")}};PMapLink.prototype.toString=function(){return this.url};PMapStateDropDown=function(map,node){this.map=map;this.dropdown=node;this.eventManager=new PEventManager;this.listeners=[]};PMapStateDropDown.prototype.addListener=function(id,f){this.eventManager.addListener(id,f)};PMapStateDropDown.prototype.onchange=function(){this.eventManager.triggerListeners("change")};PMapStateDropDown.prototype.refresh=function(states){var l=this.listeners.length;for(var i=0;i<l;i++)PEvent.removeListener(this.listeners[i]);this.listeners=[];while(this.dropdown.hasChildNodes())this.dropdown.removeChild(this.dropdown.firstChild);for(var i=states.list.length-1;i>=0;i--){var li=document.createElement("li");var div=document.createElement("div");li.index=i;li.dropdown=this;li.states=states;this.listeners.push(PEvent.addListener(li,"mousedown",function(){this.dropdown.dropdown.style.display="none";this.dropdown.onchange();if(this.index!=-1)this.states.setMap(this.dropdown.map,this.index)}));var state=states.list[i];div.innerHTML=createTitle(state);this.dropdown.appendChild(li);li.appendChild(div)}};PMapStateDropDown.prototype.toggle=function(){if(this.dropdown.style.display=="none")this.dropdown.style.display="block";else this.dropdown.style.display="none"};PMapState=function(center,zoom,indicator,sets,place,addr){if(place&&place.getIdentifier()=="US"){var uscenter=new PLatLng(P.constants.USA_LAT,P.constants.USA_LNG);this.center=uscenter;this.zoom=P.constants.USA_ZOOM;map.setCenter(uscenter,P.constants.USA_ZOOM)}else{this.center=center;this.zoom=zoom}this.indicator=indicator;this.sets=sets;this.place=place;if(addr)this.addr=addr;else this.addr=null};PMapState.prototype.toDataObject=function(){var retVal={};if(this.indicator)retVal.i=this.indicator.id;if(this.place)retVal.p=this.place.id;if(this.sets){var sets=this.sets;var l=sets.length;var ids=[];var filters={};var s;for(var i=0;i<l;i++){var s=sets[i];ids.push(s.id);filters[s.id]=s.filtergroups}retVal.o=ids;retVal.ofilter=filters}retVal.center=this.center;retVal.zoom=this.zoom;retVal.addr=this.addr;return retVal};PMapStateList=function(size,place){this.eventTypes=new Object;this.eventTypes.add="add";this.eventTypes.set="set";this.eventManager=new _eventManager;for(var ev in this.eventTypes)this.eventManager.registerEventID(ev);this.list=[];this.size=size;this.currentplace=place};PMapStateList.prototype.addListener=function(eventId,func){this.eventManager.registerForEvent(eventId,[],func)};PMapStateList.prototype.removeListener=function(eventId,func){this.eventManager.deregisterForEvent(eventId,[],func)};PMapStateList.prototype.add=function(state){this.addQuietly(state);this.eventManager.triggerEvent("add",state)};PMapStateList.prototype.addQuietly=function(state){for(var i=0;i<this.list.length;i++){var checkpid=false;var checkiid=false;if(!this.list[i].addr&&!state.addr){if(!this.list[i].place&&!state.place&&!this.list[i].addr&&!state.addr)checkpid=true;else if(this.list[i].place&&this.list[i].place.id&&state.place&&state.place.id&&this.list[i].place.id==state.place.id)checkpid=true}else if(this.list[i].addr&&state.addr&&this.list[i].addr==state.addr)checkpid=true;if(!this.list[i].indicator&&!state.indicator)checkiid=true;else if(this.list[i].indicator&&this.list[i].indicator.id&&state.indicator&&state.indicator.id&&this.list[i].indicator.id==state.indicator.id)checkiid=true;if(checkpid&&checkiid){this.list.splice(i,1);i--}}if(this.list.length==this.size)this.list.splice(0,1);if(state.place&&state.place.label&&state.place.label!="USA"||state.addr)this.list.push(state)};PMapStateList.prototype.setMap=function(map,index){map.removeIndicator();map.clearOverlays();var state=this.list[index];if(state.place&&state.place.getBounds()){map.setCenterBounds(state.place.getBounds());var polygons=state.place.getVertices();if(polygons)addPolygons(map,state.place);this.currentplace=state.place}else{this.currentplace=null;map.setCenter(state.center,state.zoom)}this.addQuietly(state);this.eventManager.triggerEvent("set",state)};PMapStateList.prototype.toDataObject=function(){var retVal=[];var states=this.list;var l=states.length;var state;for(var i=0;i<l;i++){retVal.push(states[i].toDataObject())}return retVal};PMapStateList.prototype.setList=function(obj){var indids=[];var placeids=[];var indconstructors={};var placeconstructors={};var constructors=[];var seen={};for(var i=0;i<obj.length;i++){var sd=obj[i];var sets=[];var seenkey=sd.center.latitude+","+sd.center.longitude+","+sd.zoom+","+sd.p+","+sd.i+",";if(seen[seenkey])continue;seen[seenkey]=1;var center;if(sd.center){center=new PLatLng(sd.center.latitude,sd.center.longitude)}var stateargs={center:center,zoom:sd.zoom,sets:sets,addr:sd.addr};if(sd.p){if(!placeconstructors[sd.p]){placeids.push(sd.p);placeconstructors[sd.p]=[]}placeconstructors[sd.p].push(stateargs)}if(sd.i){if(!indconstructors[sd.i]){indids.push(sd.i);indconstructors[sd.i]=[]}indconstructors[sd.i].push(stateargs)}constructors.push(stateargs)}var setstates=function(pmsl){var states=[];for(var i=0;i<constructors.length;i++){var c=constructors[i];if(typeof c.place!="undefined"&&c.place&&c.place.label&&c.place.label!="USA"||c.addr)states.push(new PMapState(c.center,c.zoom,c.ind,c.sets,c.place,c.addr))}pmsl.list=states;if(typeof prevmaps!="undefined")prevmaps.refresh(pmsl)};var pmsl=this;var needplaces=placeids.length>0;var needinds=indids.length>0;if(needinds){PIndicatorLoader.load(indids,function(inds){for(var i=0;i<inds.length;i++){var ind=inds[i];var c=indconstructors[ind.id];for(var j=0;j<c.length;j++)c[j].ind=ind}if(!needplaces)setstates(pmsl);needinds=false})}if(placeids.length>0){placeLoader.load(placeids,function(places){for(var i=0;i<places.length;i++){var place=places[i];var c=placeconstructors[place.id];for(var j=0;j<c.length;j++)c[j].place=place}if(!needinds)setstates(pmsl);needplaces=false})}};PMapTypeControl=function(){};PMapTypeControl.prototype.attach=function(map){var kamap=map.kamap;this.typemap=document.createElement("img");this.typesat=document.createElement("img");this.typehyb=document.createElement("img");this.typehyb.id="typeHyb";this.typehyb.title="Show Satellite with Streets";this.typehyb.style.width="65px";this.typehyb.style.height="19px";this.typehyb.style.position="absolute";this.typehyb.style.top="7px";this.typehyb.style.right="7px";this.typehyb.style.zIndex=Z_CONTROLS;this.typehyb.style.cursor="pointer";this.typehyb.style.MozUserSelect="none";this.typesat.id="typeSat";this.typesat.title="Show Satellite Imagery";this.typesat.style.width="65px";this.typesat.style.height="19px";this.typesat.style.position="absolute";this.typesat.style.top="7px";this.typesat.style.right=parseInt(this.typehyb.style.width)+parseInt(this.typehyb.style.right)+3+"px";this.typesat.style.zIndex=Z_CONTROLS;this.typesat.style.cursor="pointer";this.typesat.style.MozUserSelect="none";this.typemap.id="typeMap";this.typemap.title="Show Street Map";this.typemap.style.width="65px";this.typemap.style.height="19px";this.typemap.style.position="absolute";this.typemap.style.top="7px";this.typemap.style.right=parseInt(this.typesat.style.width)+parseInt(this.typesat.style.right)+3+"px";this.typemap.style.zIndex=Z_CONTROLS;this.typemap.style.cursor="pointer";this.typemap.style.MozUserSelect="none";this.switchType(map,map.getCurrentMapType());var maptypecontrol=this;PEvent.addListener(this.typemap,"click",function(){maptypecontrol.switchType(map,PMapType.NORMAL)});PEvent.addListener(this.typesat,"click",function(){maptypecontrol.switchType(map,PMapType.SATELLITE)});PEvent.addListener(this.typehyb,"click",function(){maptypecontrol.switchType(map,PMapType.HYBRID)});kamap.domObj.appendChild(this.typemap);kamap.domObj.appendChild(this.typesat);kamap.domObj.appendChild(this.typehyb);this.marginTop=parseInt(this.typemap.style.top)+parseInt(this.typemap.style.height)};PMapTypeControl.prototype.switchType=function(map,maptype){var kamap=map.kamap;this.typemap.src=kamap.server+"images/control_map.gif";this.typesat.src=kamap.server+"images/control_satellite.gif";this.typehyb.src=kamap.server+"images/control_hybrid.gif";if(maptype==PMapType.HYBRID){this.typehyb.src=kamap.server+"images/control_hybrid_down.gif"}else if(maptype==PMapType.SATELLITE){this.typesat.src=kamap.server+"images/control_satellite_down.gif"}else if(maptype==PMapType.NORMAL){this.typemap.src=kamap.server+"images/control_map_down.gif"}if(map.mapType!=maptype)map.setMapType(maptype)};PMapTypeControl.prototype.remove=function(map){var kamap=map.kamap;PEvent.clearInstanceListeners(this.typemap);kamap.domObj.removeChild(this.typemap);PEvent.clearInstanceListeners(this.typesat);kamap.domObj.removeChild(this.typesat);PEvent.clearInstanceListeners(this.typehyb);kamap.domObj.removeChild(this.typehyb)};PMapType=function(layers,proj,name){this.maplayers=layers;this.pointLayers={};this.holeLayer=null;for(var i in layers){if(layers[i].pointDataset){this.pointLayers[layers[i].name]=layers[i]}if(isCBClone()&&layers[i].name.indexOf("_hole")!=-1){this.holeLayer=layers[i]}}this.name="";if(name)this.name=name;this.projection=new PProjection(54004);if(proj)this.projection=proj;this.projection.maptype=this;this.scales=P_SCALES_DEFAULT.slice();this.absscales=this.scales;this.zooms=[];for(var i=0;i<this.scales.length;i++)this.zooms.push(true);this.client=false};PMapType.prototype.setLabel=function(name){this.name=name;if(this.map)this.map.refreshWidget(this.map.widgetLayer)};PMapType.prototype.getLabel=function(){return this.name};PMapType.prototype.getProjection=function(){return this.projection};PMapType.prototype.getName=function(){return this.name};PMapType.prototype.getMapLayers=function(){return this.maplayers};PMapType.prototype.setScales=function(scales){this.scales=scales;this.redrawScale()};PMapType.prototype.getScales=function(){return this.scales};PMapType.prototype.updateZooms=function(){this.scales=[];for(var i=0;i<this.zooms.length;i++){if(this.zooms[i])this.scales.push(this.absscales[i])}};PMapType.prototype.enableAbsoluteZooms=function(zooms){for(var i=0;i<this.zooms.length;i++)this.zooms[i]=false;for(var i=0;i<zooms.length;i++)this.zooms[zooms[i]]=true;this.updateZooms();this.redrawScale()};PMapType.prototype.getEnabledAbsoluteZooms=function(){var zooms=[];for(var i=0;i<this.zooms.length;i++){if(this.zooms[i])zooms.push(i)}return zooms};PMapType.prototype.getAbsoluteZooms=function(){var zooms=[];for(var i=0;i<this.absscales.length;i++)zooms.push(i);return zooms};PMapType.prototype.addMapLayer=function(layer,position){if(this.map&&this.map.mapType==this)layer.maptype=this;if(position){this.maplayers.splice(position,0,layer)}else{this.maplayers.push(layer)}this.makeLayers();if(this.map)this.map.refresh();if(this.map){this.map.refreshCopyright();this.map.refreshWidget(this.map.widgetLayer)}};PMapType.prototype.removeMapLayer=function(layer){var l=this.maplayers.length;for(var i=0;i<l;i++){if(this.maplayers[i]==layer){this.maplayers.splice(i,1);break}}this.makeLayers();if(this.map)this.map.refresh();if(this.map){this.map.refreshCopyright();this.map.refreshWidget(this.map.widgetLayer)}};PMapType.prototype.getZoomLevelByScale=function(scale,absolute){var ltDiff=0;var scales=[];if(absolute)scales=this.absscales;else scales=this.scales;for(var i=0;i<scales.length-1;i++){if(scale==scales[i])return i;else if(scale<scales[i])ltDiff=scales[i]-scale;else{var gtDiff=scale-scales[i];if(gtDiff<ltDiff)return i;else return i-1}}if(ltDiff>=0)return scales.length-1;else return 0};PMapType.prototype.makeLayers=function(){if(this.map&&this.map.getCurrentMapType()==this){var layers=this.getMapLayers();var kMap=this.map.kamap.getCurrentMap();var kLayerIndex=0;kMap.aLayers=[];var kLayers=kMap.aLayers;var l=layers.length;for(var i=0;i<l;i++){if(layers[i].isMergeClient()||layers[i-1]&&layers[i-1].isMergeClient()||i==0){if(i!=0)kLayerIndex++;var kLayer=new _layer("merged",true,100,"PNG24",false,new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),new Array,layers[i].tileServers);this.map.kamap.addMapLayer(kLayer);if(layers[i].isMergeClient()){this.client=true;kLayer.addMergedLayer(layers[i]);kLayer.setOpacity(layers[i].opacity*100)}if(layers[i].isMergeClient()&&!layers[i].isOn())kLayer.setVisibility(false)}if(!layers[i].isMergeClient()&&layers[i].isOn()){kLayers[kLayerIndex].addMergedLayer(layers[i])}layers[i].kLayerIndex=kLayerIndex}if(this.map.legend&&this.map.legend.indicator)kLayers[0].legend=this.map.legend;this.redrawScale();if(this.client)this.map.refresh()}};PMapType.prototype.redrawScale=function(){if(this.map&&this.map.getCurrentMapType()==this){var kMap=this.map.kamap.getCurrentMap();if(kMap.aScales!=this.scales){var scale=this.map.getScale();kMap.aScales=this.scales;if(this.map.controls){this.map.setZoom(this.getZoomLevelByScale(scale));var control=this.map.getControlByType(PLargeMapControl);if(control!=null){control.remove(this.map);control.attach(this.map)}}}}};PMapType.prototype.makeMergedLayerList=function(index){if(this.map&&this.map.getCurrentMapType()==this){var layers=this.getMapLayers();var kLayers=this.map.kamap.getCurrentMap().getAllLayers();kLayers[index].clearMergedLayers();for(var i=0;i<layers.length;i++){if(layers[i].isOn()&&layers[i].kLayerIndex==index)kLayers[index].addMergedLayer(layers[i])}this.map.refresh()}};PMapType.prototype.mergeClient=function(){for(var i=0;i<this.maplayers.length;i++)this.maplayers[i].client=true;this.makeLayers()};PMapType.prototype.mergeServer=function(){for(var i=0;i<this.maplayers.length;i++)this.maplayers[i].client=false;this.makeLayers()};PMapType.prototype.getActiveLayerPoints=function(){return this.pointLayers};PMapType.prototype.getHoleLayer=function(){return this.holeLayer};PMapType.prototype.getActiveLayers=function(){var ls=this.maplayers;var arr=[];for(var i=0;i<ls.length;i++){var l=ls[i];if(l.isOn()){arr.push(l)}}return arr};PMarker=function(point,icon){this.point=point;if(icon&&icon instanceof PIcon)this.icon=icon;else this.icon=PIcon.DEFAULT;var image=document.createElement("div");image.style.fontSize="1px";var imageImg=document.createElement("img");if(this.icon.iconSize){image.style.width=imageImg.style.width=this.icon.iconSize.width+"px";image.style.height=imageImg.style.height=this.icon.iconSize.height+"px"}imageImg.src=this.icon.image;image.style.cursor="pointer";image.xOffset=-this.icon.iconAnchor.x;image.yOffset=-this.icon.iconAnchor.y;fixPNG(imageImg);imageImg.style.MozUserSelect="none";image.appendChild(imageImg);image.marker=this;this.image=image;if(this.icon.shadow){var shadow=document.createElement("div");shadow.style.fontSize="1px";var shadowImg=document.createElement("img");if(this.icon.shadowSize){shadow.style.width=shadowImg.style.width=this.icon.shadowSize.width+"px";shadow.style.height=shadowImg.style.height=this.icon.shadowSize.height+"px"}shadowImg.src=this.icon.shadow;shadow.xOffset=-this.icon.shadowAnchor.x;shadow.yOffset=-this.icon.shadowAnchor.y;fixPNG(shadowImg);shadowImg.style.MozUserSelect="none";shadow.appendChild(shadowImg);this.shadow=shadow}this.attributes=[]};PMarker.prototype.openInfoWindow=function(info){if(this.map)this.map.openInfoWindow(this.point,info,this)};PMarker.prototype.openInfoWindowHtml=function(info){this.openInfoWindow(info)};PMarker.prototype.openInfoWindowTabs=function(tabs){if(this.map)this.map.openInfoWindowTabs(this.point,tabs,this)};PMarker.prototype.openInfoWindowTabsHtml=function(tabs){this.openInfoWindowTabs(tabs)};PMarker.prototype.getIcon=function(){return this.icon};PMarker.prototype.getPoint=function(){return this.point};PMarker.prototype.setPoint=function(point){this.point=point};PMarker.prototype.addAttribute=function(attribute){this.attributes.push(attribute)};PMarker.prototype.removeAttribute=function(name){for(var i=0;i<this.attributes.length;i++){if(this.attributes[i].name==name)this.attributes.splice(i,1);break}};PMarker.prototype.getAttribute=function(name){for(var i=0;i<this.attributes.length;i++){if(this.attributes[i].name==name)return this.attributes[i]}return null};PMarker.prototype.setAttributes=function(attributes){this.attributes=attributes};PMarker.prototype.getAttributes=function(){return this.attributes};PMarker.prototype.addListener=function(eventId,f,fromMap){var map=this.map;var marker=this;var listener=PEvent.addListener(this.image,eventId,f);if(fromMap&&map&&eventId=="click"){map.markerListeners.push(PEvent.addListener(this.image,"click",function(){map.overlay=marker}));map.markerListeners.push(listener)}};PMarker.prototype.setCursor=function(cursorType){this.image.style.cursor=cursorType};PMarkerManager=function(map,icon){this.map=map;this.markers=[];this.clusters=[];this.timeout=null;this.currentZoomLevel=map.getZoom();this.maxVisibleMarkers=150;this.gridSize=5;this.minMarkersPerCluster=5;if(icon)this.icon=icon;else this.icon=PIcon.CLUSTER;PEvent.addListener(map,"zoomend",PMarkerManager.makeCaller(PMarkerManager.display,this));PEvent.addListener(map,"moveend",PMarkerManager.makeCaller(PMarkerManager.display,this));PEvent.addListener(map,"infowindowclose",PMarkerManager.makeCaller(PMarkerManager.popDown,this))};PMarkerManager.prototype.getIcon=function(icon){return this.icon};PMarkerManager.prototype.setMaxVisibleMarkers=function(n){this.maxVisibleMarkers=n};PMarkerManager.prototype.setMinMarkersPerCluster=function(n){this.minMarkersPerCluster=n};PMarkerManager.prototype.addMarker=function(marker){marker.onMap=false;this.markers.push(marker);this.displayLater()};PMarkerManager.prototype.addMarkers=function(markers){for(var i=0;i<markers.length;++i)this.addMarker(markers[i])};PMarkerManager.prototype.removeMarker=function(marker){for(var i=0;i<this.markers.length;++i)if(this.markers[i]==marker){if(marker.onMap)this.map.removeOverlay(marker);for(var j=0;j<this.clusters.length;++j){var cluster=this.clusters[j];if(cluster!=null){for(var k=0;k<cluster.markers.length;++k)if(cluster.markers[k]==marker){cluster.markers[k]=null;--cluster.markerCount;break}if(cluster.markerCount==0){this.clearCluster(cluster);this.clusters[j]=null}else if(cluster==this.poppedUpCluster)PMarkerManager.rePop(this)}}this.markers[i]=null;break}this.displayLater()};PMarkerManager.prototype.clearMarkers=function(){for(var i=0;i<this.markers.length;i++){if(this.markers[i]&&this.markers[i].onMap)this.map.removeOverlay(this.markers[i])}for(var i=0;i<this.clusters.length;i++){if(this.clusters[i])this.clearCluster(this.clusters[i])}this.markers=[];this.clusters=[];this.timeout=null};PMarkerManager.prototype.displayLater=function(){if(this.timeout!=null)clearTimeout(this.timeout);
this.timeout=setTimeout(PMarkerManager.makeCaller(PMarkerManager.display,this),50)};PMarkerManager.display=function(clusterer){var i,j,marker,cluster;clearTimeout(clusterer.timeout);var newZoomLevel=clusterer.map.getZoom();if(newZoomLevel!=clusterer.currentZoomLevel){for(i=0;i<clusterer.clusters.length;++i)if(clusterer.clusters[i]!=null){clusterer.clearCluster(clusterer.clusters[i]);clusterer.clusters[i]=null}clusterer.clusters.length=0;clusterer.currentZoomLevel=newZoomLevel}var bounds=clusterer.map.getBounds();var sw=bounds.getSouthWest();var ne=bounds.getNorthEast();var dx=ne.lng()-sw.lng();var dy=ne.lat()-sw.lat();dx*=.1;dy*=.1;bounds=new PLatLngBounds(new PLatLng(sw.lat()-dy,sw.lng()-dx),new PLatLng(ne.lat()+dy,ne.lng()+dx));var visibleMarkers=[];var nonvisibleMarkers=[];for(i=0;i<clusterer.markers.length;++i){marker=clusterer.markers[i];if(marker!=null)if(bounds.contains(marker.getPoint()))visibleMarkers.push(marker);else nonvisibleMarkers.push(marker)}for(i=0;i<nonvisibleMarkers.length;++i){marker=nonvisibleMarkers[i];if(marker.onMap){clusterer.map.removeOverlay(marker);marker.onMap=false}}for(i=0;i<clusterer.clusters.length;++i){cluster=clusterer.clusters[i];if(cluster!=null&&!bounds.contains(cluster.marker.getPoint())&&cluster.onMap){clusterer.map.removeOverlay(cluster.marker);cluster.onMap=false}}if(visibleMarkers.length>clusterer.maxVisibleMarkers){var latRange=bounds.getNorthEast().lat()-bounds.getSouthWest().lat();var latInc=latRange/clusterer.gridSize;var lngInc=latInc/Math.cos((bounds.getNorthEast().lat()+bounds.getSouthWest().lat())/2*Math.PI/180);for(var lat=bounds.getSouthWest().lat();lat<=bounds.getNorthEast().lat();lat+=latInc)for(var lng=bounds.getSouthWest().lng();lng<=bounds.getNorthEast().lng();lng+=lngInc){cluster=new Object;cluster.clusterer=clusterer;cluster.bounds=new PLatLngBounds(new PLatLng(lat,lng),new PLatLng(lat+latInc,lng+lngInc));cluster.markers=[];cluster.markerCount=0;cluster.onMap=false;cluster.marker=null;clusterer.clusters.push(cluster)}for(i=0;i<visibleMarkers.length;++i){marker=visibleMarkers[i];if(marker!=null&&!marker.inCluster){for(j=0;j<clusterer.clusters.length;++j){cluster=clusterer.clusters[j];if(cluster!=null&&cluster.bounds.contains(marker.getPoint())){cluster.markers.push(marker);++cluster.markerCount;marker.inCluster=true}}}}for(i=0;i<clusterer.clusters.length;++i)if(clusterer.clusters[i]!=null&&clusterer.clusters[i].markerCount<clusterer.minMarkersPerCluster){clusterer.clearCluster(clusterer.clusters[i]);clusterer.clusters[i]=null}for(i=clusterer.clusters.length-1;i>=0;--i)if(clusterer.clusters[i]!=null)break;else--clusterer.clusters.length;for(i=0;i<clusterer.clusters.length;++i){cluster=clusterer.clusters[i];if(cluster!=null){for(j=0;j<cluster.markers.length;++j){marker=cluster.markers[j];if(marker!=null&&marker.onMap){clusterer.map.removeOverlay(marker);marker.onMap=false}}}}for(i=0;i<clusterer.clusters.length;++i){cluster=clusterer.clusters[i];if(cluster!=null&&cluster.marker==null){var xTotal=0,yTotal=0;for(j=0;j<cluster.markers.length;++j){marker=cluster.markers[j];if(marker!=null){xTotal+=+marker.getPoint().lng();yTotal+=+marker.getPoint().lat()}}var location=new PLatLng(yTotal/cluster.markerCount,xTotal/cluster.markerCount);marker=new PMarker(location,clusterer.icon);cluster.marker=marker;PEvent.addListener(marker,"click",PMarkerManager.makeCaller(PMarkerManager.popUp,cluster))}}}for(i=0;i<visibleMarkers.length;++i){marker=visibleMarkers[i];if(marker!=null&&!marker.onMap&&!marker.inCluster){clusterer.map.addOverlay(marker);if(marker.addedToMap!=null)marker.addedToMap();marker.onMap=true}}for(i=0;i<clusterer.clusters.length;++i){cluster=clusterer.clusters[i];if(cluster!=null&&!cluster.onMap&&bounds.contains(cluster.marker.getPoint())){clusterer.map.addOverlay(cluster.marker);cluster.onMap=true}}PMarkerManager.rePop(clusterer)};PMarkerManager.popUp=function(cluster){var clusterer=cluster.clusterer;var html="This cluster represents <b>"+cluster.markerCount+"</b> individual pins.<br>Zoom in closer to see them.";cluster.marker.openInfoWindowHtml(html);clusterer.poppedUpCluster=cluster};PMarkerManager.rePop=function(clusterer){if(clusterer.poppedUpCluster!=null)PMarkerManager.popUp(clusterer.poppedUpCluster)};PMarkerManager.popDown=function(clusterer){clusterer.poppedUpCluster=null};PMarkerManager.prototype.clearCluster=function(cluster){var i,marker;for(i=0;i<cluster.markers.length;++i)if(cluster.markers[i]!=null){cluster.markers[i].inCluster=false;cluster.markers[i]=null}cluster.markers.length=0;cluster.markerCount=0;if(cluster==this.poppedUpCluster)this.map.closeInfoWindow();if(cluster.onMap){this.map.removeOverlay(cluster.marker);cluster.onMap=false}};PMarkerManager.makeCaller=function(func,arg){return function(){func(arg)}};prevHover=function(){var sfEls=document.getElementById("previousdropid").getElementsByTagName("LI");for(var i=0;i<sfEls.length;i++){sfEls[i].onmouseover=function(){this.className+=" prevhover"};sfEls[i].onmouseout=function(){this.className=this.className.replace(new RegExp(" prevhover\\b"),"")}}};function disableMenu(){$("#nav li ul").hide()}function enableMenu(){$("#nav li ul").show()}keyboardAccessible=function(){if(document.getElementById("nav")){var mcEls=document.getElementById("nav").getElementsByTagName("A");for(var i=0;i<mcEls.length;i++){mcEls[i].onfocus=function(){this.className+=(this.className.length>0?" ":"")+"sffocus";this.parentNode.parentNode.className+=(this.parentNode.parentNode.className.length>0?" ":"")+"sfhover";if(this.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.className+=(this.parentNode.parentNode.parentNode.parentNode.className.length>0?" ":"")+"sfhover";if(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className+=(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className.length>0?" ":"")+"sfhover"}}else if(this.parentNode.parentNode.parentNode.parentNode.nodeName=="DIV"){this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className+=(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className.length>0?" ":"")+"sfhover";if(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className+=(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className.length>0?" ":"")+"sfhover"}}};mcEls[i].onblur=function(){this.className=this.className.replace(new RegExp("( ?|^)sffocus\\b"),"");this.parentNode.parentNode.className=this.parentNode.parentNode.className.replace(new RegExp("( ?|^)sfhover\\b"),"");if(this.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.className=this.parentNode.parentNode.parentNode.parentNode.className.replace(new RegExp("( ?|^)sfhover\\b"),"");if(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className=this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className.replace(new RegExp("( ?|^)sfhover\\b"),"")}}if(this.parentNode.parentNode.parentNode.parentNode.nodeName=="DIV"){this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className=this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className.replace(new RegExp("( ?|^)sfhover\\b"),"");if(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className=this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className.replace(new RegExp("( ?|^)sfhover\\b"),"")}}}}}var uls=jQuery(".horMenu");for(var j=0;j<uls.length;j++){var mcEls=jQuery(uls[j]).find("a");for(var i=0;i<mcEls.length;i++){mcEls[i].onfocus=function(){this.className+=(this.className.length>0?" ":"")+"sffocus";this.parentNode.parentNode.className+=(this.parentNode.parentNode.className.length>0?" ":"")+"sfhover2";if(this.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.className+=(this.parentNode.parentNode.parentNode.parentNode.className.length>0?" ":"")+"sfhover2";if(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className+=(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className.length>0?" ":"")+"sfhover2"}}else if(this.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.parentNode.className+=(this.parentNode.parentNode.parentNode.parentNode.parentNode.className.length>0?" ":"")+"sfhover2"}};mcEls[i].onblur=function(){this.className=this.className.replace(new RegExp("( ?|^)sffocus\\b"),"");this.parentNode.parentNode.className=this.parentNode.parentNode.className.replace(new RegExp("( ?|^)sfhover2\\b"),"");if(this.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.className=this.parentNode.parentNode.parentNode.parentNode.className.replace(new RegExp("( ?|^)sfhover2\\b"),"");if(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className=this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className.replace(new RegExp("( ?|^)sfhover2\\b"),"")}}else if(this.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName=="LI"){this.parentNode.parentNode.parentNode.parentNode.parentNode.className=this.parentNode.parentNode.parentNode.parentNode.parentNode.className.replace(new RegExp("( ?|^)sfhover2\\b"),"")}}}}};if(window.addEventListener){window.addEventListener("load",keyboardAccessible,false)}else if(document.addEventListener)document.addEventListener("load",keyboardAccessible,false);else if(window.attachEvent){window.attachEvent("onload",keyboardAccessible)}else{if(typeof window.onload=="function"){var existing=onload;window.onload=function(){keyboardAccessible()}}else{window.onload=function(){keyboardAccessible()}}}PMercatorProjection=function(){};PMercatorProjection.prototype=new PProjection;PMercatorProjection.prototype.fromLatLngToMeters=function(point){if(point instanceof PLatLng)point=new PPoint(point.lng(),point.lat());var ret=this.proj.projectMerc(point);return new PPoint(ret.x,ret.y)};PMercatorProjection.prototype.fromMetersToLatLng=function(point){var ret=this.proj.unprojectMerc(point);return new PLatLng(ret.y,ret.x)};PMIdentificationModule={};PMIdentificationModule.showInfoWindow=function(urlParams){this.clickHandler(null,new PLatLng(urlParams["iwx"],urlParams["iwy"]))};PMIdentificationModule.clickHandler=function(overlay,point){if(isCBClone()){this.clickHandlerCB(overlay,point);return}if(isCustomRegionOn())return;var self=this;if(overlay){var attributes=overlay.getAttributes();if(attributes.length>0){var point=overlay.getPoint()}else{return}}map.saveInfoWindow=true;map.infoWindowType="identify";map.setRemovePolygonsOnInfoWindowClose(true);var legend=map.legend;var options={showmarker:true,showindicator:true,showplaces:true,nonmixedresult:true,uptotype:legend.getIndicator()?legend.getBoundaryType():null};options.cmc=options.uptotype!=null&&options.uptotype==PPlaceType.SCHOOL;if(isFinalReportPage()){options.showplaces=false;options.showindicator=false}if(map.getLegendMerger()){var uptotype=null;var legendMerger=map.getLegendMerger();var legend=null;options.boundaryTypes=[];options.defIds=[];for(var i=0;legend=legendMerger.getLegend(i);i++){var curInd=legend.legend.getIndicator();if(curInd!=null){var boundaryType=legend.legend.getBoundaryType();options.boundaryTypes.push(boundaryType);options.defIds.push(boundaryMatrix.getDefinitionIdForTypeId(boundaryType.getId(),curInd.matrixIds[curInd.curPerIndex]))}}}map.identify(point,function(markers,places,cube){self.buildInfoWindow(markers,places,cube,point)},options)};PMIdentificationModule.buildInfoWindow=function(markers,places,cube,point){var tabs;var ind=map.getIndicator();var boundaryType=map.getLegend()?map.getLegend().getBoundaryType():null;if(markers&&markers.length>0){if(PEnvironment.pageName=="widget"){if(PEnvironment.widgetParams.sid==59){PMIdentificationPrinter.customizeSitesIdentifyForPSPWidget(markers[0]);return}}var sitesAttributes=[];var sameMarkers=[];for(var i=0;i<markers.length;i++){if(markers[0].getPoint().lat()==markers[i].getPoint().lat()&&markers[0].getPoint().lng()==markers[i].getPoint().lng()){sitesAttributes.push(markers[i].getAttributes());sameMarkers.push(markers[i])}}if(sitesAttributes.length>1)var tabs=PMIdentificationPrinter.printSameAddresses(markers[0].getPoint(),sameMarkers);else{var attributes=markers[0].getAttributes();var tabs=PMIdentificationPrinter.printAttributes(attributes,null,markers[0])}map.openInfoWindowTabs(markers[0].getPoint(),tabs);var pmid=PMIdentificationPrinter;var urlParams=getUrlParams();if(!pmid.savedMapLoaded&&urlParams["iwtab"]){pmid.savedMapLoaded=true;if(urlParams["iwlink"])pmid.addAttributeTabs(pmid.savedMarkerAttr,tabs,markers[0].getPoint(),urlParams["iwlink"],markers[0]);if(urlParams["iwtab"]){var t=urlParams["iwtab"];map.getInfoWindow().selectTab(t)}}}else if(places&&places.length>0||cube){clearPolygons(map);var identifyDiv=document.createElement("div");identifyDiv.id="identifyContainer";identifyDiv.style.width="240px";identifyDiv.className="identify";if(cube){identifyDiv.showsCube=true;var p=null;if(PEnvironment.pageName!="analytics"){var typeInd=map.getLegend().getBoundaryType();var l=places.length;if(l==1||l>1&&!allPlacesSameType(places)){for(var i=l-1;i>=0;i--){var curPlace=places[i];var typePlace=curPlace.getType();if(typePlace&&typeInd&&typePlace.id==typeInd.id){p=curPlace;break}}}}else{var containmentOrder=PPlaceTypeConfig.containmentOrder;var l=containmentOrder.length;var borderPlaces=[];placeTypeLoop:for(var i=l-1;i>=0;i--){var curPlaceType=containmentOrder[i];for(var j=0;j<places.length;j++){if(places[j].typeid==curPlaceType.getId()){borderPlaces.push(places[j])}}if(borderPlaces.length>0){var matrixOrder=boundaryMatrix.getMatrixOrder();for(var j=0;j<matrixOrder.length;j++){var currentMatrix=matrixOrder[j];for(var k=0;k<borderPlaces.length;k++){if(boundaryMatrix.isDefinitionIdInMatrix(borderPlaces[k].defid,currentMatrix)){p=borderPlaces[k];break placeTypeLoop}}}borderPlaces=[]}}}if(p!=null){clearPolygons(map);addPolygons(map,p);var currentPlace=p;session.put("p",currentPlace.id)}var publicUser=isPublicUser();if(map.getLegendMerger()&&PEnvironment.pageName=="analytics"){for(var i=0;i<3;i++){if(map.getLegendMerger().getLegend(i).getIndicator()){PMIdentificationPrinter.printCube(cube,map.getLegendMerger().getLegend(i).legend,identifyDiv,publicUser)}}if(p!=null){var pSpans=$(identifyDiv).find(".placeType"+p.getID());for(var i=0;i<pSpans.length;i++){var curText=pSpans[i].innerHTML;pSpans[i].innerHTML=curText.substring(0,curText.length-1)+" - Outlined)"}}if(!isSubscriber()){var div=document.createElement("div");var text="Become a <a href='subscribe.jsp'>Subscriber</a> to use the Analytics feature.";div.innerHTML=text;identifyDiv.appendChild(div)}var infoBubbleLinks=document.createElement("div");infoBubbleLinks.id="infoBubbleLinks";identifyDiv.appendChild(infoBubbleLinks);PMIdentificationPrinter.printSeeSites(infoBubbleLinks,currentPlace);PMIdentificationPrinter.printSeePolygons(infoBubbleLinks,currentPlace)}else if(ind&&ind.hasBubbleIndicators(true)){var inds=cube.getIndicators();var opts=ind.getBubbleOptions();var tabNames=opts.tabs;if(opts.isGlobal){if(PEnvironment.pageName=="widget"&&PEnvironment.widgetParams.sid==113){PMIdentificationPrinter.printCubeIndicatorsDCEDCustom(cube,map.getLegend(),identifyDiv,publicUser,inds,point);return}else if(PEnvironment.pageName=="widget"&&isMNWidget()){tabs=PMIdentificationPrinter.printCubeIndicatorsMNHFACustom(cube,map.getLegend(),identifyDiv,publicUser,inds,places,tabNames)}else if(PEnvironment.pageName=="widget"&&PEnvironment.widgetParams.sid==235){PMIdentificationPrinter.printCubeIndicatorsMoodyCustom(cube,map.getLegend(),identifyDiv,publicUser,inds,point);for(var i=0;i<places.length;i++){if(places[i].getType()==PPlaceType.COUNTY||places[i].getType()==PPlaceType.STATE){global_places.push(places[i])}}refreshWidgetCharts();return}}else{if(isIffCustomFilterWidget()){var ignoreInds=[9919851,9919852,9919853,9922161,9922160,9922162,9922166,9923859,9923858,9923860,9923864,9936685,9936686,9936687,9936691];var removeMapInd=false;var mapInd=P.instances.map.getIndicator();for(var i=0;i<ignoreInds.length;i++){if(mapInd.id==ignoreInds[i]){removeMapInd=true;break}}if(removeMapInd){for(var i=0;i<inds.length;i++){if(inds[i].id==mapInd.id){inds.splice(i,1)}}}}if(PEnvironment.pageName=="widget"&&PEnvironment.widgetParams.sid==72&&(ind.periods[ind.curPerIndex]!="2010"&&ind.periods[ind.curPerIndex]!=P.constants.latestACSPeriod)){PMIdentificationPrinter.printCube(cube,map.getLegend(),identifyDiv,publicUser)}else{tabs=PMIdentificationPrinter.printCubeIndicators(cube,map.getLegend(),identifyDiv,publicUser,inds,places,tabNames)}}}else{PMIdentificationPrinter.printCube(cube,map.getLegend(),identifyDiv,publicUser)}if(PEnvironment.pageName!="analytics"){if(publicUser){var span=document.createElement("span");identifyDiv.appendChild(span);span.innerHTML='<a href="register?reg_type=reg">Register</a> now for free to see the information about this place.  If you already have a Policymap account you may login <a href="javascript:void(0);" onclick="showLoginPopup (null, null)">here</a>.<br /><br />'}else{if(isWidgetPage()){var infoBubbleLinks=document.createElement("div");infoBubbleLinks.id="infoBubbleLinks";identifyDiv.appendChild(infoBubbleLinks);PMIdentificationPrinter.printSeeSites(infoBubbleLinks,currentPlace);PMIdentificationPrinter.printSeePolygons(infoBubbleLinks,currentPlace)}else if(!isEmbedPage()&&!isMobile()&&!isCBClone()){var infoBubbleLinks=document.createElement("div");infoBubbleLinks.id="infoBubbleLinks";identifyDiv.appendChild(infoBubbleLinks);var hasData=false;var period=cube.getPeriods()[0];var indicator=cube.getIndicators()[0];for(var i=0;i<places.length;++i){var place=places[i];if(cube.values[period]&&cube.values[period][place.id]&&cube.values[period][place.id][indicator.id]!==null&&!isNaN(cube.values[period][place.id][indicator.id])){hasData=true;break}}if(hasData){var anchor=document.createElement("a");anchor.innerHTML="See Table";anchor.style.marginRight="15px";PEvent.addListener(anchor,"click",function(){var placeIds=[];var l=places.length;var place;var shouldInclude=false;var hasData=false;var period=cube.getPeriods()[0];var indicator=cube.getIndicators()[0];for(var i=0;i<l;i++){place=places[i];hasData=cube.values[period][place.id][indicator.id]!=null;shouldInclude=indicator.getMeasurement()!="count"||place.getType()!=PPlaceType.STATE||map.getLegend().getBoundaryType().id==PPlaceType.STATE.id;if(shouldInclude&&hasData){placeIds.push(place.id)}}session.put("p",placeIds.join(","));session.put("i",cube.getIndicators()[0].id);session.put("period",cube.getPeriods()[0]);session.save();setWindowLocation("tables")});infoBubbleLinks.appendChild(anchor)}var showReportLink=true;var showTableLink=false;var arr=[130900,129400];var dids=map.getIndicator().getDatasetIds();for(var i=0;i<arr.length;i++){for(var d=0;d<dids.length;d++){if(arr[i]==dids[d]){showReportLink=false}}}if(ind.isCategorical()){showReportLink=false;showTableLink=true}if(currentPlace&&showReportLink){var anchor=document.createElement("a");anchor.innerHTML="Get Report";anchor.style.marginRight="15px";anchor.placeid=currentPlace.id;PEvent.addListener(anchor,"click",function(){session.put("p",currentPlace.id);var ind=map.getIndicator();var report="";if(ind&&isSupermarketIndicator(ind)){report="&type=brookingslaa"}setWindowLocation("reports?pid="+anchor.placeid+report)});infoBubbleLinks.appendChild(anchor);infoBubbleLinks.appendChild(document.createElement("br"));PMIdentificationPrinter.printSeeSites(infoBubbleLinks,currentPlace);PMIdentificationPrinter.printSeePolygons(infoBubbleLinks,currentPlace)}if(currentPlace&&showTableLink){var anchor=document.createElement("a");anchor.innerHTML="See Table";anchor.style.marginRight="15px";anchor.placeid=currentPlace.id;PEvent.addListener(anchor,"click",function(){if(map.getIndicator()){var indicator=map.getIndicator();var period=indicator.getPeriod();session.put("i",indicator.id);session.put("period",period);session.save()}setWindowLocation("tables")});infoBubbleLinks.appendChild(anchor);infoBubbleLinks.appendChild(document.createElement("br"));PMIdentificationPrinter.printSeeSites(infoBubbleLinks,currentPlace);PMIdentificationPrinter.printSeePolygons(infoBubbleLinks,currentPlace)}}}if(ind.getMeasurement()=="type"||ind.getMeasurement()=="Type"){var mva_charts=[196211,196126,9609712,196193,196510,196528,198853,196544,198870,198887,9627551,196300,9844405,9896954];for(var m=0;m<mva_charts.length;m++){if(ind.getID()==mva_charts[m]){var link=document.createElement("a");link.innerHTML="See table of underlying values";if(mva_charts[m]==196126)link.innerHTML="See cluster descriptions";link.target="_blank";link.href="/our-data-directory.html#mva_"+ind.getID();identifyDiv.appendChild(document.createElement("br"));identifyDiv.appendChild(document.createElement("br"));identifyDiv.appendChild(link)}}}}}else if(places){var p=PMIdentificationPrinter.selectPlace(map.getZoom(),places);PMIdentificationPrinter.printPlaces(places,identifyDiv,p);if(p){session.put("p",p.id);session.put("pLabel",p.getLabel())}}if(tabs&&tabs.length>0){map.openInfoWindowTabs(point,tabs)}else{if(isCBClone()){var attachGetProfile=false;if(P.CloneOptions.report_latest_vintage_only){var allDefs=boundaryMatrix.getAllBoundaryDefinitionsForTypeId(p.getType().getId());if(allDefs.length>0){allDefs=_.sortBy(allDefs,"displayYear");if(p.getDefinitionId()==allDefs[allDefs.length-1].boundaryDefinitionId){attachGetProfile=true}}}else{attachGetProfile=true}if(attachGetProfile){var button=getCBGetProfileButton(p);if(button){$(identifyDiv).append(button)}}}map.openInfoWindow(point,identifyDiv)}}};PMIdentificationModule.clickHandlerCB=function(overlay,point){if(isCustomRegionOnForClones())return;var self=this;if(overlay){var attributes=overlay.getAttributes();if(attributes.length>0){var point=overlay.getPoint()}else{return}}map.saveInfoWindow=true;map.infoWindowType="identify";map.setRemovePolygonsOnInfoWindowClose(true);var legend=map.legend;var showPlaces=true;var options={showmarker:true,showindicator:true,showplaces:showPlaces,nonmixedresult:true,uptotype:legend.getIndicator()?legend.getBoundaryType():null,onlytype:PPlaceType.BLOCKGROUP};if(isFinalReportPage()){options.showplaces=false;options.showindicator=false}if(map.getLegendMerger()&&PEnvironment.pageName=="analytics"){var uptotype=null;var legendMerger=map.getLegendMerger();var legend=null;options.boundaryTypes=[];options.defIds=[];for(var i=0;legend=legendMerger.getLegend(i);i++){var curInd=legend.legend.getIndicator();if(curInd!=null){var boundaryType=legend.legend.getBoundaryType();options.boundaryTypes.push(boundaryType);options.defIds.push(boundaryMatrix.getDefinitionIdForTypeId(boundaryType.getId(),curInd.matrixIds[curInd.curPerIndex]))}}}map.identify(point,function(markers,places,cube){if(places&&!map.getIndicator()&&(!map.getLegendMerger()||map.getLegendMerger()&&map.getLegendMerger().getIndicatorCount()==0)){var arr=[];for(var i=0;i<places.length;i++){var p=places[i];var t=p.getType();if(t&&t==options.onlytype){arr.push(p)}}places=arr}self.buildInfoWindow(markers,places,cube,point)},options)};PMIdentificationPrinter={placeTypeConfig:new PPlaceTypeConfig};PMIdentificationPrinter.findPlace=function(z,places){return this.findPlaceTopDown(z,places)};PMIdentificationPrinter.findPlaceTopDown=function(z,places){var t;var p;var found=false;for(var i=z;i<16&&!found;i++){t=this.placeTypeConfig.zooms[i];if(t){for(var j=0;j<places.length;j++){p=places[j];if(p.typeid==t.id){found=true;break}}}}if(!p){p=places[places.length-1]}return p};PMIdentificationPrinter.findPlaceBottomUp=function(z,places){var t;var p;var found=false;for(var i=z;i>=0&&!found;i--){t=PPlaceTypeConfig.PLEGEND.zooms[i];if(t){for(var j=0;j<places.length;j++){p=places[j];if(p.typeid==t.id){found=true;break}}}}if(!p){p=places[places.length-1]}return p};PMIdentificationPrinter.selectPlace=function(z,places){clearPolygons(map);var p=this.findPlace(z,places);if(!p)p=places[0];if(p)addPolygons(map,p);return p};PMIdentificationPrinter.printPlaces=function(places,container,selectedPlace){var tableElem=document.createElement("table");tableElem.id="identify";tableElem.className="cube";tableElem.style.width="240px";container.appendChild(tableElem);var tbodyElem=document.createElement("tbody");tableElem.appendChild(tbodyElem);var place;var type;var l=places.length;var teaser;var rowElem;for(var i=0;i<l;i++){place=places[i];type=place.getType();if(!type||type.isCongressional()||type==PPlaceType.SLD_UPPER||type==PPlaceType.SLD_LOWER)continue;highlight=type.id==selectedPlace.getType().id?"hl":"";if(type.id==selectedPlace.getType().id)mapstates.currentplace=place;rowElem=document.createElement("tr");rowElem.className=highlight;tbodyElem.appendChild(rowElem);var cellElem=document.createElement("td");rowElem.appendChild(cellElem);if(teaser){cellElem.className=teaser;cellElem.innerHTML=place.label+"<span class='placeType'> ("+type.getName()+")</span></td>"}else{this.addPlaceLink(place,cellElem)}}infoBubbleLinks=document.createElement("div");infoBubbleLinks.id="infoBubbleLinks";container.appendChild(infoBubbleLinks);PMIdentificationPrinter.printSeeSites(infoBubbleLinks,selectedPlace);PMIdentificationPrinter.printSeePolygons(infoBubbleLinks,selectedPlace)};PMIdentificationPrinter.addPlaceLink=function(place,container){var a;if(PEnvironment.pageName=="analytics"){a=document.createElement("span");$(a).addClass("boundary-link")}else{a=document.createElement("a");$(a).addClass("boundary-link");PEvent.addListener(a,"mouseup",function(){map.setCenterBounds(place.bounds);clearPolygons(map);map.closeInfoWindow();addPolygons(map,place);mapstates.add(new PMapState(map.getCenter(),map.getZoom(),map.getIndicator(),null,place));session.put("p",place.id)},"mousedown")}a.innerHTML=place.label;container.appendChild(a);var s=document.createElement("span");s.style.color="#999999";s.style.fontSize="10px";s.className="placeType placeType"+place.getID();s.innerHTML="&nbsp;("+boundaryMatrix.getDisplayNameForDefinitionId(place.defid)+")";container.appendChild(s)};PMIdentificationPrinter.printCustomPolyPlaces=function(polyplace,marker){map.infoWindowType="cp";map.saveInfoWindow=true;var container=document.createElement("div");container.id="identifyContainer";container.className="custom-region";container.isCustomOrPoly=true;var div=$("<div />");div.addClass("title");div.html(polyplace.getLabel());if(polyplace.description&&polyplace.description!="null"){var desc=$("<div />");desc.addClass("description");desc.html(polyplace.description);div.append(desc)}$(container).append(div);var options=$("<div />");options.attr("id","custom-region-options");options.addClass("custom-region-options");var coloropts=$("<div />");coloropts.addClass("color-options");var colorlink=$("<a />");colorlink.addClass("color-link");colorlink.html("Change Color");var colorbox=$("<div />");colorbox.addClass("color-box");var color=polycreator.defaultcolor;if(polyplace.color)color=polyplace.color;colorbox.css("background",color);coloropts.append(colorlink);coloropts.append(colorbox);options.append(coloropts);var box=$("<div />");$(box).hide();box.addClass("color-options-box");var colors=["#000202","#953503","#35381D","#003906","#03316D","#020274","#282AA1","#373737","#7C0200","#F76905","#848000","#037B0D","#008589","#0001FE","#63649D","#7E7E7E","#FE0000","#F7981A","#93CD00","#2D9C69","#21D4CE","#3860FF","#700788","#909090","#F60EE0","#FFC500","#FFFC01","#00FF00","#0CFFFD","#03CBFF","#AB245F","#B9B9B9","#FF8CCE","#FFCB90","#FFFF94","#BFFFC5","#C4FFFF","#92CDFF","#D996FF","#FFFFFF"];var count=0;for(var i=0;i<colors.length;i++){count++;var div=$("<div />");div.addClass("color");div.css({background:colors[i]});div.attr("color",colors[i]);div.click(function(){var color=$(this).attr("color");var options={};options.color=color;options.opacity=polyplace.opacity;options.fill=polyplace.fill;polycreator.setPolyStyle(polyplace,options);$(colorbox).css("background",color)});box.append(div);if(count==8){box.append($("<br />"));count=0}}$(coloropts).append(box);var timer=null;PEvent.addListener(box[0],"mouseout",function(){timer=setTimeout(function(){$(box).hide()},200)});PEvent.addListener(box[0],"mouseover",function(){clearTimeout(timer)});coloropts.click(function(){$(box).show()});var filldiv=$("<div />");filldiv.addClass("fill");var img=$("<img />");$(img).attr("title","Fill");img.attr("src","/images/paint-bucket.gif");if(polyplace.fill)img.addClass("fill");img.click(function(){$(this).toggleClass("fill");var fill=false;if($(this).hasClass("fill")){fill=true}var options={};options.fill=fill;options.color=polyplace.color;options.opacity=polyplace.opacity;polycreator.setPolyStyle(polyplace,options)});filldiv.append(img);options.append(filldiv);var sliderdiv=$("<div />");sliderdiv.addClass("opacity");options.append(sliderdiv);var slider=$("<div />");sliderdiv.append(slider);slider.attr("id","slider");$(slider).attr("delaySave",true);$(slider).mouseup(function(event){$(this).attr("delaySave",false)});slider.slider({step:.01,min:0,max:1,value:polyplace.polyline.opacity,stop:function(event,ui){var options={};options.opacity=ui.value;options.fill=polyplace.fill;options.color=polyplace.color;polycreator.setPolyStyle(polyplace,options)},slide:function(event,ui){var options={};options.opacity=ui.value;options.fill=polyplace.fill;options.color=polyplace.color;options.delaySave=true;polycreator.setPolyStyle(polyplace,options)}});var text=$("<div />");text.html("Transparency");sliderdiv.append(text);var br=$("<br />");br.addClass("clear");options.append(br);$(container).append(options);var infoBubbleLinks=document.createElement("div");infoBubbleLinks.id="infoBubbleLinks";container.appendChild(infoBubbleLinks);var div=$("<div />");div.addClass("divider");$(infoBubbleLinks).append(div);var zoom=document.createElement("a");zoom.innerHTML="Zoom to Custom Region";zoom.place=polyplace;PEvent.addListener(zoom,"mousedown",function(){map.setCenterBounds(this.place.getBounds())});infoBubbleLinks.appendChild(zoom);var span=document.createElement("span");span.innerHTML=" - ";infoBubbleLinks.appendChild(span);var remove=document.createElement("a");remove.innerHTML="Clear Custom Region";remove.place=polyplace;PEvent.addListener(remove,"mousedown",function(){polycreator.removeCustomRegionFromMap(this.place);map.closeInfoWindow()});infoBubbleLinks.appendChild(remove);if(!isWidgetOrEmbedMap()){infoBubbleLinks.appendChild(document.createElement("br"));infoBubbleLinks.appendChild(document.createElement("br"));var anchor1=document.createElement("a");anchor1.innerHTML="See Table";anchor1.style.marginRight="15px";PEvent.addListener(anchor1,"click",function(){if(map.getIndicator()){var indicator=map.getIndicator();var period=indicator.getPeriod();session.put("i",indicator.id);session.put("period",period)}setWindowLocation("tables")});infoBubbleLinks.appendChild(anchor1);var ind=map.getIndicator();var anchor2=document.createElement("a");anchor2.innerHTML="Get Report";anchor2.style.marginRight="15px";anchor2.polylabel=polyplace.getLabel();anchor2.polyid=polyplace.id;
PEvent.addListener(anchor2,"click",function(){var ind=map.getIndicator();var report="";if(ind&&isSupermarketIndicator(ind)){report="&type=brookingslaa"}setWindowLocation("reports.jsp?area=custom&cpid="+anchor2.polyid+report)});infoBubbleLinks.appendChild(anchor2);var anchor3=document.createElement("a");anchor3.innerHTML="Share Region";anchor3.style.marginRight="15px";anchor3.polylabel=polyplace.getLabel();anchor3.polyid=polyplace.id;PEvent.addListener(anchor3,"click",function(){polycreator.sharePolyDialog(this.polyid,this.polylabel)});infoBubbleLinks.appendChild(anchor3)}if(!isEmbedPage()){PMIdentificationPrinter.printSeeValues(container,polyplace);PMIdentificationPrinter.printSeeSites(container,polyplace);PMIdentificationPrinter.printSeePolygons(container,polyplace)}if(polyplace.ctypeid==3){var div=document.createElement("div");div.className="extraInfo";div.innerHTML="";if(polyplace.caddress){var addr="<div><span class='header'>Center of Radius:</span> <span class='content'>"+polyplace.caddress+"</span></div>";div.innerHTML+=addr}var radius="<div><span class='header'>Radius:</span> <span class='content'>"+polyplace.radius+" Miles</span></div>";div.innerHTML+=radius;container.appendChild(div)}if(isWidgetPage()){var div=this.getWidgetReportLink(polyplace);if(div)$(infoBubbleLinks).append(div)}return container};PMIdentificationPrinter.printCubeWithEnum=function(){};PMIdentificationPrinter.printCube=function(cube,legend,container,isPublicUser){var places=cube.getPlaces();var values=cube.values;global_places=[];if(cube.periods.length>0){var period=legend.getIndicator().getPeriod();var indicator=legend.getIndicator();var place;var typePlace;var typeInd;var obs;var shaded;var highlight="";var teaser;var dispIndex=0;var titleElem=document.createElement("div");titleElem.innerHTML=legend.getIndicator().getLabel();titleElem.className="title";titleElem.style.color="#000000";titleElem.style.fontSize="15px";titleElem.style.fontWeight="bold";titleElem.style.paddingBottom="5px";titleElem.style.fontFamily="font-family:Arial,Helvetica,sans-serif";container.appendChild(titleElem);var tableElem=document.createElement("table");tableElem.style.fontFamily="font-family:Arial,Helvetica,sans-serif";container.appendChild(tableElem);tableElem.id="identify";tableElem.className="cube";tableElem.style.width="240px";var tbodyElem=document.createElement("tbody");tableElem.appendChild(tbodyElem);var rowElem=document.createElement("tr");tbodyElem.appendChild(rowElem);var cellElem=document.createElement("th");cellElem.style.backgroundColor="#EEEEEE";rowElem.appendChild(cellElem);cellElem.innerHTML="Area";cellElem=document.createElement("th");cellElem.style.backgroundColor="#EEEEEE";rowElem.appendChild(cellElem);cellElem.innerHTML="Value";var l=places.length;var sameType=allPlacesSameType(places);for(var myi=0;myi<l;myi++){place=places[myi];typePlace=place.getType();typeInd=legend.getBoundaryType();var iPlaceType=false;var electionIds=[9851401,9851262,9851257,9851253,9851252,9851251,9851255,9851263,9851250,9851259];if(typePlace&&typePlace.isCongressional()){for(var e=0;e<electionIds.length;e++){if(indicator.id==electionIds[e]){place.label=place.label.slice(0,place.label.indexOf("(")-1);break}}}if(!typePlace)continue;if(PEnvironment.pageName!="analytics"){if(typePlace&&typeInd&&!sameType){highlight=typePlace.id==typeInd.id?"hl":"";if(typePlace.id==typeInd.id){mapstates.currentplace=place;iPlaceType=true}}}else{if(typePlace==typeInd&&boundaryMatrix.isDefinitionIdInMatrix(place.defid,indicator.matrixIds[indicator.curPerIndex])){highlight="hl";iPlaceType=true}}if(typePlace&&(typePlace.isCongressional()||typePlace==PPlaceType.SLD_UPPER||typePlace==PPlaceType.SLD_LOWER)&&(typeInd&&typeInd.id!=typePlace.id))continue;if(PEnvironment.pageName!="analytics"||iPlaceType==true){var isNum=null;obs=values[period][place.id][indicator.id];if(isPublicUser){obs="<b>-</b>"}else if(typeof obs=="string"){obs=obs}else if(indicator.nodata&&indicator.nodata!=""&&obs==indicator.nodata||obs=="-9999"){if(indicator.nodatalabel&&indicator.nodatalabel!=""){obs=indicator.nodatalabel}else{obs="Insufficient Data"}}else if(obs||obs==0){obs=PWebUtil.formatNumber(obs,indicator.unit);isNum=true}else if(typeInd&&typeInd.id==typePlace.id){obs=""}else{continue}global_places.unshift(place);dispIndex++;shaded=dispIndex%2==1?"on":"off";rowElem=document.createElement("tr");tbodyElem.appendChild(rowElem);rowElem.className=highlight;cellElem=document.createElement("td");rowElem.appendChild(cellElem);cellElem.className="place "+shaded;if(shaded=="on")cellElem.style.backgroundColor="#FFFFEE";this.addPlaceLink(place,cellElem);cellElem=document.createElement("td");if(isNum)cellElem.style.whiteSpace="nowrap";rowElem.appendChild(cellElem);cellElem.className="obs "+shaded;if(shaded=="on")cellElem.style.backgroundColor="#FFFFEE";cellElem.innerHTML=obs;if(!isMobile()&&isSubscriber()&&place.gsussdid&&indicator.containsSource("GreatSchools")){rowElem=document.createElement("tr");tbodyElem.appendChild(rowElem);cellElem=document.createElement("td");cellElem.colSpan=2;rowElem.appendChild(cellElem);cellElem.innerHTML="<br /><a target='_blank' href='http://www.greatschools.net/cgi-bin/"+place.state.toLowerCase()+"/district_profile/"+place.gsussdid+"'>http://www.greatschools.net/cgi-bin/"+place.state.toLowerCase()+"/district_profile/"+place.gsussdid+"</a><br />&nbsp;"}}}if(!isMobile()){if(indicator.id==9627155||indicator.id==9627151||indicator.id==9627201||indicator.id==9627156){rowElem=document.createElement("tr");tbodyElem.appendChild(rowElem);cellElem=document.createElement("td");cellElem.colSpan=2;rowElem.appendChild(cellElem);var linkDiv=document.createElement("div");linkDiv.className="link-container";cellElem.appendChild(linkDiv);linkDiv.innerHTML="<a style='word-wrap:break-word;' target='_blank' href='http://www.huduser.org/publications/commdevl/nsp_target.html'>http://www.huduser.org/publications/commdevl/nsp_target.html</a>"}else if(isCBClone()&&indicator.id==9899703){rowElem=document.createElement("tr");tbodyElem.appendChild(rowElem);cellElem=document.createElement("td");cellElem.colSpan=2;rowElem.appendChild(cellElem);var linkDiv=document.createElement("div");linkDiv.className="link-container";cellElem.appendChild(linkDiv);linkDiv.innerHTML="<a style='word-wrap:break-word;' target='_blank'href='http://philadelphiaplaneto.com/wp-content/uploads/2012/09/Quick-Reference-Guide_reduced.pdf'>http://philadelphiaplaneto.com/wp-content/uploads/2012/09/Quick-Reference-Guide_reduced.pdf</a>"}if(indicator.containsSource("IRS & The Brookings Institution")){rowElem=document.createElement("tr");tbodyElem.appendChild(rowElem);cellElem=document.createElement("td");cellElem.colSpan=2;rowElem.appendChild(cellElem);var linkDiv=document.createElement("div");linkDiv.className="link-container";cellElem.appendChild(linkDiv);linkDiv.innerHTML="<a target='_blank' href='http://www.brookings.edu/metro/EITC/EITC-Homepage.aspx'>http://www.brookings.edu/metro/EITC/EITC-Homepage.aspx</a>"}if(indicator.id==9639604){rowElem=document.createElement("tr");tbodyElem.appendChild(rowElem);cellElem=document.createElement("td");cellElem.colSpan=2;rowElem.appendChild(cellElem);var linkDiv=document.createElement("div");linkDiv.className="link-container";cellElem.appendChild(linkDiv);linkDiv.innerHTML="<a target='_blank' href='/our-data-directory.html#trf_NIDAdescriptionmatrix'>Methodology</a>"}}container.appendChild(document.createElement("br"))}refreshWidgetCharts()};PMIdentificationPrinter.printCubeIndicators=function(cube,legend,container,isPublicUser,inds,places,tabNames){var values=cube.values;var tabs=[];if(cube.periods.length>0&&cube.places.length>0){var urlParams=getUrlParams();var place=cube.getPlaces()[0];mapstates.currentplace=place;typePlace=place.getType();typeInd=legend.getBoundaryType();var l=inds.length;var period;var count=0;var myi=0;var newplaces=[];for(var i=places.length-1;i>=0;i--){var p=places[i];var type=p.getType();if(type!=PPlaceType.STATE&&type!=PPlaceType.CBSA)continue;newplaces.push(p)}var addedMapInd=false;for(var t=0;t<tabNames.length;t++){var container=document.createElement("div");container.id="identifyContainer";container.style.width="240px";container.className="identify";container.className+=" multiIndicators";container.showsCube=true;var titleElem=document.createElement("div");if(isIffCustomFilterWidget()){var typename=""}else{var typename=" ("+typePlace.getName()+")"}titleElem.innerHTML=place.getLabel()+typename;titleElem.className="title";titleElem.style.color="#000000";titleElem.style.fontSize="14px";titleElem.style.fontWeight="bold";titleElem.style.paddingBottom="5px";titleElem.style.fontFamily="font-family:Arial,Helvetica,sans-serif";container.appendChild(titleElem);var tableElem=document.createElement("table");tableElem.style.fontFamily="font-family:Arial,Helvetica,sans-serif";container.appendChild(tableElem);tableElem.id="identify";tableElem.className="cube";tableElem.style.fontSize="90%";var theadElem=document.createElement("thead");tableElem.appendChild(theadElem);var tbodyElem=document.createElement("tbody");tableElem.appendChild(tbodyElem);var shaded="on";mapIndAddedToTab=false;var addedFirstInd=false;if(t==0&&inds[0]==legend.getIndicator()){var rowElem=document.createElement("tr");rowElem.shaded=shaded;row=this.getIndicatorColumns(inds[0],cube,legend,rowElem,isPublicUser,null);tbodyElem.appendChild(row);mapIndAddedToTab=true;addedFirstInd=true}for(var name in tabNames[t]){var cnt=0;if(mapIndAddedToTab)cnt++;mapIndAddedToTab=false;var indidArray=tabNames[t][name];for(var y=0;y<indidArray.length;y++){for(var myi=0;myi<inds.length;myi++){shaded=cnt%2==0?"on":"off";var rowElem=document.createElement("tr");rowElem.shaded=shaded;var row=null;if(indidArray[y]==inds[myi].id){var isFirstInd=false;var useLegendPeriod=false;if(isIffCustomFilterWidget()){useLegendPeriod=true;if(myi==0&&!addedFirstInd){isFirstInd=true}}row=this.getIndicatorColumns(inds[myi],cube,legend,rowElem,isPublicUser,null,null,isFirstInd,useLegendPeriod);if(row){tbodyElem.appendChild(row);container.tablabel=name;cnt++}break}}}}var rowElem=document.createElement("tr");theadElem.appendChild(rowElem);var cellElem=document.createElement("th");rowElem.appendChild(cellElem);cellElem.innerHTML="Indicator";cellElem=document.createElement("th");cellElem.style.width="125px";rowElem.appendChild(cellElem);cellElem.innerHTML="Value";tableElem.appendChild(theadElem);tableElem.appendChild(tbodyElem);var showPlaces=false;if(showPlaces){var placesDiv=document.createElement("div");placesDiv.className="placesContainer";for(var i=newplaces.length-1;i>=0;i--){var p=newplaces[i];var div=document.createElement("div");this.addPlaceLink(p,div);placesDiv.appendChild(div)}container.appendChild(placesDiv);container.appendChild(document.createElement("br"))}if(!isWidgetOrEmbedMap()){$(container).append("<br />");this.setBubbleLinks(cube,place,container)}tabs.push(new PInfoWindowTab(container.tablabel,container))}if(PEnvironment.pageName=="widget"&&urlParams["sid"]==117){var container=document.createElement("div");container.id="identifyContainer";container.style.width="240px";container.className="identify";container.className+=" multiIndicators";container.showsCube=true;var titleElem=document.createElement("div");titleElem.innerHTML=place.getLabel()+" ("+typePlace.getName()+")";titleElem.className="title";titleElem.style.color="#000000";titleElem.style.fontSize="14px";titleElem.style.fontWeight="bold";titleElem.style.paddingBottom="5px";titleElem.style.fontFamily="font-family:Arial,Helvetica,sans-serif";container.appendChild(titleElem);var div=$("<div />");div.css({color:"#333",padding:"10px 0"});div.html('To see Severely Distressed Secondary Criteria, see individual indicators  in the <b>"NMTC Severely Distressed - Secondary Criteria"</b> menu to the left.');$(container).append(div);var placesDiv=document.createElement("div");placesDiv.className="placesContainer";for(var i=newplaces.length-1;i>=0;i--){var p=newplaces[i];var div=document.createElement("div");this.addPlaceLink(p,div);placesDiv.appendChild(div)}container.appendChild(placesDiv);tabs.push(new PInfoWindowTab("Secondary Criteria",container))}}if(!isEmbedPage()){PMIdentificationPrinter.printSeeSites(container,place);PMIdentificationPrinter.printSeePolygons(container,place)}return tabs};PMIdentificationPrinter.getIndicatorColumns=function(indicator,cube,legend,rowElem,isPublicUser,justValue,hideYear,isFirstInd,useLegendPeriod){var values=cube.values;var legperiod=legend.getIndicator().getPeriod();var periodLabel="";var place;var typePlace;var typeInd;var period;var place=cube.getPlaces()[0];mapstates.currentplace=place;var typePlace=place.getType();var typeInd=legend.getBoundaryType();var obs;var shaded;var teaser;var ind;if(useLegendPeriod){period=legperiod}else{period=indicator.getPeriod();if(!allowPeriod(indicator,period)){indicator.curPerIndex=indicator.getPeriods().length-1}period=indicator.getPeriod()}var hideYear=this.checkToIncludeYearInLabel(indicator);if(!hideYear)periodLabel=" ("+period+")";var indlabel=indicator.getLabel()+periodLabel;var highlight="";if(indicator==legend.getIndicator()||isFirstInd){highlight="hl"}rowElem.className=highlight;var isNum=null;obs=values[period][place.id][indicator.id];if(isPublicUser){obs="<b>-</b>"}else if(typeof obs=="string"){obs=obs}else if(indicator.nodata&&indicator.nodata!=""&&obs==indicator.nodata||obs=="-9999"){if(indicator.nodatalabel&&indicator.nodatalabel!=""){obs=indicator.nodatalabel}else{obs="Insufficient Data"}}else if(obs||obs==0){obs=PWebUtil.formatNumber(obs,indicator.unit);isNum=true}else{return null}var shaded=rowElem.shaded;if(!justValue){cellElem=document.createElement("td");rowElem.appendChild(cellElem);cellElem.className="indicators "+shaded;if(shaded=="on")cellElem.style.backgroundColor="#fffbf2";var span=document.createElement("span");span.innerHTML=indlabel;cellElem.appendChild(span)}cellElem=document.createElement("td");if(isNum)cellElem.style.whiteSpace="nowrap";rowElem.appendChild(cellElem);cellElem.className="indicators obs "+shaded;if(shaded=="on")cellElem.style.backgroundColor="#fffbf2";cellElem.innerHTML=obs;return rowElem};PMIdentificationPrinter.printCubeIndicatorsDCEDCustom=function(cube,legend,container,isPublicUser,inds,point){var tabs=[];var places=cube.places;var place;var values=cube.values;for(var i=0;i<places.length;i++){if(places[i].getType()==PPlaceType.COUNTY){place=places[i];break}}var ind=map.getIndicator();var period=ind.getPeriod();place.getPlacesContaining(PPlaceType.STATE,null,null,function(states){var statecube=new PCube(cube.indicators,states,[period]);statecube.loadValues(function(statevalues){this.values=statevalues;$(container).css("width","465px");$(container).addClass("identify identify-dced-widget");var table=$("<table />");var row=$("<tr />");table.append(row);$(container).append(table);var populateBubble=function(vals,place){var column=$("<td />");column.addClass("column");column.attr("valign","top");var section=$("<div />");column.append(section);var title="";if(place.getType()==PPlaceType.STATE){column.addClass("right");column.css({padding:"0 0 0 15px"});title="Statewide"}else{column.addClass("left");column.css({padding:"0 5px 0 0"});title=place.getLabel()+" County"}var header='<div class="header"><div class="title" style="font-weight:bold">'+title+"</div></div>";var dataTable=$("<table />");var tr=$("<tr />");var td=$("<td />");td.html("Number of Projects:");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[0];td.html(obs);tr.append(td);dataTable.append(tr);var tr=$("<tr />");var td=$("<td />");td.html("Jobs Created:");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[1];td.html(obs);tr.append(td);dataTable.append(tr);var tr=$("<tr />");var td=$("<td />");td.html("Amount Invested:");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[2];td.html(obs);tr.append(td);dataTable.append(tr);section.html(header);section.append($("<br />"));section.append(dataTable);section.append($("<br />"));var header='<div class="table-header">Top Projects by Rank of Jobs Created (2000-2012)</div>';var dataTable=$("<table />");var tr=$("<tr />");tr.html("<th>Rank</th><th>Jobs</th><th>Project</th>");dataTable.append(tr);var tr=$("<tr />");var td=$("<td />");td.html("1");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[3];td.html(obs);tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[4];td.html(obs);tr.append(td);dataTable.append(tr);var tr=$("<tr />");var td=$("<td />");td.html("2");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[5];td.html(obs);tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[6];td.html(obs);tr.append(td);dataTable.append(tr);var tr=$("<tr />");var td=$("<td />");td.html("3");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[7];td.html(obs);tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[8];td.html(obs);tr.append(td);dataTable.append(tr);section.append(header);section.append(dataTable);return column};var place=cube.places[0];var vals=[];vals.push(PWebUtil.formatNumber(values[period][place.id][inds[1].id]));vals.push(PWebUtil.formatNumber(values[period][place.id][inds[2].id]));vals.push(PWebUtil.formatNumber(values[period][place.id][inds[3].id],"$_"));vals.push(PWebUtil.formatNumber(values[period][place.id][inds[4].id]));vals.push(values[period][place.id][inds[5].id]);vals.push(PWebUtil.formatNumber(values[period][place.id][inds[6].id]));vals.push(values[period][place.id][inds[7].id]);vals.push(PWebUtil.formatNumber(values[period][place.id][inds[8].id]));vals.push(values[period][place.id][inds[9].id]);$(row).append(populateBubble(vals,place));var place=states[0];var vals=[];vals.push(PWebUtil.formatNumber(statevalues[period][place.id][inds[1].id]));vals.push(PWebUtil.formatNumber(statevalues[period][place.id][inds[2].id]));vals.push(PWebUtil.formatNumber(statevalues[period][place.id][inds[3].id],"$_"));vals.push(PWebUtil.formatNumber(statevalues[period][place.id][inds[4].id]));vals.push(statevalues[period][place.id][inds[5].id]);vals.push(PWebUtil.formatNumber(statevalues[period][place.id][inds[6].id]));vals.push(statevalues[period][place.id][inds[7].id]);vals.push(PWebUtil.formatNumber(statevalues[period][place.id][inds[8].id]));vals.push(statevalues[period][place.id][inds[9].id]);$(row).append(populateBubble(vals,place));var endnote='<br class="clear" /><div class="endnote">';endnote+="Cases of double counting within the data occur.";if(!isMobile()){endnote+='<br /><a href="/our-data-directory.html#PA Department of Community & Economic Development (DCED)" target="_blank">Please see the Data Directory for details.</a>'}endnote+="</div>";$(container).append(endnote);tabs.push(new PInfoWindowTab(period,container,null,true));map.openInfoWindowTabs(point,tabs)})})};PMIdentificationPrinter.printCubeIndicatorsMoodyCustom=function(cube,legend,container,isPublicUser,inds,point){var tabs=[];var places=cube.places;var place;var values=cube.values;for(var i=0;i<places.length;i++){if(places[i].getType()==PPlaceType.COUNTY){place=places[i];break}}var ind=map.getIndicator();var period=ind.getPeriod();var periods=[period];periodsObj={};for(var i=0;i<inds.length;i++){periodsObj[inds[i].getPeriod()]=1}for(var i in periodsObj){periods.push(i)}place.getPlacesContaining(PPlaceType.STATE,null,null,function(states){var statecube=new PCube(cube.indicators,states,periods);statecube.loadValues(function(statevalues){this.values=statevalues;states[0].getAggregates(PPlaceType.COUNTY,null,null,function(counties){var mInds=[inds[5]];var countycube=new PCube(mInds,counties,periods);countycube.loadValues(function(countyvalues){this.values=countyvalues;$(container).css("width","375px");$(container).addClass("identify identify-dced-widget");var table=$("<table />");var row=$("<tr />");table.append(row);$(container).append(table);var populateBubble=function(vals,place){var column=$("<td />");column.addClass("column");column.attr("valign","top");var section=$("<div />");column.append(section);var title="";if(place.getType()==PPlaceType.STATE){column.addClass("right");column.css({padding:"0 0 0 15px"});title=place.getLabel()}else{column.addClass("left");column.css({padding:"0 5px 0 0"});title=place.getLabel()+" County"}var header='<div class="header"><div class="title" style="font-weight:bold">'+title+"</div></div>";var dataTable=$("<table />");var tr=$("<tr />");var td=$("<td />");td.html("Unemployment:");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[0];td.html(obs);tr.append(td);dataTable.append(tr);var tr=$("<tr />");var td=$("<td />");td.html("Labor Force:");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[1];td.html(obs);tr.append(td);dataTable.append(tr);var tr=$("<tr />");var td=$("<td />");td.html("Population:");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[2];td.html(obs);tr.append(td);dataTable.append(tr);var tr=$("<tr />");var td=$("<td />");td.html("Working Age:");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[7];td.html(obs);tr.append(td);dataTable.append(tr);var tr=$("<tr />");var td=$("<td />");td.html("Dependency Ratio:");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[8];td.html(obs);tr.append(td);dataTable.append(tr);var tr=$("<tr />");var td=$("<td />");td.html("Immigration:");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[3];td.html(obs);tr.append(td);dataTable.append(tr);var tr=$("<tr />");var td=$("<td />");td.html("Migration:");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[4];td.html(obs);tr.append(td);dataTable.append(tr);var tr=$("<tr />");var td=$("<td />");td.html("Household Income:");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[5];td.html(obs);tr.append(td);dataTable.append(tr);var tr=$("<tr />");var td=$("<td />");td.html("People in Poverty:");tr.append(td);var td=$("<td />");td.addClass("value");var obs=vals[6];td.html(obs);tr.append(td);dataTable.append(tr);section.append(header);section.append(dataTable);return column};var place=cube.places[0];var vals=[];vals.push(PWebUtil.formatNumber(values[inds[1].getPeriod()][place.id][inds[1].id],"_%"));vals.push(PWebUtil.formatNumber(values[inds[2].getPeriod()][place.id][inds[2].id]));vals.push(PWebUtil.formatNumber(values[inds[3].getPeriod()][place.id][inds[3].id]));vals.push(PWebUtil.formatNumber(values[inds[4].getPeriod()][place.id][inds[4].id],"_%"));vals.push(PWebUtil.formatNumber(values[inds[5].getPeriod()][place.id][inds[5].id]));vals.push(PWebUtil.formatNumber(values[inds[6].getPeriod()][place.id][inds[6].id],"$_"));vals.push(PWebUtil.formatNumber(values[inds[7].getPeriod()][place.id][inds[7].id],"_%"));var a=values[inds[8].getPeriod()][place.id][inds[8].id];var b=values[inds[9].getPeriod()][place.id][inds[9].id];var c=values[inds[10].getPeriod()][place.id][inds[10].id];var d=values[inds[11].getPeriod()][place.id][inds[11].id];var e=values[inds[12].getPeriod()][place.id][inds[12].id];var val=PWebUtil.formatNumber(divideCheck(a+b+c+d,e,100),"_%");vals.push(val);var f=values[inds[13].getPeriod()][place.id][inds[13].id];var val=PWebUtil.formatNumber(divideCheck(f,a+b+c+d,100),"_%");vals.push(val);$(row).append(populateBubble(vals,place));var place=states[0];var vals=[];vals.push(PWebUtil.formatNumber(statevalues[inds[1].getPeriod()][place.id][inds[1].id],"_%"));vals.push(PWebUtil.formatNumber(statevalues[inds[2].getPeriod()][place.id][inds[2].id]));vals.push(PWebUtil.formatNumber(statevalues[inds[3].getPeriod()][place.id][inds[3].id]));vals.push(PWebUtil.formatNumber(statevalues[inds[4].getPeriod()][place.id][inds[4].id],"_%"));var val=getSumOfPlaces(countycube,inds[5],inds[5].getPeriod());vals.push(PWebUtil.formatNumber(val));vals.push(PWebUtil.formatNumber(statevalues[inds[6].getPeriod()][place.id][inds[6].id],"$_"));vals.push(PWebUtil.formatNumber(statevalues[inds[7].getPeriod()][place.id][inds[7].id],"_%"));var a=statevalues[inds[8].getPeriod()][place.id][inds[8].id];var b=statevalues[inds[9].getPeriod()][place.id][inds[9].id];var c=statevalues[inds[10].getPeriod()][place.id][inds[10].id];var d=statevalues[inds[11].getPeriod()][place.id][inds[11].id];var e=statevalues[inds[12].getPeriod()][place.id][inds[12].id];var val=PWebUtil.formatNumber(divideCheck(a+b+c+d,e,100),"_%");vals.push(val);var f=statevalues[inds[13].getPeriod()][place.id][inds[13].id];var val=PWebUtil.formatNumber(divideCheck(f,a+b+c+d,100),"_%");vals.push(val);$(row).append(populateBubble(vals,place));var endnote="";$(container).append(endnote);tabs.push(new PInfoWindowTab(period,container));map.openInfoWindowTabs(point,tabs)})})})})};PMIdentificationPrinter.printCubeIndicatorsMNHFACustom=function(cube,legend,container,isPublicUser,inds,places,tabNames){var values=cube.values;var tabs=[];if(cube.periods.length>0){place=cube.getPlaces()[0];mapstates.currentplace=place;typePlace=place.getType();typeInd=legend.getBoundaryType();var l=inds.length;var period;var count=0;var myi=0;var addedMapInd=false;for(var t=0;t<tabNames.length;t++){var container=document.createElement("div");container.id="identifyContainer";container.style.width="410px";container.className="identify";container.className+=" multiIndicators multiIndicatorColumns";container.showsCube=true;var titleElem=document.createElement("div");titleElem.innerHTML=place.getLabel()+" ("+typePlace.getName()+")";titleElem.className="title";titleElem.style.color="#000000";titleElem.style.fontSize="14px";titleElem.style.fontWeight="bold";titleElem.style.paddingBottom="5px";titleElem.style.fontFamily="font-family:Arial,Helvetica,sans-serif";container.appendChild(titleElem);var tableElem=document.createElement("table");tableElem.style.fontFamily="font-family:Arial,Helvetica,sans-serif";container.appendChild(tableElem);tableElem.id="identify";tableElem.className="cube";tableElem.style.fontSize="90%";var theadElem=document.createElement("thead");tableElem.appendChild(theadElem);var tbodyElem=document.createElement("tbody");tableElem.appendChild(tbodyElem);var shaded="on";var rowLength;for(var name in tabNames[t]){var cnt=0;var indidArray=tabNames[t][name];for(var y=0;y<indidArray.length;y++){shaded=cnt%2==0?"on":"off";var rowElem=document.createElement("tr");rowElem.shaded=shaded;var row=null;for(var p=0;p<indidArray[y].length;p++){rowLength=indidArray[y].length;for(var myi=0;myi<inds.length;myi++){if(indidArray[y][p]==inds[myi].id){var justValue=false;if(p>0)justValue=true;row=this.getIndicatorColumns(inds[myi],cube,legend,rowElem,isPublicUser,justValue,true);if(row){tbodyElem.appendChild(row);container.tablabel=name;cnt++}break}}}}}var rowElem=document.createElement("tr");theadElem.appendChild(rowElem);var cellElem=document.createElement("th");rowElem.appendChild(cellElem);cellElem.innerHTML="Indicator";cellElem=document.createElement("th");cellElem.className="value";rowElem.appendChild(cellElem);cellElem.innerHTML="Value";if(rowLength>2){cellElem=document.createElement("th");cellElem.innerHTML="Rank";rowElem.appendChild(cellElem);cellElem=document.createElement("th");cellElem.innerHTML="Notes";rowElem.appendChild(cellElem)}tableElem.appendChild(theadElem);tableElem.appendChild(tbodyElem);var linksContainer=$("<div />");linksContainer.attr("id","infoBubbleLinks");var downloadDiv=document.createElement("div");downloadDiv.className="downloadContainer";var downloadLink=document.createElement("a");downloadLink.href=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cibdl&pl="+place.getID()+"&sid="+getUrlParams()["sid"];downloadLink.innerHTML="Download Data";downloadDiv.appendChild(downloadLink);linksContainer.append(downloadDiv);if(isWidgetPage()){var link=this.getWidgetReportLink(place);if(link)linksContainer.append(link)}$(container).append(linksContainer);tabs.push(new PInfoWindowTab(container.tablabel,container))}}return tabs};PMIdentificationPrinter.printAttributes=function(attributes,num,marker){var tabs=[];var divArr=[];var tabIndex;var tabLength=marker.customTabLength;var strayAttr=[];if(marker.isPoly){var bdid;var polysetid;var pointSets=map.getOverlaySets(false,true);for(var i=0;i<pointSets.length;i++){var pointSet=pointSets[i];if(pointSet.isPoly&&pointSet.id==marker.datasetID){bdid=pointSet.bdid;polysetid=pointSet.id;break}}marker.bdid=bdid;marker.polysetid=polysetid}if(tabLength){for(var t=0;t<tabLength;t++){var div=document.createElement("div");div.id="identifyContainer";div.className="pointAttributes";divArr.push(div)}for(var a=0;a<attributes.length;a++){var tabName=attributes[a].tabName;if(!tabName){strayAttr.push(attributes[a]);continue}tabIndex=attributes[a].tabIndex;this.addAttributeElem(attributes[a],divArr[tabIndex]);divArr[tabIndex].tabName=tabName}for(var t=0;t<tabLength;t++){if(divArr[t].hasChildNodes()){if(!isMobile()){this.addExtraInfoToTab(divArr[t],marker)}this.addPolyReportLinks(divArr[t],marker);var addSingleTabName=false;if(isIffCustomFilterWidget()){addSingleTabName=true}tabs.push(new PInfoWindowTab(divArr[t].tabName,divArr[t],null,addSingleTabName))}}}if(!tabLength||strayAttr.length>0){var i=1;var j=0;var l=attributes.length;if(strayAttr.length>0){var attributes=strayAttr;l=attributes.length}while(j<l){var div=document.createElement("div");div.id="identifyContainer";div.className="pointAttributes";var cnt=0;while(cnt<10){if(j==l)break;var addElem=this.addAttributeElem(attributes[j],div);if(addElem){cnt++}j++}if(num)var index=" - "+num;else var index="";if(div.hasChildNodes()){this.addExtraInfoToTab(div,marker);this.addPolyReportLinks(div,marker);tabs.push(new PInfoWindowTab("Info "+i+index,div))}i++}}return tabs};PMIdentificationPrinter.addAttributeElem=function(attribute,div){if(isIffCustomFilterWidget()){var displayVouchAtts=false;var showAnalysis=true;if(attribute.columnName=="infobub"){this.infobub=attribute.value;return false}if(this.infobub&&this.infobub=="fullpubchar"){attribute.name=attribute.name.replace("Estimated ","")}else if(this.infobub&&this.infobub=="partpubchar"){}else if(this.infobub&&this.infobub=="nonanal"){showAnalysis=false;if(attribute.columnName=="charter_auth"){attribute.name="Authorizer"}}else if(this.infobub&&this.infobub=="partmpcp"){displayVouchAtts=true;if(attribute.columnName=="grades"){attribute.name="Grades (School-wide)"}else if(attribute.columnName=="enroll"){attribute.name="Total School Enrollment"}}if(!showAnalysis){var names=["accountdeterm","elem_account","mid_account","high_account","pct_rdg","pct_math"];for(var i=0;i<names.length;i++){if(attribute.columnName==names[i]){return false}}}if(!displayVouchAtts){var names=["vouchenroll","pctvouch"];for(var i=0;i<names.length;i++){if(attribute.columnName==names[i]){return false}}}}var value;if(attribute.unit)value=PWebUtil.formatNumber(attribute.value,attribute.unit);else value=attribute.value;if(attribute.value!=""&&attribute.value!="null"||attribute.value=="0"){if(typeof value=="string"){if(attribute.type==PAttribute.IMAGE){value="<a onclick=\"imageAlert('"+value+"');\">Click to View</a>"}else if(value.indexOf("</a>")==-1&&(value.indexOf("http://")!=-1||value.indexOf("https://")!=-1)){if(isMobile()){return false}value="<a href='"+value+"' target='new'>"+value+"</a>"}}var b=document.createElement("b");b.innerHTML=attribute.name+": ";var span=document.createElement("span");span.innerHTML=value+"<br />";div.appendChild(b);div.appendChild(span);return true}return false};PMIdentificationPrinter.addPolyReportLinks=function(div,marker){if(isCBClone()){return}var infoBubbleLinks=document.createElement("div");infoBubbleLinks.id="infoBubbleLinks";if(marker.isPoly){var pname=marker.name;var plat=marker.getPoint().lat();var plng=marker.getPoint().lng();var pid=marker.pid;var bdid=marker.bdid;var polysetid=marker.polysetid;if(marker.polyType=="polygon"&&bdid!=null){var showlink=true;var arr=[114550,114050,141e3];for(var j=0;j<arr.length;j++){if(polysetid==arr[j]){showlink=false;break}}if(showlink)infoBubbleLinks.appendChild(generatePolygonTableLink(bdid,pname,plat,plng));
if(isSubscriber()){infoBubbleLinks.appendChild(generatePolygonReportLink(bdid,polysetid,pname,plat,plng,pid,"polygon",true));if(showlink)infoBubbleLinks.appendChild(generatePolygonReportLink(bdid,polysetid,pname,plat,plng,pid,"pradius",false))}if(showlink){PMIdentificationPrinter.printSeeValues(infoBubbleLinks,null,marker);infoBubbleLinks.appendChild(generatePolygonPointlistLinks(bdid,pname,plat,plng));infoBubbleLinks.appendChild(generatePolygonPolylistLinks(bdid,pname,plat,plng,marker))}}else if(marker.polyType=="line"){}else if(marker.polyType=="specialized"){}}else{infoBubbleLinks.appendChild(generatePointReportLink(marker.getPoint().lat(),marker.getPoint().lng()))}$(div).append(infoBubbleLinks)};PMIdentificationPrinter.addExtraInfoToTab=function(div,marker){div.appendChild(document.createElement("br"));var datadir=document.createElement("a");datadir.className="details";datadir.target="_blank";if(marker.datasetID==98500||marker.datasetID==98900){datadir.innerHTML="Details and Methodology";datadir.href="our-data-directory.html#TRF Supermarket Study of Low Access Areas"}if(marker.datasetID==111150||marker.datasetID==111200){datadir.innerHTML="Details and Methodology";datadir.href="our-data-directory.html#TRF Study of Limited Supermarket Access Areas"}if(marker.datasetID==147500||marker.datasetID==148500||marker.datasetID==148550||marker.datasetID==148650||marker.datasetID==148600||marker.datasetID==149150){datadir.innerHTML="Details and Methodology";datadir.href="our-data-directory.html#TRF 2014 Study of Limited Supermarket Access Areas"}if(marker.datasetID==114250||marker.datasetID==118150){datadir.innerHTML="Details";datadir.href="our-data-directory.html#M&T Bank"}if(marker.datasetID==133150){var note=document.createElement("div");note.innerHTML="Note: Patient and quality of care data do not apply strictly to individual health center sites; figures include aggregate data for all sites managed by each grantee.";div.appendChild(note);return div}div.appendChild(datadir);return div};PMIdentificationPrinter.printSameAddresses=function(point,markers){var pmid=this;var urlParams=getUrlParams();var tabs=[];var i=1;var j=0;if(markers.length>1){while(j<markers.length){var marker=markers[j];var attributes=markers[j].attributes;var cnt=0;var div=document.createElement("div");div.id="identifyContainer";div.className="pointAttributes";var h4=document.createElement("h4");h4.innerHTML=markers[j].attributes[0].name;div.appendChild(h4);while(cnt<10){if(j==markers.length)break;var value;if(attributes[0].unit)value=PWebUtil.formatNumber(markers[j].attributes[0].value,markers[j].attributes[0].unit);else value=markers[j].attributes[0].value;if(value=="null")value="";var link=document.createElement("a");link.innerHTML=j+1+") "+value+"<br />";link.attr=markers[j].attributes;link.num=j;link.marker=markers[j];PEvent.addListener(link,"mouseup",function(){pmid.addAttributeTabs(this.attr,tabs,point,this.num+1,this.marker);pmid.selectedLink=this.num},"mousedown");if(urlParams["iwlink"]&&urlParams["iwlink"]==j)pmid.savedMarkerAttr=markers[j].attributes;div.appendChild(link);cnt++;j++}if(isCBClone()){div.appendChild(document.createElement("br"));var note=$("<div />");var ids=[127e3,124300,124350];var text="";for(var i=0;i<ids.length;i++){if(marker.datasetID==ids[i]){var text="Note: Multiple entries for the same organization suggest multiple grants awarded in different years."}}if(text.length>0){note.html(text);$(div).append(note)}}tabs.push(new PInfoWindowTab("Sites",div))}return tabs}};PMIdentificationPrinter.addAttributeTabs=function(attributes,tabs,point,num,marker){var attributeTabs=PMIdentificationPrinter.printAttributes(attributes,num,marker);var newtabs=[];for(var i=0;i<tabs.length;i++)newtabs.push(tabs[i]);for(var i=0;i<attributeTabs.length;i++)newtabs.push(attributeTabs[i]);var t=tabs.length;map.openInfoWindowTabs(point,newtabs);map.getInfoWindow().selectTab(t)};PMIdentificationPrinter.addFakes=function(places,cube){var fake=new PPlace;fake.label="Coming Soon";fake.typeid=PPlaceType.BLOCKGROUP.id;fake.id=0;places.push(fake);if(cube){var period=cube.getPeriods()[0];var indicator=cube.getIndicators()[0];if(cube.getPlaces()!=places)cube.addPlace(fake);cube.values[period][fake.id]=[];cube.values[period][fake.id][indicator.id]=""}};PMIdentificationPrinter.printComingSoon=function(blurb,container){container.style.textAlign="center";container.style.width="200px";container.id="identifyContainer";container.showsCube=true;var msg='<h2 style="font-style: italic; color: #f00">Coming Soon</h2>';msg+='<p style="text-align: justify">'+blurb+"</p>";container.innerHTML=msg};PMIdentificationPrinter.printHudMVA=function(places,indicator,blurb,container){for(var i=0;i<places.length;i++){if(places[i].getType()==PPlaceType.BLOCKGROUP)var place=places[i]}container.style.width="320px";container.id="identifyContainer";container.style.width="240px";container.className="identify";container.style.fontSize="12px";container.style.color="#333333";container.showsCube=true;var title=document.createElement("div");title.className="title";title.style.color="#000000";title.style.fontSize="19px";title.style.fontWeight="bold";title.style.paddingBottom="13px";title.innerHTML=indicator.getLabel();container.appendChild(title);if(place){var placeDiv=document.createElement("div");this.addPlaceLink(place,placeDiv);container.appendChild(placeDiv);clearPolygons(map);addPolygons(map,place)}var content=document.createElement("div");content.innerHTML='<p style="text-align: justify">'+blurb+"</p>";if(!isMobile()){content.innerHTML+="<br /><a target='_blank' href='http://www.huduser.org/publications/commdevl/nsp_target.html'>http://www.huduser.org/publications/commdevl/nsp_target.html</a>"}container.appendChild(content)};PMIdentificationPrinter.printSeeSites=function(container,selectedPlace){if(isEmbedPage()||isCBClone())return;if(isWidgetPage()){if(!productProperty.getValue("show_see_list_bubble_option")){return}}var overlays=map.getOverlaySets();if(overlays.length==0)return;for(var i=0;i<overlays.length;i++){if(!overlays[i].id||overlays[i].isPoly)continue;var anchor=document.createElement("a");anchor.style.marginRight="5px";anchor.innerHTML="See List of "+overlays[i].getLabel();anchor.setid=overlays[i].id;anchor.settype=overlays[i].type;anchor.place=selectedPlace;anchor.set=overlays[i];PEvent.addListener(anchor,"click",function(){if(isTrial()){subscribeAlert();return}var allowedStatus=isSeeListAllowed(this.place,this.set.id);if(allowedStatus!==true){alerter.popup(allowedStatus,"OK");return}showSiteListPopup(this.set,this.place)},"mousedown");container.appendChild(document.createElement("br"));container.appendChild(anchor);var img=document.createElement("img");img.src=overlays[i].icon.image;container.appendChild(img)}};PMIdentificationPrinter.printSeePolygons=function(container,selectedPlace){if(isEmbedPage()||isCBClone())return;if(isWidgetPage()){if(!productProperty.getValue("show_see_list_bubble_option")){return}}var polygonSets=[];var pointSets=map.getOverlaySets();var ind=map.getIndicator();for(var i=0;i<pointSets.length;i++){if(pointSets[i].id&&pointSets[i].id==99800){if(ind&&isSupermarketIndicator(ind)){continue}}var isCitiExclude=false;var citiIds=[152400,152800,152850,152900];for(var j=0;j<citiIds.length;j++){if(pointSets[i].id&&pointSets[i].id==citiIds[j]){isCitiExclude=true;break}}if(isCitiExclude){continue}if(pointSets[i].isPoly){polygonSets.push(i)}}if(polygonSets.length>0){container.appendChild(document.createElement("br"));for(i=0;i<polygonSets.length;i++){var anchor=document.createElement("a");anchor.style.marginRight="5px";anchor.innerHTML="See List of "+pointSets[polygonSets[i]].getLabel()+" polygons";anchor.set=pointSets[polygonSets[i]];anchor.place=selectedPlace;PEvent.addListener(anchor,"click",function(){if(isTrial()){subscribeAlert();return}var allowedStatus=isSeeListAllowed(this.place,this.set.id);if(allowedStatus!==true){alerter.popup(allowedStatus,"OK");return}showSiteListPopup(this.set,this.place)},"mousedown");container.appendChild(document.createElement("br"));container.appendChild(anchor);var img=document.createElement("img");img.src=pointSets[polygonSets[i]].icon.image;container.appendChild(img)}}};PMIdentificationPrinter.printSeeValues=function(container,selectedPlace,polymarker){if(isEmbedPage()||isCBClone())return;if(!productProperty.getValue("show_see_values_bubble_option")){return}var m=P.instances.map;var ind=m.getIndicator();if(!ind){return}var anchor=document.createElement("a");$(anchor).addClass("values-link");$(anchor).html("See Values... <img src='/images/busy_transparent_purple.gif' style='width:10px' />"),$(container).append(document.createElement("br"));$(container).append(anchor);$(container).append(document.createElement("br"));var f=function(p){anchor.place=p;var leg=m.getLegend();var type=leg.getCurrentPlaceType();p.getPlacesWithin(type,null,null,function(places){var typename=type.getPluralName();if(places.length==1){typename=type.getDisplayName()}anchor.innerHTML="See Values (Contains "+places.length+" "+typename+")";PEvent.addListener(anchor,"click",function(){if(isTrial()){subscribeAlert();return}showValuesListPopup(this.place,ind,type,places)},"mousedown")},50)};if(polymarker){var pname=polymarker.name;var plat=polymarker.getPoint().lat();var plng=polymarker.getPoint().lng();var bdid=polymarker.bdid;polycreator.polyload(bdid,pname,plat,plng,function(places){var polyplace=places[0];f(polyplace)})}else{f(selectedPlace)}};PMIdentificationPrinter.customizeSitesIdentifyForPSPWidget=function(marker){var radius=.5;var c=getCircle(radius,marker.getPoint());var circlepoints=c.circlepoints;var circle=new PPolyline(circlepoints,polycolor,3,.8);var set;for(var i=0;i<map.getOverlaySets().length;i++){if(map.getOverlaySets()[i].id==marker.datasetID)set=map.getOverlaySets()[i]}circle.getMarkersWithin(set,function(newmarkers){var createTabMetadata=function(datasetid,pid,name){var obj=new Object;obj.datasetid=datasetid;obj.pid=pid;obj.name=name;return obj};var sitesAttributes=[];var sitesMetadata=[];var markers=[];sitesAttributes.push(marker.getAttributes());sitesMetadata.push(createTabMetadata(marker.datasetID,marker.pid,marker.name));markers.push(marker);for(var i=0;i<newmarkers.length;i++){if(marker.getPoint().lat()!=newmarkers[i].getPoint().lat()&&marker.getPoint().lng()!=newmarkers[i].getPoint().lng()){sitesAttributes.push(newmarkers[i].getAttributes());markers.push(newmarkers[i]);sitesMetadata.push(createTabMetadata(newmarkers[i].datasetID,newmarkers[i].pid,newmarkers[i].name))}}var tabs=[];for(var i=0;i<sitesAttributes.length;i++){var attributes=sitesAttributes[i];var container=document.createElement("div");container.id="identifyContainer";container.className="PSPcustomPointAttributes pointAttributes";var mAttributes=[];var compProfile="";var schoolName="";var mathvalue;var readvalue;var mathname;var readname;var mathgrades=[];var readgrades=[];for(var a=0;a<attributes.length;a++){var attr=attributes[a];if(attr.columnName=="url")compProfile=attr.value;else if(attr.columnName=="schoolname")schoolName=attr.value;else if(attr.columnName=="mprof10"){mathvalue=parseFloat(attr.value);mathname=attr.name}else if(attr.columnName=="rprof10"){readvalue=parseFloat(attr.value);readname=attr.name}else if(attr.columnName.indexOf("grmprof")!=-1&&attr.columnName!="grmprof"){mathgrades.push(attr)}else if(attr.columnName.indexOf("grrprof")!=-1&&attr.columnName!="grrprof"){readgrades.push(attr)}else mAttributes.push(attr)}var table=$("<table />");$(table).addClass("custom_widget_sites_info");var tr=$("<tr />");var td=$("<td />");$(tr).append(td);$(td).attr({valign:"top"});$(td).addClass("rankTD");var title=$("<div />");$(title).addClass("schooltitle");$(title).html(schoolName);$(td).append(title);var tabName=schoolName;var gradesSection=$("<div />");$(gradesSection).addClass("math");$(td).append(gradesSection);var gradestable=$("<table />");$(gradestable).addClass("grades-table");$(gradesSection).append(gradestable);var gtr=$("<tr />");$(gradestable).append(gtr);var gtd=$("<td />");$(gtd).html("Math");$(gtr).append(gtd);var grades=mathgrades;for(var g=0;g<grades.length;g++){var last="";if(g==grades.length-1)last="last";var gtd=$("<td />");$(gtd).addClass("grade");$(gtd).html('<div class="'+last+'">'+grades[g].value+'</div><div class="year">'+grades[g].name.substring(0,4)+"</div>");$(gtr).append(gtd)}var pc=$("<div />");$(pc).addClass("progressbar_cont");if(mathvalue){var div=$("<div />");$(div).html("2010 proficient or advanced ("+mathvalue+"%)");$(pc).append(div);var div=$("<div />");$(div).attr({id:"mathlevel"});$(div).progressbar({value:mathvalue});$(div).addClass("progressbar");$(pc).append(div)}$(gradesSection).append(pc);var gradesSection=$("<div />");$(gradesSection).addClass("read");$(td).append(gradesSection);var gradestable=$("<table />");$(gradestable).addClass("grades-table");$(gradesSection).append(gradestable);var gtr=$("<tr />");$(gradestable).append(gtr);var gtd=$("<td />");$(gtd).html("Reading");$(gtr).append(gtd);var grades=readgrades;for(var g=0;g<grades.length;g++){var last="";if(g==grades.length-1)last="last";var gtd=$("<td />");$(gtd).addClass("grade");$(gtd).html('<div class="'+last+'">'+grades[g].value+'</div><div class="year">'+grades[g].name.substring(0,4)+"</div>");$(gtr).append(gtd)}var pc=$("<div />");$(pc).addClass("progressbar_cont");if(readvalue){var div=$("<div />");$(div).html("2010 proficient or advanced ("+readvalue+"%)");$(pc).append(div);var div=$("<div />");$(div).attr({id:"readlevel"});$(div).progressbar({value:readvalue});$(div).addClass("progressbar");$(pc).append(div)}$(gradesSection).append(pc);var td=$("<td />");$(td).attr({valign:"top"});var moreinfo=$("<div />");$(moreinfo).addClass("moreinfo");for(var a=0;a<mAttributes.length;a++){var attribute=mAttributes[a];if(attribute.unit)var value=PWebUtil.formatNumber(attribute.value,attribute.unit);else var value=attribute.value;if(value!=""&&value!="null"||value=="0"){var attr=$("<div />");$(attr).html(attribute.name+": "+value);$(moreinfo).append(attr)}}$(td).append(moreinfo);$(tr).append(td);$(table).append(tr);$(container).append(table);if(!isMobile()){var links=$("<div />");$(links).addClass("links");var def=$("<a />");$(def).html("Definition of scoring system");var comp=$("<a />");$(comp).html("Complete school profile");$(comp).attr({href:"/pdf/Sample PSP pdf.pdf",target:"new"});$(links).append(def);$(links).append(comp);$(container).append(links)}var metadata=sitesMetadata[i];var tab=new PInfoWindowTab(tabName,container,metadata);tab.marker=new PMarker(markers[i].getPoint(),PIcon.CIRCLE_HIGHLIGHT);tab.tabclick=function(){if(map.tabmarker)map.removeOverlay(map.tabmarker);map.addOverlay(this.marker);map.tabmarker=this.marker};tabs.push(tab)}map.clearOverlays();var extendTabs=true;map.openInfoWindowTabs(marker.getPoint(),tabs,null,extendTabs);map.tabmarker=new PMarker(marker.getPoint(),PIcon.CIRCLE_HIGHLIGHT);map.addOverlay(map.tabmarker);map.addOverlay(circle);PEvent.addListener(map,"infowindowclose",function(){map.removeOverlay(circle);map.removeOverlay(map.tabmarker)})})};PMIdentificationPrinter.getWidgetReportLink=function(place){if(isMNWidget()){var div=$("<div />");div.addClass("custom-report-link");var br=$("<br />");div.append(br);var a=$("<a />");a.html("See Minnesota Community Report");var params="";if(place.isCustomOrPoly()){params="&area=custom&cpid="+place.id}else{params="&area=predefined&pid="+place.id}var productId=PEnvironment.productId;var reportType="mn1";if(productId==1396){reportType="mn2"}a.attr({href:"/report_widget?type="+reportType+params+"&sid="+productId,target:"new"});div.append(a);return div}else{return null}};PMIdentificationPrinter.checkToIncludeYearInLabel=function(ind){var hide=false;if(ind.hidePeriod){hide=true}if(PEnvironment.pageName=="widget"){if(isIffCustomFilterWidget()||isMilwaukeeMVAWidget()||PEnvironment.widgetParams.sid==1409){hide=true}if(PEnvironment.widgetParams.sid==61||PEnvironment.widgetParams.sid==117){var hideyearids=[9871750,9858712,9858700];for(var b=0;b<hideyearids.length;b++){if(ind.id==hideyearids[b]){hide=true}}}}return hide};PMIdentificationPrinter.getReportLink=function(place){var $a=$("<a />");$a.html("Get Report");$a.css("margin-right","15px");$a.data("placeid",place.id);$a.click(function(){session.put("p",place.id);var ind=map.getIndicator();var report="";if(ind&&isSupermarketIndicator(ind)){report="&type=brookingslaa"}setWindowLocation("reports?pid="+$(this).data("placeid")+report)});return $a};PMIdentificationPrinter.setBubbleLinks=function(cube,currentPlace,container){var $links=$("<div />",{id:"infoBubbleLinks"});$(container).append($links);var l=PMIdentificationPrinter.getTableLink(cube,currentPlace);$links.append(l);var showLink=true;var arr=[130900,129400];var indicator=map.getIndicator();var dids=indicator.getDatasetIds();for(var i=0;i<arr.length;i++){for(var d=0;d<dids.length;d++){if(arr[i]==dids[d]){showLink=false}}}if(indicator.isCategorical()){showLink=false}if(currentPlace&&showLink){var l=PMIdentificationPrinter.getReportLink(currentPlace);$links.append(l);$links.append("<br />");PMIdentificationPrinter.printSeeSites($links[0],currentPlace);PMIdentificationPrinter.printSeePolygons($links[0],currentPlace)}};PMIdentificationPrinter.getTableLink=function(cube,currentPlace){var $a=null;var hasData=false;var period=cube.getPeriods()[0];var indicator=cube.getIndicators()[0];var places=cube.getPlaces();if(indicator.hasBubbleIndicators(true)){places=[currentPlace]}for(var i=0;i<places.length;++i){var place=places[i];if(cube.values[period][place.id][indicator.id]!==null&&!isNaN(cube.values[period][place.id][indicator.id])){hasData=true;break}}if(hasData||indicator.isCategorical()){var $a=$("<a />");$a.html("See Table");$a.css("margin-right","15px");$a.click(function(){var placeIds=[];var l=places.length;var place;var shouldInclude=false;var hasData=false;var period=cube.getPeriods()[0];var indicator=cube.getIndicators()[0];for(var i=0;i<l;i++){place=places[i];hasData=cube.values[period][place.id][indicator.id]!=null;shouldInclude=indicator.getMeasurement()!="count"||place.getType()!=PPlaceType.STATE||map.getLegend().getBoundaryType().id==PPlaceType.STATE.id;if(shouldInclude&&hasData){placeIds.push(place.id)}}session.put("p",placeIds.join(","));session.put("i",cube.getIndicators()[0].id);session.put("period",cube.getPeriods()[0]);setWindowLocation("tables")})}return $a};PMultiDefinitionBoundary=function(data){this.name=data.name;this.typeId=data.typeId;this.bounds=data.bounds;this.type=getPlaceTypeById(this.typeId);this.value=data.value?data.value:null;this.state=data.state?data.state:null};PMultiDefinitionBoundary.prototype.getType=function(){return this.type};PMultiDefinitionBoundary.prototype.getBoundaryIdForCurrentMatrix=function(){var overrideDefaultMatrixId=null;if(this.typeId==P_PLACETYPE_CBSA_ID||this.typeId==P_PLACETYPE_MD_ID){overrideDefaultMatrixId=4}var matrixOrder=boundaryMatrix.getMatrixOrder(true,overrideDefaultMatrixId);var defs=[];for(var i=0;i<matrixOrder.length;i++){var curMatrixId=matrixOrder[i];if(boundaryMatrix.isTypeIdInMatrix(this.typeId,curMatrixId)){defs.push(boundaryMatrix.getDefinitionIdForTypeId(this.typeId,curMatrixId))}}for(var i=0;i<defs.length;i++){var matchDef=defs[i];for(var j=0;j<this.bounds.length;j++){if(matchDef==this.bounds[j].defId){return this.bounds[j].bid}}}return null};PMultiDefinitionBoundary.prototype.getYearsAsString=function(){var years=$.map(this.bounds,function(bound){return bound.year});years.sort();var yearString="";var numYears=years.length;if(numYears==1){yearString=years[0]}else if(numYears==2){yearString=years.join(" and ")}else if(numYears>2){yearString=years.join(", ").replace(/,([^,]*)$/,", and"+"$1")}return yearString};function saveEffect(){jQuery("#mypolicymap").fadeTo(2e3,.2,function(){jQuery("#mypolicymap").fadeTo(2e3,1)})}function teaseIndicators(extra){var link=getContextPath()+(isPublicUser()?"/register?reg_type=sub":"/servlets/upgrade?reg_type=sub");var text="Available to subscribers only.  If you're a subscriber, <a onclick='loginAlert(this)' class='pagelinks'>login</a> to access, or become a <a href='"+link+"' class='pagelinks'>subscriber</a>.";if(extra){text+="<br><br>"+extra}alerter.popup(text,"OK")}function comingIndicators(){var text="Not yet available to PolicyMap users. Stay tuned to our PolicyMap email updates and blog for a release announcement about these data.";alerter.popup(text,"OK")}function superMarketLIIFTeaseAlert(){var text="Available to select subscribers only. For information about obtaining a Supermarket Study of Low Access Areas, please <a href='/contact.html'>contact us</a>.";alerter.popup(text,"OK")}function trfSuperMarketTeaseAlert(){var text="Only available to subscribers. For more information about accessing this data, please <a href='/contact.html' class='pagelinks'>contact us</a>";alerter.popup(text,"OK")}function naIndicators(){var text="This data is not available.";alerter.popup(text,"OK")}function sendMail(domain,account,subject){var a="mailto:"+account+domain+"?"+"subject="+subject;location.href=a}function showExpiryAlertFunction(){if(isExpiredSubscription()&&showExpNoteCount()){var content="Your PolicyMap subscription has expired; however, you may continue to use your account to access the site as a registered user.";alerter.popup(content,"OK")}}function loginAlert(elem){showLoginPopup()}function loginAlertCancel(elem){jQuery("#login").appendTo("#loginFormContainer")}function clientStoriesToggle(elem){if($(elem).hasClass("readmore")){$(elem).parent(".links").prev(".desc").children(".long-version").show();$(elem).children(".text").html("Collapse");$(elem).removeClass("readmore");$(elem).addClass("collapse")}else{$(elem).parent(".links").prev(".desc").children(".long-version").hide();$(elem).children(".text").html("Read More");$(elem).addClass("readmore");$(elem).removeClass("collapse")}}function popupYouTube(videoId,width,height){width=width||560;height=height||420;var html='<iframe width="'+width+'" height="'+height+'" src="//www.youtube.com/embed/'+videoId+'?rel=0" frameborder="0" allowfullscreen></iframe>';var content={content:html,width:width+70};alerter.popup(content)}PolyCreatorDropDownList=function(node,polycreator,map){this.map=map;this.polycreator=polycreator;this.dropdown=node;this.container=node.parentNode.parentNode.parentNode;this.eventManager=new PEventManager;this.listeners=[]};PolyCreatorDropDownList.prototype={refresh:function(places){var l=this.listeners.length;for(var i=0;i<l;i++)PEvent.removeListener(this.listeners[i]);this.listeners=[];while(this.dropdown.hasChildNodes())this.dropdown.removeChild(this.dropdown.firstChild);if(places.length==0){var div=$("<div/>");$(div).css({padding:"10px",color:"#999"});div.html("You have no saved custom regions.");$(this.dropdown).append(div);return}for(var i=places.length-1;i>=0;i--){var place=places[i];var li=document.createElement("li");var div=document.createElement("div");div.className="name";li.appendChild(div);li.index=i;li.dropdown=this;li.place=place;li.on=false;div.innerHTML=place.getLabel();var br=document.createElement("br");br.className="clear";li.appendChild(br);if(polycreator.customPlaces[place.id]){li.on=true;li.className="active";polycreator.customPlaces[place.id].dropdownEl=li}this.listeners.push(PEvent.addListener(li,"mousedown",function(){var place=this.place;this.dropdown.dropdown.style.display="none";if(this.on==true){if(PEnvironment.pageName=="tables"){cube.remove(place)}else{polycreator.removeCustomRegionFromMap(place)}}else{if(PEnvironment.pageName=="report_area"){var customplaces=polycreator.customPlaces;for(var i in customplaces){polycreator.removeCustomRegionFromMap(customplaces[i].place)}}else if(PEnvironment.pageName=="tables"){this.className="active";this.on=true;polycreator.addCustomRegionForTable(place);polycreator.customPlaces[place.id].dropdownEl=this}else{this.className="active";this.on=true;polycreator.setUpPlaceAndPolylines(place,map);polycreator.customPlaces[place.id].dropdownEl=this;map.setCenterBounds(place.getBounds())}this.dropdown.toggle()}}));this.dropdown.appendChild(li)}},toggle:function(){if(!isSubscriber()){subscribeAlert();return}if(this.dropdown.style.display=="none")this.dropdown.style.display="block";else this.dropdown.style.display="none"},show:function(){this.container.style.display="block"},hide:function(){this.container.style.display="none"},setUsersPlaces:function(){var that=this;var loading=document.createElement("li");loading.style.margin="10px";loading.innerHTML="Loading...";this.dropdown.appendChild(loading);if(session.get("_userid")!=null){polycreator.loadByUser(function(places){that.refresh(places)})}else{that.refresh([])}this.show()},reset:function(){this.dropdown.style.display="none";this.setUsersPlaces()}};PopUp=function(options){if(options&&options.elm){this.elm=options.elm}else{this.elm=$("#popup")}if(options&&options.style){this.elm.addClass("popOpt"+options.style)}var content=$("<div />");content.addClass("content");this.elm.append(content);this.popup_content=content;this.showClose=!(options&&options.noClose);this.buttons=$("<div />");this.buttons.attr("id","popupButtons");this.buttons.addClass("buttons");this.elm.append(this.buttons);this.loader=$("<img />").attr("src","/images/busy_invert.gif");this.loader.attr("id","popupBusy");this.loader.css({position:"absolute",display:"none"});this.elm.append(this.loader);this.content=null;this.inMotion=false;if(options&&options.chartContainer){this.chartContainer=options.chartContainer}else{this.chartContainer=$(".chartContainer")}};PopUp.prototype={show:function(callback,context){this.buttons.empty();if(this.showClose){var self=this;var close=$("<div />");close.addClass("button close");close.click(function(){self.hide()});var br=$("<br />");br.attr("clear","both");this.buttons.append(close,br)}this.chartContainer.show();this.refreshSize();this.popup_content.children().hide();this.loader.show();if(!this.elm.is(":visible")){this.inMotion=true;this.elm.width(0).height(0).css({left:this.left+this.width/2+"px",top:this.top+this.height/2+"px"});var op=.92;if(PEnvironment.pageName=="tables"){op=1}var self=this;this.elm.show();this.elm.animate({left:this.left+"px",top:this.top+"px",width:this.width+"px",height:this.height+"px",opacity:op},700,"swing",function(){self.inMotion=false;self.changeContent(null,callback,context)})}},hide:function(){if(this.elm.is(":visible")){unselectColumn();var self=this;this.popup_content.children().hide();this.elm.animate({left:this.left+this.elm.width()/2+"px",top:this.top+this.elm.height()/2+"px",width:"0px",height:"0px",opacity:0},700,"swing",function(){self.elm.hide();$("#save").fadeIn();if(PEnvironment.pageName!="tables"){self.chartContainer.hide()}})}},refreshSize:function(){if(this.chartContainer.css("position")=="absolute"||this.elm.css("position")!="absolute"){this.left=0;this.top=0}else{var chartContainerPos=this.chartContainer.position();this.left=chartContainerPos.left;this.top=chartContainerPos.top}this.height=this.chartContainer.height();this.width=this.chartContainer.width();this.loader.css({left:this.width/2+"px",top:this.height/2+"px"})},refreshScrollContainerSize:function(){var scrollTableContainer=this.elm.find(".scrollTableContainer");var height=this.chartContainer.height()-140+"px";if(isCitiReports()){height="265px"}scrollTableContainer.css("height",height)},emptyScrollContainer:function(callback){var scrollTableContainer=this.elm.find(".scrollTableContainer");scrollTableContainer.fadeOut(200,function(){scrollTableContainer.html("");scrollTableContainer.show();callback()})},changeContent:function(elm,callback,context){if(elm){this.content=elm}if(callback&&context){this.callback=callback;this.context=context}if(this.inMotion==false&&this.content&&this.elm.is(":visible")){this.popup_content.children().hide();this.popup_content.empty();this.popup_content.append(this.content);this.content.show();this.content=null;this.loader.hide();this.refreshScrollContainerSize();if(this.callback&&this.context){this.callback.call(this.context);this.callback=null;this.context=null}}}};POverlaySet=function(markers,mgr,zoom){this.name="Overlay Set";if(markers instanceof Array){this.markers=markers;if(mgr)this.markermgr=mgr}else{this.markers=[];this.id=markers;this.serverOn=false;this.serverPinCount=0;if(zoom||zoom==0)this.zoom=zoom;else this.zoom=12;if(mgr)this.icon=mgr;else this.icon=PIcon.POINT}this.filtered=this.markers.slice();this.refreshed=[];this.filtergroups=new Object;this.display=true;this.oldQuery="";this.sources=[];this.children=[];this.filtersbyicons=[];this.filtericons=[];this.reloadfiltericons=true;this.isPoly=false;this.bdid=null;this.polycolor=null;this.polystyle=null;this.boundingBox=null;this.owner=false;this.ownerfirst="";this.ownerlast="";this.created="";this.perm=null;this.allowFiltersWithColorCode=false};POverlaySet.prototype.setLabel=function(label){this.name=label;if(this.map)this.map.refreshWidget(this.map.widgetOverlay)};POverlaySet.prototype.getLabel=function(){return this.name};POverlaySet.prototype.addOverlay=function(marker){this.markers.push(marker);if(this.overlayInFilters(marker)){this.filtered.push(marker);if(this.map&&this.isOn())this.addMarker(marker);if(this.map)this.map.refreshWidget(this.map.widgetOverlay)}};POverlaySet.prototype.removeOverlay=function(marker){for(var i=0;i<this.markers.length;i++){if(this.markers[i]==marker){this.markers.splice(i,1);break}}if(this.overlayInFilters(marker)){if(this.filtered!=this.markers){for(var i=0;i<this.filtered.length;i++){if(this.filtered[i]==marker){this.filtered.splice(i,1);break}}}if(this.map&&this.isOn())this.removeMarker(marker);if(this.map)this.map.refreshWidget(this.map.widgetOverlay)}};POverlaySet.prototype.getOverlays=function(){return this.filtered};POverlaySet.prototype.getOverlayCount=function(){if(this.serverOn)return this.serverPinCount;else return this.filtered.length};POverlaySet.prototype.on=function(){if(!this.display){this.display=true;if(this.map){for(var i=0;i<this.filtered.length;i++)this.addMarker(this.filtered[i]);this.refreshed=this.filtered;this.map.refreshWidget(this.map.widgetOverlay)}if(this.id)this.renderClient()}};POverlaySet.prototype.off=function(){if(this.display){this.display=false;if(this.map){this.clearMarkers();this.map.refreshWidget(this.map.widgetOverlay)}if(this.map&&this.serverOn)this.removeServer()}};POverlaySet.prototype.isOn=function(){return this.display};POverlaySet.prototype.addFilter=function(filter){this.addFilterToGroup(filter);this.executeFilters();this.refresh()};POverlaySet.prototype.removeFilter=function(filter){this.removeFilterFromGroup(filter);this.executeFilters();this.refresh()};POverlaySet.prototype.clearFilters=function(){this.filtergroups=new Object;this.filtered=this.markers.slice();this.executeFilters();this.refresh()};POverlaySet.prototype.setFilters=function(filters){this.filtergroups=new Object;for(var i=0;i<filters.length;i++)this.addFilterToGroup(filters[i]);this.executeFilters();this.refresh()};POverlaySet.prototype.getFilters=function(){var retFilters=[];for(var i in this.filtergroups){var filters=this.filtergroups[i];for(var j=0;j<filters.length;j++){if(!filters[j].name.match("_HIDE"))retFilters.push(filters[j])}}return retFilters};POverlaySet.prototype.setDisplayFilters=function(filters){this.displayfiltergroups=new Object;for(var i=0;i<filters.length;i++){var filter=filters[i];if(!this.displayfiltergroups[filter.name])this.displayfiltergroups[filter.name]=[];this.displayfiltergroups[filter.name].push(filter)}};POverlaySet.prototype.getDisplayFilters=function(){return this.displayfiltergroups};POverlaySet.prototype.setFiltersByIcons=function(filters,icons){this.filtersbyicons=filters.slice();this.filtericons=icons.slice();if(this.allowFiltersWithColorCode){this.executeFilters();this.refresh()}else{this.clearFilters()}};POverlaySet.prototype.clearFiltersByIcons=function(){if(this.filtersbyicons.length>0){this.filtersbyicons=[];this.filtericons=[];
this.reloadfiltericons=true;this.oldQuery=null;if(!this.allowFiltersWithColorCode){this.clearFilters()}}};POverlaySet.prototype.addFilterToGroup=function(filter){if(!this.allowFiltersWithColorCode){this.clearFiltersByIcons()}if(!this.filtergroups[filter.name])this.filtergroups[filter.name]=[];this.filtergroups[filter.name].push(filter)};POverlaySet.prototype.removeFilterFromGroup=function(filter){if(this.filtergroups[filter.name]){var filters=this.filtergroups[filter.name];if(this.isIFFDataset()&&filters[0].values[0]=="COLORCODE"&&isIFFAccountabilityColumn(this.id,filters[0].columnName)){this.clearFiltersByIcons();this.setFiltersByIcons(this.iffschoolfiltersbyicons,this.colorcodes)}var jsonFilter=JSON.stringify(filter);for(var i=0;i<filters.length;i++){if(filter==filters[i]||jsonFilter==JSON.stringify(filters[i])){this.filtergroups[filter.name].splice(i,1);if(this.filtergroups[filter.name].length==0){delete this.filtergroups[filter.name]}break}}}};POverlaySet.prototype.executeFilters=function(){if(this.id){this.setMarkersById()}else{this.filtered=[];for(var i=0;i<this.markers.length;i++){if(this.overlayInFilters(this.markers[i]))this.filtered.push(this.markers[i])}}$(window).trigger(P.events.OVERLAYSET_FILTER_CHANGED)};POverlaySet.prototype.overlayInFilters=function(overlay){var andCheck=true;for(var i in this.filtergroups){var filters=this.filtergroups[i];var orCheck=true;for(var j=0;j<filters.length;j++){var attrib=overlay.getAttribute(filters[j].name);if(attrib){if(this.attributeInFilter(attrib,filters[j])){orCheck=true;break}else orCheck=false}}if(orCheck)andCheck=true;else{andCheck=false;break}}return andCheck};POverlaySet.prototype.attributeInFilter=function(attrib,filter){var values=filter.values;if(filter.type==PAttributeFilter.EQUAL){for(var k=0;k<values.length;k++){if(attrib.value==values[k])return true}}else if(filter.type==PAttributeFilter.RANGE){if(attrib.type==PAttribute.STRING){for(var k=0;k<values.length;k++){if(attrib.value.match(values[k]))return true}}else if(attrib.type==PAttribute.NUMBER||attrib.type==PAttribute.DATE){if(attrib.value>=values[0]&&attrib.value<values[1])return true}}return false};POverlaySet.prototype.refresh=function(){if(this.map){if(this.display){this.clearMarkers();for(var i=0;i<this.filtered.length;i++)this.addMarker(this.filtered[i]);this.refreshed=this.filtered.slice()}this.map.refreshWidget(this.map.widgetOverlay)}};POverlaySet.prototype.addMarker=function(marker){if(this.markermgr)this.markermgr.addMarker(marker);else this.map.addOverlay(marker)};POverlaySet.prototype.removeMarker=function(marker){if(this.markermgr)this.markermgr.removeMarker(marker);else this.map.removeOverlay(marker)};POverlaySet.prototype.clearMarkers=function(){if(this.markermgr)this.markermgr.clearMarkers();else{for(var i=0;i<this.refreshed.length;i++)this.map.removeOverlay(this.refreshed[i])}};POverlaySet.prototype.addServerMarker=function(marker){var attribs=marker.attributes;var query="?did="+this.id+"&act=add&lat="+marker.point.latitude+"&lng="+marker.point.longitude;for(var i=0;i<attribs.length;i++)query+="&"+attribs[i].columnName+"="+encodeURIComponent(attribs[i].value);var set=this;ajax.call({url:PEnvironment.pinUrl+"/pin/js"+query,context:this,success:function(){if(set.isOn()){set.renderServer(true)}}})};POverlaySet.prototype.renderClient=function(){if(this.id){if(this.map&&this.display){this.setMarkersById();this.pinLayer=null;var set=this;if(!this.moveRenderEvent)this.moveRenderEvent=PEvent.addListener(this.map,"moveend",function(){set.setMarkersById()})}}};POverlaySet.prototype.setMarkersById=function(){if(this.map){var bounds=this.map.getBounds();var sw=bounds.getSouthWest();var ne=bounds.getNorthEast();this.filtered=[];var set=this;var iconString="";if(this.icon!=PIcon.DEFAULT)iconString="&img="+this.icon.image+"&shd="+this.icon.shadow+"&isz="+this.icon.iconSize+"&ssz="+this.icon.shadowSize+"&ian="+this.icon.iconAnchor+"&san="+this.icon.shadowAnchor+"&iwa="+this.icon.infoWindowAnchor;if(this.map&&this.display){var f=function(markers){if(this.isPoly){set.renderServer()}else if(markers.length>0&&!(markers[0]instanceof PMarker)){set.serverPinCount=markers[0];set.renderServer()}else if(markers.length>0&&set.map.getZoom()<=set.zoom){set.serverPinCount=markers.length;set.renderServer()}else{set.removeServer();set.filtered=markers;set.refresh();set.serverOn=false}};var url;if(this.type=="dl"){url=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=site&act=p&did="+this.id+"&mnx="+sw.lng()+"&mny="+sw.lat()+"&mxx="+ne.lng()+"&mxy="+ne.lat()+"&ftr="+encodeURIComponent(this.createQuery())+iconString}else{url=PEnvironment.pinUrl+"?did="+this.id+"&mnx="+sw.lng()+"&mny="+sw.lat()+"&mxx="+ne.lng()+"&mxy="+ne.lat()+"&ftr="+encodeURIComponent(this.createQuery())+iconString}ajax.call({url:url,context:this,success:f})}}};POverlaySet.prototype.encodeIconString=function(icon){return"img="+encodeURIComponent(icon.image)+"&shd="+encodeURIComponent(icon.shadow)+"&isz="+encodeURIComponent(icon.iconSize)+"&ssz="+encodeURIComponent(icon.shadowSize)+"&ian="+encodeURIComponent(icon.iconAnchor)+"&san="+encodeURIComponent(icon.shadowAnchor)+"&group=1"};POverlaySet.prototype.encodeIconStringById=function(icon){return"pinid="+encodeURIComponent(icon.pinid)+"&shd="+encodeURIComponent(icon.shadow)+"&isz="+encodeURIComponent(icon.iconSize)+"&ssz="+encodeURIComponent(icon.shadowSize)+"&ian="+encodeURIComponent(icon.iconAnchor)+"&san="+encodeURIComponent(icon.shadowAnchor)+"&group=1"};POverlaySet.prototype.renderServer=function(force){if(this.id){if(this.map){var newQuery=this.createQuery();if(force||!(this.serverOn&&this.oldQuery==newQuery)||this.filtersbyicons.length>0&&this.reloadfiltericons){this.removeServer();this.pinLayer=new PMapLayer;this.oldQuery=newQuery;var layername="";var pinIslandString="";var polyIslandString="";if(productProperty.exists("live_map_boundary_island")){var islandBoundary=productProperty.getValue("live_map_boundary_island")[0];pinIslandString+="&islpd="+islandBoundary;polyIslandString+=":islpd_"+islandBoundary;if(liveMapBoundaryIsland!=null&&liveMapBoundaryIsland.getDefinitionId()!=null){var defId=liveMapBoundaryIsland.getDefinitionId();pinIslandString+="&islpddi="+defId;polyIslandString+=":islpddi_"+defId}}if(productProperty.exists("live_map_custom_region_island")){var islandRegions=productProperty.getValue("live_map_custom_region_island").join(";");pinIslandString+="&islcus="+islandRegions;polyIslandString+=":islcus_"+islandRegions}if(this.filtersbyicons.length>0&&(!this.isIFFDataset()||this.isIFFDataset()&&!this.iffIgnoreColorCode)){var l=this.filtersbyicons.length;var l2=this.filtericons.length;if(l2<l)l=l2;if(this.isPoly){for(var i=0;i<l;i++){var layerStyle="gpoly";if(this.polystyle!=null){layerStyle=this.polystyle}var colorString="";if(this.colorcodes!=null){colorString=":clr_"+this.colorcodes[i].color}else if(PinIcons.polygon.colors[i].color!=null){colorString=":clr_"+PinIcons.polygon.colors[i].color}var filterString=encodeURIComponent(this.createFilterQueryMapnik(this.filtersbyicons[i]));if(this.type!=null&&this.type=="dl"){layername+=layerStyle+":ptype_dl:did_"+this.bdid+colorString+polyIslandString+":ftr_"+filterString+","}else{layername+=layerStyle+":bdid_"+this.bdid+colorString+polyIslandString+":ftr_"+filterString+","}}}for(var i=0;i<l;i++){var filterColorCode=true;if(this.isPoly)filterColorCode=false;if(this.isIFFDataset()&&isIFFAccountabilityColumn(this.id,this.filtersbyicons[0].columnName)){_.each(this.iffschoolfiltersbyicons,function(schoolFilter){var setFilterQuery=this.createFilterQuery(this.filtersbyicons[i]);var schoolFilterQuery=this.createFilterQuery(schoolFilter);var filterString=encodeURIComponent(setFilterQuery+","+schoolFilterQuery);var shape=schoolFilter.shape;var color="_"+this.filtersbyicons[i].color;if(color=="_orange"){color=""}var icon=PinIcons[shape+color];var iconString=this.encodeIconStringById(icon);layername+=encodeURIComponent("pins_"+iconString+":data_did="+this.id+pinIslandString+"&ftr="+filterString);if(i<l*this.iffschoolfiltersbyicons.length){layername+=":"}},this)}else{var filterString=encodeURIComponent(this.createFilterQuery(this.filtersbyicons[i]));var iconString;if(this.isPoly){var picon;if(this.colorcodes!==undefined&&this.colorcodes!=null){picon=this.colorcodes[i]}else{picon=this.icon.colors[i]}iconString=this.encodeIconStringById(picon)}else{var icon=this.colorcodes[i];if(this.filtersbyicons[i].icon){icon=this.filtersbyicons[i].icon}iconString=this.encodeIconStringById(icon)}layername+=encodeURIComponent("pins_"+iconString+":data_did="+this.id+pinIslandString+"&ftr="+filterString);if(i<l-1){layername+=":"}}}this.reloadfiltericons=false}else{var dataType=this.type;var encFilter=encodeURIComponent(this.oldQuery.replace(/,/gi,"-"));if(this.isPoly){var layerStyle="gpoly";if(this.polystyle!=null){layerStyle=this.polystyle}var colorString="";if(this.polycolor!=null){colorString=":clr_"+this.polycolor}if(this.type!=null&&this.type=="dl"){layername+=layerStyle+":ptype_dl:did_"+this.bdid+colorString+polyIslandString+":ftr_"+encodeURIComponent(this.createQuery(true))+","}else{layername+=layerStyle+":bdid_"+this.bdid+colorString+polyIslandString+":ftr_"+encodeURIComponent(this.createQuery(true))+","}}if(this.isIFFDataset()){var allPinLayers="";_.each(this.iffschoolfiltersbyicons,function(curSchoolFilter){var curEncFilter=encFilter+"-"+curSchoolFilter.id;var iconString=this.encodeIconStringById(curSchoolFilter.icon);var dataString="did="+encodeURIComponent(this.id)+"&type="+dataType+pinIslandString+"&ftr="+curEncFilter;allPinLayers+=":pins_"+encodeURIComponent(iconString)+":"+"data_"+encodeURIComponent(dataString)},this);layername+=allPinLayers.substring(1);this.reloadfiltericons=false}else{var iconString=this.encodeIconStringById(this.icon);var dataString="did="+encodeURIComponent(this.id)+"&type="+dataType+pinIslandString+"&ftr="+encFilter;layername+="pins_"+encodeURIComponent(iconString)+":"+"data_"+encodeURIComponent(dataString)}}var set=this;function f(name){var checkDupe=true;var layers=set.map.mapType.getMapLayers();var l=layers.length;for(var i=0;i<l;i++){if(layers[i].name==name){checkDupe=false;break}}if(checkDupe){set.map.refresh();set.pinLayer.name=name;set.pinLayer.title="donotshowinwidget";set.serverOn=true;var pos=null;if(set.map.mapType.getHoleLayer()){pos=set.map.mapType.getMapLayers().length-1}set.map.mapType.addMapLayer(set.pinLayer,pos);set.filtered=[];set.refresh()}}if(window.ActiveXObject&&version<8||layername.length>4e3){var maplayers=this.map.getCurrentMapType().getMapLayers();var l=maplayers.length;var layernames=layername;for(var i=0;i<l;i++)layernames+=maplayers[i].name;if(layernames.length>1800){if(this.isPoly){var morenames=layername.split(",");var lcids="";var count=0;var storeStrings=function(str){ajax.call({url:PEnvironment.stringstoreUrl+"?str="+str,context:this,success:function(id){lcids+="lcid_"+id+",";count++;if(count<morenames.length){storeStrings(morenames[count])}else{lcids=lcids.slice(0,lcids.length-1);f(lcids)}}})};storeStrings(morenames[count])}else{ajax.call({url:PEnvironment.stringstoreUrl+"?str="+layername,context:this,success:function(id){f("lcid_"+id)}})}}else f(layername)}else f(layername)}else this.map.refreshWidget(this.map.widgetOverlay)}}};POverlaySet.prototype.removeServer=function(){if(this.map&&this.pinLayer!=null){this.map.mapType.removeMapLayer(this.pinLayer);this.pinLayer=null;this.serverOn=false}};POverlaySet.prototype.createQuery=function(poly){var query="";var filterGroupsWithFilters;if(this.isIFFDataset()&&this.filtergroups["School Type_HIDE"]){delete this.filtergroups["School Type_HIDE"]}var hasColorCode=_.some(this.filtergroups,function(filterGroup){return filterGroup.length>0&&filterGroup[0].values[0]==="COLORCODE"});if(hasColorCode){filterGroupsWithFilters=this.filtersbyicons}else{filterGroupsWithFilters=_.filter(this.filtergroups,function(filterGroup){return filterGroup.length>0})}if(this.isIFFDataset()&&hasColorCode&&isIFFAccountabilityColumn(this.id,filterGroupsWithFilters[0].columnName)){this.iffIgnoreColorCode=false;var schoolFilters=this.iffschoolfiltersbyicons.slice();_.each(filterGroupsWithFilters,function(filter){if(filter.values.length>0){_.each(schoolFilters,function(schoolFilter){query+=(query.length===0?"":",")+this.createFilterQuery(filter)+","+this.createFilterQuery(schoolFilter)},this)}},this)}else{if(this.isIFFDataset()){this.iffIgnoreColorCode=_.size(this.filtergroups)>0}if(hasColorCode){query=_.chain(this.filtersbyicons).pluck("id").join(",").value()}else{if(poly){_.each(filterGroupsWithFilters,function(filterGroup,fgIndex,filterGroups){query+="(";_.each(filterGroup,function(filter,fIndex,filters){query+=this.createFilterQueryMapnik(filter);if(fIndex<filters.length-1){query+=" or "}},this);query+=")";if(fgIndex<filterGroups.length-1){query+=" and "}},this)}else{_.each(filterGroupsWithFilters,function(filterGroup){_.each(filterGroup,function(filter){query+=(query.length===0?"":",")+this.createFilterQuery(filter)},this)},this)}}}return query};POverlaySet.prototype.createFilterQuery=function(filter,hasColorCode){return filter.id};POverlaySet.prototype.createFilterQueryMapnik=function(filter){var query="";if(filter.columnType==PAttribute.NUMBER||filter.columnType==PAttribute.DATE){if(filter.type==PAttributeFilter.RANGE){var start=filter.values[0];var end=filter.values[1];if(filter.columnType==PAttribute.DATE){start="timestamp'"+filter.values[0].getFullYear()+"-"+filter.values[0].getMonth()+"-"+filter.values[0].getDate()+"'";end="timestamp'"+filter.values[1].getFullYear()+"-"+filter.values[1].getMonth()+"-"+filter.values[1].getDate()+"'"}query+="("+filter.columnName+" >= "+start+" and "+filter.columnName+" <= "+end+")"}else if(filter.type==PAttributeFilter.EQUAL){query+="(";for(var k=0;k<filter.values.length;k++){var value=filter.values[k];if(filter.columnType==PAttribute.DATE)value="timestamp'"+filter.values[k].getFullYear()+"-"+filter.values[k].getMonth()+"-"+filter.values[k].getDate()+"'";query+=filter.columnName+" = "+value;if(k<filter.values.length-1)query+=" or "}query+=")"}}else if(filter.columnType==PAttribute.STRING){for(var k=0;k<filter.values.length;k++){var nextQuery="";if(filter.type==PAttributeFilter.EQUAL){nextQuery=filter.columnName+" = '"+filter.values[k]+"'"}else if(filter.type==PAttributeFilter.RANGE){nextQuery=filter.columnName+".match('.*"+filter.values[k]+".*')"}else if(filter.type==PAttributeFilter.STARTSWITH){nextQuery=filter.columnName+".match('"+filter.values[k]+".*')"}if(nextQuery!=""){query+=nextQuery;if(k<filter.values.length-1){query+=" or "}}}}else if(filter.columnType==PAttribute.BOOLEAN){query+=filter.columnName+" = "+filter.values[0]}return query};POverlaySet.prototype.changeIcon=function(icon,update){this.icon=icon;this.filtericons=icon.colors;this.colorcodes=icon.colors;if(update){this.renderServer(true)}};POverlaySet.prototype.findMatchingFilters=function(filters){if(!filters||filters.length==0){return[]}var setFilterIds=[];for(var n1 in this.displayfiltergroups){var columnName=this.displayfiltergroups[n1][0].columnName;var curFilters=this.displayfiltergroups[n1];for(var i=0;i<filters.length;i++){var filter=filters[i];if(filter.columnName==columnName){for(var j=0;j<curFilters.length;j++){var curFilter=curFilters[j];if(curFilter.valuesDisplay==filter.valuesDisplay){if(curFilter.id==0){setFilterIds.push("c"+curFilter.groupId)}else{setFilterIds.push(curFilter.id)}}}}}}return setFilterIds};POverlaySet.prototype.isIFFDataset=function(){var r=false;if(isIffCustomFilterWidget()){var arr=[123100,139700,140850,143400,147950,149900,150800,155200,156800,157050];for(var i=0;i<arr.length;i++){if(arr[i]==this.id){r=true;break}}}return r};POverlaySetUtil=function(){};POverlaySetUtil.prototype.buildOverlaySet=function(data){var self=this;if(data.isPoly===true&&(data.icon==null||typeof data.icon==="string"&&$.trim(data.icon)==="")){data.icon=PinIcons["polygon"]}else if(data.icon!=null&&!(data.icon instanceof Object)){data.icon=PinIcons[data.icon]}var overlaySet=new POverlaySet(data.id,data.icon,15);overlaySet.setLabel(data.name);if(overlaySet.isIFFDataset()){overlaySet.allowFiltersWithColorCode=true}if(overlaySet.displayfiltergroups===void 0){overlaySet.displayfiltergroups={}}_.each(data.filters,function(displayFilterGroup){overlaySet.displayfiltergroups[displayFilterGroup.displayName]=_.map(displayFilterGroup.filters,function(filter){var iconOptions=buildFilterIconOptionsIFF(overlaySet,displayFilterGroup,filter);return new PAttributeFilter(displayFilterGroup.displayName,filter.values,filter.type,filter.displayName,displayFilterGroup.columnName,filter.attrType,filter.id,displayFilterGroup.id,iconOptions)})});overlaySet.colorcodes=_.map(data.colorcodes,function(colorCodeName){return PinIcons[colorCodeName]});if(overlaySet.colorcodes.length===0){if(data.icon&&data.icon.headpin){overlaySet.colorcodes=PinIcons[data.icon.headpin].colors}}if(isCultureBlocksSubwayDataset(overlaySet)){setDefaultSubwayFilters(overlaySet,overlaySet.displayfiltergroups)}overlaySet.sources=data.sources;overlaySet.type=data.type;overlaySet.isPoly=data.isPoly;overlaySet.hasLabels=data.labels;overlaySet.hideLabels=data.hidelabels;overlaySet.labelZoom=data.labelzoom;overlaySet.search=data.search;overlaySet.allowDL=data.allowDL;overlaySet.children=_.map(data.children,function(child){return self.buildOverlaySet(child)});overlaySet.child=data.child;overlaySet.description=data.description;overlaySet.map=map;if(data.isPoly){overlaySet.bdid=data.bdid;overlaySet.polycolor=data.polycolor;overlaySet.polystyle=data.polystyle}if(data.boundingBox){overlaySet.boundingBox=data.boundingBox}if(data.type==="dl"){overlaySet.owner=data.owner;overlaySet.ownerfirst=data.ownerfirst;overlaySet.ownerlast=data.ownerlast;overlaySet.created=data.created;overlaySet.perm=data.perm}return overlaySet};POverlaySetUtil.prototype.getSetIds=function(sets,type,includeChildren){if(type==null||type==""){type=false}if(includeChildren==null||includeChildren!==true){includeChildren=false}var retVal=[];for(var i=0;i<sets.length;i++){if(sets[i].id&&(type===false||type!==false&&type==sets[i].type)&&(sets[i].child!==true||sets[i].child===true&&includeChildren)){retVal.push(sets[i].id)}}return retVal.join(",")};POverlaySetUtil.prototype.getFilterIds=function(sets){var filterIds=[];var getFilterIdsArray=function(set){var setFilterIds=[];for(groupName in set.filtergroups){var filters=set.filtergroups[groupName];for(var i=0;i<filters.length;i++){var curFilter=filters[i];if(curFilter.id==0){setFilterIds.push("c"+curFilter.groupId)}else{setFilterIds.push(curFilter.id)}}}return setFilterIds};for(var i=0;i<sets.length;i++){var curSet=sets[i];var curSetFilters=getFilterIdsArray(curSet);for(var j=0;j<curSet.children.length;j++){var childSetFilters=getFilterIdsArray(curSet.children[j]);curSetFilters=curSetFilters.concat(childSetFilters)}filterIds=filterIds.concat(curSetFilters)}return filterIds.join(",")};POverlaySetUtil.prototype.getChildFilter=function(parentFilter,childSet){var filters=childSet.displayfiltergroups[parentFilter.name];if(filters!=null){for(var i=0;i<filters.length;i++){var curFilter=filters[i];if(curFilter.columnName==parentFilter.columnName&&curFilter.columnType==parentFilter.columnType&&curFilter.valuesDisplay==parentFilter.valuesDisplay){return curFilter}}}return null};POverlaySetUtil.prototype.oldGetFilterIds=function(jFilters){var filterIds=[];for(var i in jFilters){if(jFilters[i]){for(var j in jFilters[i]){var jFilters2=jFilters[i][j];var l=jFilters2.length;for(var k=0;k<l;k++){var curFilter=jFilters2[k];if(curFilter.id==0){filterIds.push("c"+curFilter.groupId)}else{filterIds.push(curFilter.id)}}}}}return filterIds.join(",")};PPlaceContainmentWidget=function(map,node,placeorder,separator){this.map=map;this.background=node;if(placeorder)this.placeorder=placeorder;else this.placeorder=[PPlaceType.STATE,PPlaceType.COUNTY,PPlaceType.ZIP];if(separator)this.separator=separator;else this.separator=">";this.eventTypes=new Object;this.eventTypes.click="click";this.eventManager=new _eventManager;for(var ev in this.eventTypes)this.eventManager.registerEventID(ev);this.listeners=[]};PPlaceContainmentWidget.prototype.refresh=function(places){this.clearListeners();var placeString="";this.places=places;while(this.background.hasChildNodes())this.background.removeChild(this.background.firstChild);for(var i=0;i<this.placeorder.length;i++){for(var j=0;j<places.length;j++){if(this.placeorder[i].id==places[j].typeid){var separator=document.createElement("div");separator.style.styleFloat="left";separator.style.cssFloat="left";separator.style.paddingLeft="5px";separator.style.paddingRight="5px";separator.innerHTML=this.separator;this.background.appendChild(separator);var placeDiv=document.createElement("div");placeDiv.style.styleFloat="left";placeDiv.style.cssFloat="left";var placeLink=document.createElement("a");placeLink.href="#";placeLink.innerHTML=places[j].label;if(this.placeorder[i]==PPlaceType.COUNTY)placeLink.innerHTML+=" County";placeDiv.place=places[j];placeDiv.map=this.map;placeDiv.outerDiv=this.background;placeDiv.widget=this;placeDiv.highlight=this.highlight;this.listeners.push(PEvent.addListener(placeDiv,"click",function(){this.map.setCenterBounds(this.place.bounds);this.widget.eventManager.triggerEvent("click",this.place)}));placeDiv.appendChild(placeLink);this.background.appendChild(placeDiv)}}}if(this.background.firstChild)this.background.removeChild(this.background.firstChild)};PPlaceContainmentWidget.prototype.addListener=function(eventId,func){this.eventManager.registerForEvent(eventId,[],func)};PPlaceContainmentWidget.prototype.removeListener=function(event){this.eventManager.deregisterForEvent(event.id,event.obj,event.func)};PPlaceContainmentWidget.prototype.clearListeners=function(){for(var i=0;i<this.listeners.length;i++)PEvent.removeListener(this.listeners[i]);this.listeners=[]};PPlace=function(id){if(id)this.id=id;else this.id=null;this.identifier=null;this.label=null;this.typeid=null;this.defid=null;this.bounds=null;this.centroid=null;this.vertices=null;this.area=null;this.pop=null;this.state=null;this.country=null};PPlace.prototype.getID=function(){return this.id};PPlace.prototype.getIdentifier=function(){return this.identifier};PPlace.prototype.getLabel=function(){return this.label};PPlace.prototype.getType=function(){return this.getTypeById(this.typeid)};PPlace.prototype.getDefinitionId=function(){return this.defid};PPlace.prototype.getBounds=function(){return this.bounds};PPlace.prototype.getCentroid=function(){return this.centroid};PPlace.prototype.getVertices=function(){return this.vertices};PPlace.prototype.getArea=function(){return this.area};PPlace.prototype.getPopulation=function(){return this.pop};PPlace.prototype.getState=function(){return this.state};PPlace.prototype.getDisplayState=function(){var state="";if(this.getState()&&this.getType()!=PPlaceType.CBSA&&this.getType()!=PPlaceType.STATE&&this.getType()!=PPlaceType.CDBG)state=", "+this.getState();return state};PPlace.prototype.getCountry=function(){return this.country};PPlace.prototype.getPlacesWithin=function(placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr){(new PClientGeocoder).getPlacesWithin(this,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr)};PPlace.prototype.getPlacesWithinCount=function(placetype,matrixId,defId,callback,overlap,quota,context){if(this.isAssembledAndSameDefinition(this._getDefinitionId(placetype,matrixId,defId))){callback.apply(this,[this.getAssembledCount()])}else{(new PClientGeocoder).getPlacesWithinCount(this,placetype,matrixId,defId,callback,overlap,quota,context)}};PPlace.prototype.getPlacesWithinPage=function(placetype,matrixId,defId,callback,overlap,maxResults,order,quota,context,offset,query){(new PClientGeocoder).getPlacesWithinPage(this,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,context,offset,query)};PPlace.prototype.getPlacesWithinCSV=function(placetype,matrixId,defId,overlap,order,quota,query){(new PClientGeocoder).getPlacesWithinCSV(this,placetype,matrixId,defId,overlap,order,quota,query)};PPlace.prototype.getPlacesContaining=function(placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr){(new PClientGeocoder).getPlacesContaining(this,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr)};PPlace.prototype.getPlacesContainingCount=function(placetype,matrixId,defId,callback,overlap,quota){if(this.isAssembledAndSameDefinition(this._getDefinitionId(placetype,matrixId,defId))){callback.apply(this,[this.getAssembledCount()])}else{(new PClientGeocoder).getPlacesContainingCount(this,placetype,matrixId,defId,callback,overlap,quota)}};PPlace.prototype.getPlacesOverlapping=function(placetype,matrixId,defId,callback,quota,maxResults,order){(new PClientGeocoder).getPlacesOverlapping(this,placetype,matrixId,defId,callback,quota,maxResults,order)};PPlace.prototype.getPlacesOverlappingCount=function(placetype,matrixId,defId,callback,quota){if(this.isAssembledAndSameDefinition(this._getDefinitionId(placetype,matrixId,defId))){callback.apply(this,[this.getAssembledCount()])}else{(new PClientGeocoder).getPlacesOverlappingCount(this,placetype,matrixId,defId,callback,quota)}};PPlace.prototype.getPlacesIntersecting=function(placetype,matrixId,defId,callback,quota,maxResults,order){(new PClientGeocoder).getPlacesIntersecting(this,placetype,matrixId,defId,callback,quota,maxResults,order)};PPlace.prototype.getPlacesIntersectingCount=function(placetype,matrixId,defId,callback,quota){if(this.isAssembledAndSameDefinition(this._getDefinitionId(placetype,matrixId,defId))){callback.apply(this,[this.getAssembledCount()])}else{(new PClientGeocoder).getPlacesIntersectingCount(this,placetype,matrixId,defId,callback,quota)}};PPlace.prototype.getPlacesIntersectingPage=function(placetype,matrixId,defId,callback,maxResults,order,quota,context,offset,query){(new PClientGeocoder).getPlacesIntersectingPage(this,placetype,matrixId,defId,callback,maxResults,order,quota,context,offset,query)};PPlace.prototype.getPlacesIntersectingCSV=function(placetype,matrixId,defId,order,quota,query){(new PClientGeocoder).getPlacesIntersectingCSV(this,placetype,matrixId,defId,order,quota,query)};PPlace.prototype.getMarkersWithin=function(overlayset,callback){(new PClientGeocoder).getMarkersWithin(this,overlayset,callback)};PPlace.prototype.getMarkersWithinCSV=function(ids){(new PClientGeocoder).getMarkersWithinCSV(this,ids)};PPlace.prototype.getContainment=function(callback){(new PClientGeocoder).getPlaceContainmentByPlace(this,callback)};PPlace.prototype.getTypeById=function(){for(var i=0;i<P_PLACETYPES.length;i++){if(this.typeid==P_PLACETYPES[i].id)return P_PLACETYPES[i]}return null};PPlace.prototype.getAggregateCount=function(placeType,matrixId,defId,callback,woverlap,wquota,wcontext){var self=this;if(this.isAssembledAndSameDefinition(this._getDefinitionId(placeType,matrixId,defId))){callback(this.getAssembledCount())}else{self.getPlacesWithinCount(placeType,matrixId,defId,function(placesWithinCount){callback(placesWithinCount)},woverlap,wquota,wcontext)}};PPlace.prototype.getAggregates=function(placeType,matrixId,defId,callback,woverlap,wmax,worder,wquota,coverlap,cmax,corder,cquota,attr){var self=this;if(this.isAssembledAndSameDefinition(this._getDefinitionId(placeType,matrixId,defId))){return callback(this.getAssembledPlaces())}if(self.getType()==placeType&&!(defId instanceof Array)){callback([])}else{self.getPlacesWithin(placeType,matrixId,defId,function(placesWithin){if(placesWithin.length>0){callback(placesWithin)}else{self.getPlacesContaining(placeType,matrixId,defId,function(placesContaining){callback(placesContaining)},coverlap,cmax,corder,cquota,attr)}},woverlap,wmax,worder,wquota,attr)}};PPlace.prototype.isCustomOrPoly=function(){return this.typeid==95||this.typeid==0};PPlace.prototype.isAssembledCustom=function(){return this.ctypeid&&this.ctypeid==2};PPlace.prototype.getAssembledPlaces=function(callback){return this.aplaces};PPlace.prototype.getAssembledType=function(){if(this.aplaces)return this.aplaces[0].getType();else return null};PPlace.prototype.getAssembledDefinition=function(){if(this.aplaces){return this.aplaces[0].getDefinitionId()}else{return null}};PPlace.prototype.getAssembledCount=function(){if(this.aplaces)return this.aplaces.length;else return null};PPlace.prototype.isAssembledAndSameType=function(type){return this.isAssembledCustom()&&this.getAssembledType().id==type.id};PPlace.prototype.isAssembledAndSameDefinition=function(defId){return this.isAssembledCustom()&&this.getAssembledDefinition()==defId};PPlace.prototype.isAssembledCustomInCurrentMatrix=function(){if(this.isAssembledCustom()){if(this.aplaces&&this.aplaces.length>0){return boundaryMatrix.isDefinitionIdInMatrix(this.aplaces[0].getDefinitionId())}}return false};PPlace.prototype._getDefinitionId=function(placetype,matrixId,defId){if(defId){return defId}else{return boundaryMatrix.getDefinitionIdForTypeId(placetype.getId(),matrixId)}};PPlaceLoader=function(){this.loadCache={};this.oneToOneCache={};this.typeCache={};this.stateTypeCache={}};PPlaceLoader.prototype.load=function(ids,callback){var self=this;var places=[];var requestIds=[];for(var i=0;i<ids.length;i++){var curId=ids[i];if(this.loadCache[curId]!=null){places.push(this.loadCache[curId])}else{requestIds.push(curId)}}if(requestIds.length>0){requestIds=requestIds.join(",");ajax.call({url:PEnvironment.boundaryUrl+"?t=pid&i="+requestIds,success:function(reqPlaces){for(var i=0;i<reqPlaces.length;i++){var curPlace=reqPlaces[i];var curId=curPlace.getID();if(self.loadCache[curId]==null){self.loadCache[curId]=curPlace}places.push(curPlace)}callback(places)}})}else{callback(places)}};PPlaceLoader.prototype.loadFIPS=function(fips,defs,parms,callback){var parmString="";if(defs&&defs.length>0){parmString="&di="+defs.join(",")}if(parms){for(var i in parms){parmString+="&"+i+"="+parms[i]}}ajax.call({url:PEnvironment.boundaryUrl+"?t=fips&i="+fips+parmString,success:callback})};PPlaceLoader.prototype.loadOneToOne=function(bids,defs,includeNameChange,includeFiftyPercent,callback){var self=this;var places={};includeNameChange=includeNameChange!=null&&includeNameChange===false?"0":"1";includeFiftyPercent=includeFiftyPercent!=null&&includeFiftyPercent===true?"1":"0";var defKey="";var defArg="";if(defs!=null&&defs.length>0){defs.sort();var defList=defs.join(",");defKey="_"+defList;defArg="&di="+defList}var requestIds=[];for(var i=0;i<bids.length;i++){var curId=bids[i];var curIdKey=curId+"_"+includeNameChange+"_"+includeFiftyPercent+defKey;if(this.oneToOneCache[curIdKey]!=null){places[curId]=this.oneToOneCache[curIdKey]}else{requestIds.push(curId)}}if(requestIds.length>0){requestIds=requestIds.join(",");ajax.call({url:PEnvironment.boundaryUrl+"?t=oto&i="+requestIds+defArg+"&inc="+includeNameChange+"&ifp="+includeFiftyPercent,success:function(mappings){for(boundaryId in mappings){var curIdKey=boundaryId+"_"+includeNameChange+"_"+includeFiftyPercent+defKey;if(self.oneToOneCache[curIdKey]==null){self.oneToOneCache[curIdKey]=mappings[boundaryId]}places[boundaryId]=mappings[boundaryId]}callback(places)}})}else{callback(places)}};PPlaceLoader.prototype.loadType=function(type,order,callback){var self=this;var typeId=type.getId();if(order==null){order=PPlaceOrder.STATE_CANONICALNAME}var keyId=typeId+"_"+order;if(this.typeCache[keyId]!=null){callback(this.typeCache[keyId])}else{ajax.call({url:PEnvironment.boundaryUrl+"?t=type&pti="+encodeURIComponent(typeId)+"&ord="+encodeURIComponent(order),success:function(places){self.typeCache[keyId]=places;callback(places)}})}};PPlaceLoader.prototype.loadStateAllType=function(state,type,callback){var self=this;var typeId=type.getId();var keyId=typeId+"_"+state;if(this.stateTypeCache[keyId]!=null){callback(this.stateTypeCache[keyId])}else{ajax.call({url:PEnvironment.boundaryUrl+"?t=sbtype&pti="+typeId+"&st="+state,success:function(bounds){self.stateTypeCache[keyId]=bounds;callback(bounds)}})}};PPlaceOrder=function(){};
PPlaceSearchBox=function(node){this.eventTypes=new Object;this.eventTypes.submit="submit";this.eventTypes.response="response";this.eventManager=new _eventManager;for(var ev in this.eventTypes)this.eventManager.registerEventID(ev);this.type=null;this.textbox=document.createElement("input");this.textbox.type="text";this.textbox.style.width="100%";this.textbox.style.height="100%";var usStates=document.createElement("select");usStates.style.display="none";usStates.style.width="25%";usStates.style.height="100%";usStates.style.marginRight="10px";this.addState=function(stateName,fips){var o=document.createElement("option");o.value=fips;o.innerHTML=stateName;var l=stateName.length;if(l>20)o.style.fontSize="12px";else if(l>15)o.style.fontSize="14px";usStates.appendChild(o)};this.addState("Alabama","01");this.addState("Alaska","02");this.addState("Arizona","04");this.addState("Arkansas","05");this.addState("California","06");this.addState("Colorado","08");this.addState("Connecticut","09");this.addState("Delaware",10);this.addState("District of Columbia",11);this.addState("Florida",12);this.addState("Georgia",13);this.addState("Hawaii",15);this.addState("Idaho",16);this.addState("Illinois",17);this.addState("Indiana",18);this.addState("Iowa",19);this.addState("Kansas",20);this.addState("Kentucky",21);this.addState("Louisiana",22);this.addState("Maine",23);this.addState("Maryland",24);this.addState("Massachusetts",25);this.addState("Michigan",26);this.addState("Minnesota",27);this.addState("Mississippi",28);this.addState("Missouri",29);this.addState("Montana",30);this.addState("Nebraska",31);this.addState("Nevada",32);this.addState("New Hampshire",33);this.addState("New Jersey",34);this.addState("New Mexico",35);this.addState("New York",36);this.addState("North Carolina",37);this.addState("North Dakota",38);this.addState("Ohio",39);this.addState("Oklahoma",40);this.addState("Oregon",41);this.addState("Pennsylvania",42);this.addState("Rhode Island",44);this.addState("South Carolina",45);this.addState("South Dakota",46);this.addState("Tennessee",47);this.addState("Texas",48);this.addState("Utah",49);this.addState("Vermont",50);this.addState("Virginia",51);this.addState("Washington",53);this.addState("West Virginia",54);this.addState("Wisconsin",55);this.addState("Wyoming",56);this.textboxState=usStates;this.textboxCounty=document.createElement("input");this.textboxCounty.type="text";this.textboxCounty.style.width="45%";this.textboxCounty.style.height="100%";this.textboxCounty.style.display="none";this.textboxCounty.style.marginRight="10px";var box=this;PEvent.addListener(this.textbox,"keydown",function(e){e=e?e:event?event:null;if(e&&e.keyCode==13)box.submit()});PEvent.addListener(this.textboxState,"change",function(e){box.textboxCounty.focus()});PEvent.addListener(this.textboxCounty,"change",function(e){box.textbox.focus()});node.appendChild(this.textboxState);node.appendChild(this.textboxCounty);node.appendChild(this.textbox)};PPlaceSearchBox.prototype.addListener=function(eventId,func){this.eventManager.registerForEvent(eventId,[],func)};PPlaceSearchBox.prototype.setType=function(type){if(type==PPlaceType.CENSUSTRACT){this.textboxState.style.display="inline";this.textboxCounty.style.display="inline";this.textbox.style.width="20%"}else{this.textboxState.style.display="none";this.textboxCounty.style.display="none";this.textbox.style.width="100%"}if(type){this.type=[type]}else{this.type=null}};PPlaceSearchBox.prototype.setTypes=function(types){if(types){this.type=types}else{this.type=this.defaultType}};PPlaceSearchBox.prototype.setDefaultTypes=function(types){this.defaultType=types};PPlaceSearchBox.prototype.getSearchString=function(){return this.textbox.value};PPlaceSearchBox.prototype.cleanString=function(s){if(s.search("e.g.,")==0){return""}else{return s.replace(/^\s+|\s+$/g,"")}};PPlaceSearchBox.prototype.submit=function(){var geocoder=new PClientGeocoder;this.eventManager.triggerEvent("submit");var box=this;var text=this.getSearchString();var type=this.type;if(text.search("e.g.,")==0){text=text.replace(/e.g., "/,"");text=text.replace(/"/,"")}var matches=/^(-?\d+(\.\d+)?)\s*,\s*(-?\d+(\.\d+))?$/.exec(text);if(this.type&&this.type[0]==PPlaceType.CENSUSTRACT){var d=this.textboxState;var stateText=d.options[d.selectedIndex].value;var countyText=this.textboxCounty.value;if(this.cleanString(countyText)==""){alert("Please enter County name.");return}if(this.cleanString(text)!=""){var f=function(places){box.eventManager.triggerEvent("response",places)};var path=["states","fips",stateText,"counties","names",countyText,"censustracts","numbers",text];path=path.join("/");placeLoader.loadByPath(path,f)}}else if((PEnvironment.pageName=="reports"||PEnvironment.pageName=="report_area")&&matches){var lat=parseFloat(matches[1]);var lng=parseFloat(matches[3]);var address=new PAddress(lat+","+lng,lng,lat);box.eventManager.triggerEvent("response",address)}else{if(this.cleanString(text)!=""){geocoder.getPlace(text,function(places){if(places.length>0)box.eventManager.triggerEvent("response",places);else geocoder.getLocations(text,function(address){box.eventManager.triggerEvent("response",address)})},5,PPlaceOrder.POPULATION,box.type)}}if(search.tab=="searchthemap")search.searchthemap=search.textbox.value;else if(search.tab=="county")search.county=search.textbox.value;else if(search.tab=="census")search.census=search.textbox.value};function PPlaceTypeConfig2(){var placeTypes={};var emptySet=[];var maxZoom={};var minZoom={};var none="default";this.set=function(zoom,placetypes,aggrule){if(arguments.length<2){return false}if(arguments.length<=2){aggrule=none}if(!placeTypes[aggrule]){placeTypes[aggrule]={}}placeTypes[aggrule][zoom]=placetypes;if(maxZoom[aggrule]||maxZoom[aggrule]===0){if(zoom>maxZoom[aggrule]){maxZoom[aggrule]=zoom}}else{maxZoom[aggrule]=zoom}if(minZoom[aggrule]||minZoom[aggrule]===0){if(zoom<minZoom[aggrule]){minZoom[aggrule]=zoom}}else{minZoom[aggrule]=zoom}return true};this.get=function(zoom,aggrule){if(arguments.length<1){return emptySet}if(arguments.length==1||!placeTypes[aggrule]){aggrule=none}if(placeTypes[aggrule]&&placeTypes[aggrule][zoom]){return placeTypes[aggrule][zoom]}return emptySet};this.getBestFitIn=function(zoom,aggrule){if(arguments.length<1){return emptySet}if(arguments.length==1||!placeTypes[aggrule]){aggrule=none}if(placeTypes[aggrule]&&(maxZoom[aggrule]||maxZoom[aggrule]===0)){if(zoom>maxZoom[aggrule]){zoom=maxZoom[aggrule]}var perfectFit=this.get(zoom,aggrule);if(perfectFit.length>0){return perfectFit}for(var z=zoom;z<=maxZoom[aggrule];++z){if(placeTypes[aggrule][z]){return placeTypes[aggrule][z]}}}return emptySet};this.getBestFitOut=function(zoom,aggrule){if(arguments.length<1){return emptySet}if(arguments.length==1||!placeTypes[aggrule]){aggrule=none}if(placeTypes[aggrule]&&(minZoom[aggrule]||minZoom[aggrule]===0)){if(zoom<minZoom[aggrule]){zoom=minZoom[aggrule]}var perfectFit=this.get(zoom,aggrule);if(perfectFit.length>0){return perfectFit}for(var z=zoom;z>=minZoom[aggrule];--z){if(placeTypes[aggrule][z]){return placeTypes[aggrule][z]}}}return emptySet};this.setAvail=function(placetypes,aggrule){placeTypes[aggrule].avail=placetypes};this.getAvail=function(aggrule){return placeTypes[aggrule].avail}}PPlaceType=function(id,name,path,maplayers){this.id=id;this.name=name;this.path=path;this.minScale=0;this.maxScale=1e9;this.maplayers=null;if(maplayers){this.maplayers=maplayers}};PPlaceType.prototype.getId=function(){return this.id};PPlaceType.prototype.getName=function(){return this.name};PPlaceType.prototype.getDisplayName=function(){var displayName;switch(this.id){case P_PLACETYPE_SLD_UPPER_ID:displayName="State District";break;case P_PLACETYPE_PHILA_NEIGHBORHOOD_14_ID:displayName="Neighborhood";break;case P_PLACETYPE_PHILA_RCO_ID:displayName="Community Organization";break;case P_PLACETYPE_PHILA_POLICE_ID:displayName="Police District";break;case P_PLACETYPE_PHILA_WARD_ID:displayName="Political Ward";break;case P_PLACETYPE_PHILA_CATCHMENT_ES_ID:displayName="School Catchment";break;default:displayName=this.name}return displayName};PPlaceType.prototype.getCustomDisplayName=function(){if(productProperty.exists("search_boundary_type_custom_labels")){customLabels=productProperty.getValue("search_boundary_type_custom_labels");if(customLabels[this.id]){return customLabels[this.id]}}return this.getDisplayName()};PPlaceType.prototype.getPath=function(){return this.path};PPlaceType.prototype.getMapLayers=function(){if(this.maplayers){return this.maplayers}else{return null}};PPlaceType.prototype.getPluralName=function(){if(this.pluralName){return this.pluralName}else{return this.getName()+"s"}};PPlaceType.prototype.isCongressional=function(){if(this==PPlaceType.CONGRESSIONAL||this==PPlaceType.CONGRESSIONAL_112){return true}else{return false}};PPoint=function(arg1,y){if(arg1 instanceof PAddress){this.x=arg1.x;this.y=arg1.y}else{this.x=arg1;this.y=y}};PPoint.prototype.equals=function(other){if(this.x==other.x&&this.y==other.y)return true;else return false};PPoint.prototype.toString=function(){return"("+this.x+", "+this.y+")"};PPolyCreatorAssembleInfoWidget=function(polycreator){this.polycreator=polycreator;var container=document.createElement("div");container.id="custom-regions__assemble";container.className="custom-regions__creator";this.container=container;var title=document.createElement("div");title.className="title";var html="Click Map to Assemble Region";title.innerHTML=html;var div=document.createElement("div");div.className="placesContainer";var contenttitle=document.createElement("span");contenttitle.innerHTML="Current places: ";var content=document.createElement("span");content.className="placeLabels";this.content=content;jQuery(div).append(contenttitle);jQuery(div).append(content);jQuery(container).hide();jQuery(container).append(title);jQuery(container).append(div);var footer=document.createElement("div");footer.className="footer";var clear=document.createElement("a");clear.innerHTML="Clear All and Start Over";clear.widget=this;clear.onclick=function(){this.widget.clear()};var save=document.createElement("a");if(isWidgetPage()){save.innerHTML="Done"}else{save.innerHTML="Save Region"}save.widget=this;save.onclick=function(){this.widget.polycreator.showSaveInfoWindow(this.widget.polycreator.ASSEMBLE.lastpoint)};jQuery(footer).append(clear);jQuery(footer).append(save);jQuery(container).append(footer);jQuery("#custom-regions__map-options").append(container);this.update()};PPolyCreatorAssembleInfoWidget.prototype={show:function(){this.container.style.display="block"},hide:function(){this.container.style.display="none"},clear:function(){this.polycreator.clearBuildingOverlays();this.polycreator.ASSEMBLE.places=[];this.polycreator.assembleInfoWidget.update()},update:function(){var div=this.content;jQuery(div).empty();var places=this.polycreator.ASSEMBLE.places;if(places&&places.length==0){var span=document.createElement("span");span.className="empty";span.innerHTML="(no places selected)";jQuery(div).append(span)}for(var i=0;i<places.length;i++){var a=document.createElement("a");if(places[i].typeid==15)a.innerHTML=places[i].identifier;else a.innerHTML=places[i].getLabel();a.title="Remove";a.widget=this;a.place=places[i];a.onclick=function(){var polycreator=this.widget.polycreator;polycreator.removeAssembledPlaceIfExists(this.place)};jQuery(div).append(a);if(i<places.length-1){var comma=document.createElement("span");comma.className="comma";comma.innerHTML=", ";jQuery(div).append(comma)}}}};PPolyCreatorBoundaryWidget=function(polycreator,opts){this.polycreator=polycreator;this.listeners=[];var container=document.createElement("div");this.container=container;container.id="custom-regions__boundary";container.className="custom-regions__creator";jQuery(container).hide();jQuery("#custom-regions__map-options").append(container);var div=document.createElement("div");div.className="title";this.titleContainer=div;this.defaultTitle="Show Boundaries in Region:";this.container.appendChild(div);if(opts&&opts.placetypes){this.placetypes=opts.placetypes}else{this.placetypes=[PPlaceType.BLOCKGROUP,PPlaceType.CENSUSTRACT,PPlaceType.ZIP,PPlaceType.CITY,PPlaceType.COUNTY,PPlaceType.COUNTY_SUBDIVISION,PPlaceType.MD,PPlaceType.CBSA,PPlaceType.STATE,PPlaceType.CONGRESSIONAL,PPlaceType.SLD_UPPER,PPlaceType.SLD_LOWER,PPlaceType.SCHOOL,PPlaceType.CDBG,PPlaceType.INDIANAREAS]}this.defaultPlaceTypes=[];this.defaultPlaceTypes[0]=PPlaceType.STATE;this.defaultPlaceTypes[4]=PPlaceType.COUNTY;this.defaultPlaceTypes[9]=PPlaceType.CENSUSTRACT;this.defaultPlaceTypes[12]=PPlaceType.BLOCKGROUP;var select=document.createElement("select");select.className="boundaries";select.disabled=true;this.container.appendChild(select);this.typeMenu=select};PPolyCreatorBoundaryWidget.prototype={enable:function(){this.typeMenu.disabled=false},disable:function(){this.typeMenu.disabled=true},show:function(){this.populate();this.container.style.display="block"},hide:function(){this.container.style.display="none"},addTitle:function(){if(this.polycreator.isBuildOn())this.titleContainer.innerHTML=this.polycreator.buildType.title;else this.titleContainer.innerHTML=this.defaultTitle},populate:function(){for(var i=0;i<this.listeners.length;i++){PEvent.removeListener(this.listeners[i])}var select=this.typeMenu;select.innerHTML="";this.addTitle();if(!this.polycreator.isBuildOn()||this.polycreator.buildType!=this.polycreator.ASSEMBLE){var option=document.createElement("option");option.placetype=null;option.innerHTML="None";select.appendChild(option)}var pdef=null;var currentInd=map.getIndicator();if(currentInd!=null){var legend=map.getLegend();var indPlaceType=legend.getBoundaryType();var scale=map.getScale();if(indPlaceType.maplayers!=null&&indPlaceType.maplayers[0]&&this.checkMapLayerZoom(indPlaceType.maplayers[0],scale)==0){pdef=legend.getBoundaryDefinitionId(indPlaceType.id)}}if(pdef==null){var z=map.getZoom();for(var i=z;i>=0;i--){if(this.defaultPlaceTypes[i]!=null){pdef=boundaryMatrix.getDefinitionIdForTypeId(this.defaultPlaceTypes[i].id);break}}}for(var i=0;i<this.placetypes.length;i++){var curType=this.placetypes[i];var defs;var latestMatrixId=boundaryMatrix.getMatrixOrder()[0];if(curType==PPlaceType.CENSUSTRACT||curType==PPlaceType.BLOCKGROUP){defs=boundaryMatrix.getAllBoundaryDefinitionsForTypeId(curType.getId())}else{defs=[boundaryMatrix.getDefinitionForTypeId(curType.getId(),latestMatrixId)]}var numDefs=defs.length;for(var j=0;j<numDefs;j++){var curDef=defs[j];var curDefId=curDef.boundaryDefinitionId;var option=document.createElement("option");if(numDefs>1){option.innerHTML=curDef.displayName}else{option.innerHTML=curDef.simpleName}option.placetype=curType;option.defid=curDefId;if(this.polycreator.buildType==this.polycreator.ASSEMBLE&&curDefId==pdef){option.selected=true;this.addMapLayerAndInitAssemble(curType,curDefId)}select.appendChild(option)}}select.widget=this;this.listeners.push(PEvent.addListener(select,"change",function(){var polycreator=select.widget.polycreator;if(!this.options[this.selectedIndex].defid){polycreator.clearPolygonsWithin()}else if(polycreator.isBuildOn()&&polycreator.buildType==polycreator.ASSEMBLE){if(polycreator.hasBuildOverlays()){var text="If you change the boundary type, you will clear all existing boundaries on the map.";var s=this;var ok=function(){select.widget.addMapLayerAndInitAssemble(s.options[s.selectedIndex].placetype,s.options[s.selectedIndex].defid)};alerter.popup(text,"Cancel","OK",ok)}else{select.widget.addMapLayerAndInitAssemble(this.options[this.selectedIndex].placetype,this.options[this.selectedIndex].defid)}}else{polycreator.addPlacesWithinAllRegions(this.options[this.selectedIndex].placetype,this.options[this.selectedIndex].defid)}}))},addMapLayerAndInitAssemble:function(type,defId){this.removeMapLayers();this.addMapLayers(defId);this.polycreator.initAssembleRegion(type,defId)},addMapLayers:function(defId){this.maplayers=pMapLayer.getMapLayersByDefinitionId(defId);if(this.maplayers){for(var i=0;i<this.maplayers.length;i++){this.maplayers[i].on()}var scale=map.getScale();var text="";var showAlert=false;var mapLayerZoom=this.checkMapLayerZoom(this.maplayers[0],scale);if(mapLayerZoom>0){var label=this.maplayers[0].getLabel().replace("<br>"," ");var label=this.maplayers[0].getLabel().replace("<br>"," ");text="To see the "+label+" boundaries and labels on the map you'll need to zoom out.";showAlert=true}else if(mapLayerZoom<0){var label=this.maplayers[0].getLabel().replace("<br>"," ");text="To see the "+label+" boundaries and labels on the map you'll need to zoom in.";showAlert=true}if(showAlert){alerter.popup(text,"OK")}}},removeMapLayers:function(){if(this.maplayers){for(var i=0;i<this.maplayers.length;i++)this.maplayers[i].off()}},checkMapLayerZoom:function(mapLayer,scale){if(mapLayer.minScale&&scale<mapLayer.minScale){return 1}else if(mapLayer.maxScale&&scale>mapLayer.maxScale){return-1}else{return 0}}};PPolyCreatorCircleWidget=function(polycreator){this.polycreator=polycreator;var container=document.createElement("div");this.container=container;container.id="custom-regions__circle";container.className="custom-regions__creator";jQuery(container).hide();$("#custom-regions__map-options").append(container);var div=document.createElement("div");div.className="title";this.titleContainer=div;this.titleContainer.innerHTML="Specify Center of Radius:";this.container.appendChild(div);var searchContainer=document.createElement("div");searchContainer.id="custom-region-radius-search";$(searchContainer).addClass("noStartOver");$(searchContainer).addClass("noSetLocationIcon");$(container).append(searchContainer);var searchTabTypes=["Default"];var options={noStartOver:true,noSetLocationIcon:true,noSearchTypes:true,noAutosuggest:true,width:"175px"};var searchbox=new PTRFPlaceSearchBox(searchContainer,searchTabTypes,options);this.searchbox=searchbox;this.exampleAddress='e.g., "421 North Boundary Street, Williamsburg, VA 23185"';searchbox.textbox.value=this.exampleAddress;searchbox.defaultText=this.exampleAddress;var that=this;searchbox.addListener("response",function(places){if(places instanceof PAddress){if(places.wasFound()){that.showCircle(places)}else{var content='Location "<b>'+places.addr+"</b>\" not found. For help finding your address:  <a class='pagelinks' href='/blog?p=200' target='_blank'>click here</a>";alerter.popup(content,"OK")}}else{alerter.popup("Please specify a street address, not an area.","OK")}});this.container.appendChild(searchContainer);var div=document.createElement("div");div.className="title";div.innerHTML="OR<br />Click Map to Center Radius";this.container.appendChild(div);var div=document.createElement("div");div.className="radiusDiv";var span=document.createElement("span");span.className="title";span.innerHTML="Specify Radius:";div.appendChild(span);var radius=document.createElement("input");radius.type="text";radius.className="radius";radius.id="radiusSetting";radius.value=.5;if(PEnvironment.pageName=="widget"){radius.value=1}PEvent.addListener(radius,"keydown",function(e){e=e?e:event?event:null;if(e&&e.keyCode==13)that.searchbox.submit()});this.radius=radius;div.appendChild(radius);var span=document.createElement("span");span.innerHTML="Miles";span.className="radiusText";div.appendChild(span);var go=document.createElement("input");go.type="image";go.src="/images/global-button-go-xlarge.gif";go.alt="Go";PEvent.addListener(go,"click",function(){that.searchbox.submit()});div.appendChild(go);this.container.appendChild(div)};PPolyCreatorCircleWidget.prototype={show:function(){this.searchbox.textbox.value=this.exampleAddress;this.container.style.display="block"},hide:function(){this.container.style.display="none"},showCircle:function(address){var point=new PLatLng(address.y,address.x);var miles=this.polycreator.circleWidget.radius.value;var vert=this.polycreator.drawCircle(point,miles,true);this.polycreator.CIRCLE.address=address instanceof PLatLng?address.y+", "+address.x:address.addr;var polyline=new PPolyline(vert,"#e68000");this.polycreator.map.addOverlay(polyline);this.polycreator.buildingOverlays.push(polyline);this.polycreator.eventManager.triggerEvent("addpoly",[point])}};PPolyCreator=function(options){if(options)this.options=options;else this.options=new PPolyCreatorOptions;$("#map").append('<div id="custom-regions__map-options">');this.click=null;this.points=[];this.savePoints=[];this.polyline=null;this.name=null;this.description=null;this.buildingOverlays=[];this.eventTypes=new Object;this.eventTypes.addpoly="addpoly";this.eventTypes.savepoly="savepoly";this.eventTypes.saveAssembledPoly="saveassemblepoly";this.eventTypes.saveCirclePoly="savecirclepoly";this.eventTypes.removepoly="removepoly";this.eventTypes.renamepoly="renamepoly";this.eventManager=new _eventManager;for(var ev in this.eventTypes)this.eventManager.registerEventID(ev);this.buildType=null;this.DRAW={};this.DRAW.title="Show Boundaries in Region:";this.DRAW.regions={};this.DRAW.ctypeid="1";this.ASSEMBLE={};this.ASSEMBLE.title="<span>Select Areas on the Map By:</span>";this.ASSEMBLE.polygons=[];this.ASSEMBLE.places=[];this.ASSEMBLE.placeids=[];this.ASSEMBLE.ctypeid="2";this.CIRCLE={};this.CIRCLE.title="Show Boundaries in Region:";this.CIRCLE.centerpoint=null;this.CIRCLE.address=null;this.CIRCLE.radius=null;this.CIRCLE.ctypeid="3";this.customPlaces={};this.customPlacesCount=0;this.polygonsWithin=[];this.defaultcolor="#e68000";this.defaultopacity="0.7";this.defaultfill=false;this.defaultweight=5};PPolyCreator.prototype.addListener=function(eventId,func){this.eventManager.registerForEvent(eventId,[],func)};PPolyCreator.prototype.removeListener=function(eventId,func){this.eventManager.deregisterForEvent(eventId,[],func)};PPolyCreator.prototype.attachMap=function(map){this.map=map;this.initCustomRegionType()};PPolyCreator.prototype.detachMap=function(){if(this.map&&this.click)this.map.removeListener(this.click)};PPolyCreator.prototype.cancelPoly=function(stillBuilding){if(!stillBuilding)this.resetBuildType();this.resetBuildOptions();this.clearBuildingOverlays();this.boundaryWidget.populate()};PPolyCreator.prototype.clearBuildingOverlays=function(){var overlays=this.buildingOverlays;for(var i=0;i<overlays.length;i++){this.map.removeOverlay(overlays[i])}this.buildingOverlays=[]};PPolyCreator.prototype.resetBuildOptions=function(){this.polyline=null;this.points=[];this.places=[];this.name=null;this.description=null;this.ASSEMBLE.verts=[];this.ASSEMBLE.places=[];this.boundaryWidget.removeMapLayers();this.assembleInfoWidget.update();this.CIRCLE.address=null;this.CIRCLE.centerpoint=null;this.CIRCLE.centeraddress=null;if(this.map)this.map.closeInfoWindow()};PPolyCreator.prototype.reset=function(){this.resetBuildOptions();this.resetPlaces();this.toggleWidgets()};PPolyCreator.prototype.resetPlaces=function(){this.customPlaces={};this.customPlacesCount=0};PPolyCreator.prototype.addPoly=function(point,radius,places){if(radius){this.eventManager.triggerEvent("addpoly",[point])}else if(places){point=this.ASSEMBLE.places[0].getVertices()[0][0];this.eventManager.triggerEvent("addpoly",[point])}if(point.equals(this.points[0])){this.points.push(point);this.clearBuildingOverlays();var polygon=new PPolygon(this.points,this.options.poly.color,this.options.poly.weight,this.options.poly.opacity,this.options.poly.fill);this.buildingOverlays.push(polygon);this.map.addOverlay(polygon);this.savePoints=this.points.slice();this.points=[];this.eventManager.triggerEvent("addpoly",this.savePoints)}};PPolyCreator.prototype.addPointLine=function(point){this.points.push(point);if(this.map){var marker=new PMarker(point,this.options.icon);this.buildingOverlays.push(marker);this.map.addOverlay(marker);if(this.points.length>1){var polyline=new PPolyline([point,this.points[this.points.length-2]],this.options.line.color,this.options.line.weight,this.options.line.opacity);this.buildingOverlays.push(polyline);this.map.addOverlay(polyline)}}};PPolyCreator.prototype.saveDrawPoly=function(){if(this.name==null||this.name.trim()==""){alerter.popup("A custom region title is required.","OK");return}if(this.savePoints.length<4)return;if(!this.savePoints[0].equals(this.savePoints[this.savePoints.length-1]))this.savePoints.push(this.savePoints[0]);this.clearBuildingOverlays();var verts=[];for(var i=0;i<this.savePoints.length;i++){verts.push([this.savePoints[i].lng(),this.savePoints[i].lat()])}var region={name:this.name,desc:this.description,verts:[verts]};var postData=JSON.stringify(region);var self=this;var saveError=function(){alerter.popup("There was an error saving your custom region.","OK")};ajax.call({type:"POST",url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&sbr=1&act=c&crty="+this.DRAW.ctypeid,dataType:"json",data:postData,success:function(result){if(result==null||result.cr==null||!(result.cr.status&&result.cr.status=="ok")||result.cr.regions==null||result.cr.regions.length<1){saveError()}else{var newPlace=self.createPlaceFromObject(result.cr.regions[0]);self.eventManager.triggerEvent("savepoly",[newPlace])}},error:function(){saveError()}})};PPolyCreator.prototype.sharePolyDialog=function(id,label){if(!PEnvironment.isPolicyMap&&PEnvironment.isSiteLicense&&!isAutoLoginUser()){var allUsersText;var individualUserText;if(productProperty.getValue("site_license_university")){allUsersText="All University Users";individualUserText="Individual University User"}else{allUsersText="All Site License Users";individualUserText="Individual Site License User"}var alertText="<div class='alertDialogTitle'>Share Region</div><div class='alertDialogHR'></div>Share this custom region with:<br /><div style='margin: 10px 5px;'><input id='shareRegionGeneral' type='radio' name='shareRegionOption' value='all' checked> <label for='shareRegionGeneral' style='margin-right: 35px;'>"+allUsersText+"</label><br /><input id='shareRegionIndividual' type='radio' name='shareRegionOption' value='individual'> <label for='shareRegionIndividual'>"+individualUserText+"</label></div>";alerter.popup(alertText,"Cancel","Share",function(){var whichShare=$("input[name='shareRegionOption']:checked").val();if(whichShare=="all"){polycreator.sharePolyWithSiteLicense(id,function(message){alerter.popup(message,"OK")})}else{genericAlertDialog({template:"mypolicymap",action:"shareregion",cpid:id,regionname:label})}})}else{genericAlertDialog({template:"mypolicymap",action:"shareregion",cpid:id,regionname:label})}};PPolyCreator.prototype.sharePoly=function(id,shareTo,message,callback){var parms="&crid="+id+"&crst="+encodeURIComponent(shareTo);if(message!=null&&message.trim()!=""){parms+="&crmsg="+encodeURIComponent(message)}var who=PEnvironment.isSiteLicense?"site license user":"subscriber";ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&act=s"+parms,dataType:"json",success:function(result){if(result!=null&&result.cr!=null&&result.cr.status!=null){if(result.cr.status=="nouser"){callback("The email address you entered does not match a "+who+" in our system. Please check the email address and try again.")}else if(result.cr.status=="thisuser"){callback("You must specify another "+who+" to share a region.")}else if(result.cr.status=="ok"){callback("The region was sent successfully.")}else{callback("There was an error sharing your custom region.")}}else{callback("There was an error sharing your custom region.")}},error:function(){callback("There was an error sharing your custom region.")}})};PPolyCreator.prototype.sharePolyWithSiteLicense=function(id,callback){var parms="&crid="+id+"&crst=all";ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&act=s"+parms,dataType:"json",success:function(result){if(result!=null&&result.cr!=null&&result.cr.status!=null){if(result.cr.status=="ok"){callback("The region was sent successfully.")}else{callback("There was an error sharing your custom region.")}}else{callback("There was an error sharing your custom region.")}},error:function(){callback("There was an error sharing your custom region.")}})};PPolyCreator.prototype.renamePoly=function(id,newName,callback){var renameError=function(){callback("There was an error renaming this region.")};ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&act=r&crid="+id+"&crn="+encodeURIComponent(newName),dataType:"json",success:function(result){if(result!=null&&result.cr!=null&&result.cr.status!=null&&result.cr.status=="ok"){callback("OK")}else{renameError()}},error:function(){renameError()}});this.eventManager.triggerEvent("renamepoly",id,newName)};PPolyCreator.prototype.renamePolyDialog=function(id,label){genericAlertDialog({template:"mypolicymap",action:"rename",id:id,regionname:label,type:"region"})};PPolyCreator.prototype.deletePoly=function(id,callback){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&act=d&crid="+id,dataType:"json",success:function(result){if(result!=null&&result.cr!=null&&result.cr.status!=null&&result.cr.status=="ok"){callback(true)}else{callback(false)}},error:function(){callback(false)}})};PPolyCreator.prototype.load=function(ids,callback){var self=this;var idString;if(_.isArray(ids)){idString=ids.join(",")}else{idString=ids}ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&act=g&crid="+idString,dataType:"json",success:function(result){if(result==null||result.cr==null||!(result.cr.status&&result.cr.status=="ok")||result.cr.regions==null||result.cr.regions.length<1){callback([])}else{var places=[];for(var i=0;i<result.cr.regions.length;i++){places.push(self.createPlaceFromObject(result.cr.regions[i]))}callback(places)}},error:function(){callback([])}})};PPolyCreator.prototype.polyload=function(bid,pname,plat,plng,callback){var self=this;ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&act=p&pbdid="+bid+"&plat="+encodeURIComponent(plat)+"&plng="+encodeURIComponent(plng)+"&pname="+encodeURIComponent(pname),dataType:"json",success:function(result){if(result==null||result.cr==null||!(result.cr.status&&result.cr.status=="ok")||result.cr.regions==null||result.cr.regions.length<1){callback([])}else{var newPlace=self.createPlaceFromObject(result.cr.regions[0]);callback([newPlace])}},error:function(){callback([])}})};PPolyCreator.prototype.loadByUser=function(callback){var self=this;ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&act=ga",dataType:"json",success:function(result){if(result&&result.cr&&result.cr.status&&result.cr.status=="ok"&&result.cr.regions){var places=[];for(var i=0;i<result.cr.regions.length;i++){places.push(self.createPlaceFromObject(result.cr.regions[i]))}callback(places)}}})};PPolyCreator.prototype.initDrawRegion=function(){var polycreator=this;this.detachMap();this.click=PEvent.addListener(this.map,"click",function(overlay,point){if(overlay&&polycreator.points.length<3){var text="You need at least one more point to complete a proper custom region. Click OK and continue where you left off to finish your custom region.";alerter.popup(text,"OK")}else if(overlay){polycreator.addPoly(overlay.point)}else if(point){polycreator.addPointLine(point)}})};PPolyCreator.prototype.addPolyMarker=function(place,polylines,map){if(!this.map&&map)this.map=map;var point1=polylines[0].points[0];var midpos=Math.round(polylines[0].points.length/2);var point2=polylines[0].points[midpos];var icon=new PIcon(PIcon.POINT);icon.iconSize=new PSize(12,12);icon.shadow="";icon.image="/images/remove_icon_active.png";var clearmarker=new PMarker(point2,icon);clearmarker.buildtype=this.buildType;icon.image="/images/pins/polygon_red.png";var infomarker=new PMarker(point1,icon);clearmarker.image.index=this.getCustomPlacesCount();clearmarker.image.polylines=polylines;clearmarker.image.polycreator=this;clearmarker.image.infomarker=infomarker;clearmarker.image.clearmarker=clearmarker;clearmarker.image.place=place;this.customPlaces[place.id].markers=[infomarker,clearmarker];infomarker.image.infomarker=infomarker;infomarker.image.place=place;PEvent.addListener(infomarker,"click",function(){var content=PMIdentificationPrinter.printCustomPolyPlaces(this.place);
this.marker.openInfoWindowHtml(content)});PEvent.addListener(clearmarker,"click",function(e){this.polycreator.removeCustomRegionFromMap(this.place);e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}});this.map.addOverlay(clearmarker);this.map.addOverlay(infomarker)};PPolyCreator.prototype.saveAssemblePoly=function(){if(this.name==null||this.name.trim()==""){alerter.popup("A custom region title is required.","OK");return}this.map.closeInfoWindow();this.boundaryWidget.hide();this.assembleInfoWidget.hide();this.showSavingDialog();var places=this.ASSEMBLE.places;this.clearBuildingOverlays();var pids=[];for(var p=0;p<places.length;p++){pids.push(places[p].id)}var region={name:this.name,desc:this.description,bids:pids,defid:places[0].getDefinitionId()};var postData=JSON.stringify(region);var self=this;var saveError=function(){alerter.popup("There was an error saving your custom region.","OK")};ajax.call({type:"POST",url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&sbr=1&act=c&crty="+this.ASSEMBLE.ctypeid,dataType:"json",data:postData,success:function(result){if(result==null||result.cr==null||!(result.cr.status&&result.cr.status=="ok")||result.cr.regions==null||result.cr.regions.length<1){saveError()}else{var newPlace=self.createPlaceFromObject(result.cr.regions[0]);self.eventManager.triggerEvent("savepoly",[newPlace])}},error:function(){saveError()}})};PPolyCreator.prototype.saveCirclePoly=function(){if(this.name==null||this.name.trim()==""){alerter.popup("A custom region title is required.","OK");return}this.clearBuildingOverlays();var points=this.CIRCLE.points;var verts=[];for(var i=0;i<points.length;i++){verts.push([points[i].lng(),points[i].lat()])}var region={name:this.name,desc:this.description,verts:[verts],rad:this.CIRCLE.radius};if(this.CIRCLE.address){region.caddr=this.CIRCLE.address}var postData=JSON.stringify(region);var self=this;var saveError=function(){alerter.popup("There was an error saving your custom region.","OK")};ajax.call({type:"POST",url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&sbr=1&act=c&crty="+this.CIRCLE.ctypeid,dataType:"json",data:postData,success:function(result){if(result==null||result.cr==null||!(result.cr.status&&result.cr.status=="ok")||result.cr.regions==null||result.cr.regions.length<1){saveError()}else{var newPlace=self.createPlaceFromObject(result.cr.regions[0]);self.eventManager.triggerEvent("savepoly",[newPlace])}},error:function(){saveError()}})};PPolyCreator.prototype.initAssembleRegion=function(type,defId){this.resetType();if(this.isBuildOn())this.assembleInfoWidget.show();this.detachMap();var polycreator=this;this.click=PEvent.addListener(this.map,"click",function(overlay,point){if(overlay)return;polycreator.addPlace(type,defId,point)})};PPolyCreator.prototype.removeAssembledPlaceIfExists=function(place){var assplaces=this.ASSEMBLE.places;var assverts=this.ASSEMBLE.verts;for(var j=0;j<assplaces.length;j++){if(assplaces[j].id==place.id){for(var p=0;p<assplaces[j].savedPolys.length;p++)map.removeOverlay(assplaces[j].savedPolys[p]);assplaces.splice([j],1);assverts.splice([j],1);polycreator.assembleInfoWidget.update();return true}}return false};PPolyCreator.prototype.addPlace=function(type,defId,point){var geocoder=new PClientGeocoder;geocoder.getPlacesContaining(point,type,null,defId,function(places){var place=places[0];if(places.length==0){var latestMatrixId=boundaryMatrix.getMatrixOrder()[0];var def=boundaryMatrix.getDefinitionForTypeId(type.getId(),latestMatrixId);var name=def.displayName;alerter.popup("There is no "+name+" located here. Try another location or select a different type of area from the menu.");return}if(type==PPlaceType.CITY){for(var i=0;i<places.length;i++){if(places[i].state!=null)place=places[i]}}var verts=place.getVertices();var assverts=polycreator.ASSEMBLE.verts;var assplaces=polycreator.ASSEMBLE.places;place.savedPolys=[];for(var i=0;i<verts.length;i++){if(i==0){if(polycreator.removeAssembledPlaceIfExists(place))return true}var polygon=new PPolygon(verts[i],"#eb5920",1,.5,"#ffffff");polycreator.ASSEMBLE.polygons.push(polygon);polycreator.buildingOverlays.push(polygon);polycreator.map.addOverlay(polygon);polycreator.ASSEMBLE.lastpoint=point;assverts.push(verts[i]);place.savedPolys.push(polygon);if(i==verts.length-1)assplaces.push(place);polycreator.assembleInfoWidget.update()}})};PPolyCreator.prototype.showSaveInfoWindow=function(point){var polycreator=this;var html="<div class='polycreatorInfoBubble'>";html+="Name: <input class='nameField' type='text' maxlength='64' onchange='polycreator.name=this.value;' /><br /><br />";html+="Description:<br /><textarea onchange='polycreator.description=this.value;' cols='20' rows='3' /></textarea><br />";html+="<div id='crButtons' class='buttons'></div>";html+="</div>";if(this.buildType==this.DRAW){var icon=new PIcon(PIcon.POINT);icon.iconSize=new PSize(12,12);icon.shadow="";icon.image="/images/pins/polygon_red.png";var marker=new PMarker(point,icon);marker.image.point=point;PEvent.addListener(marker,"click",function(){polycreator.showSaveInfoWindow(this.point)});this.buildingOverlays.push(marker);this.map.addOverlay(marker);marker.openInfoWindowHtml(html);this.points=[]}else if(this.buildType==this.ASSEMBLE){if(this.ASSEMBLE.places.length==0){customAlert('To create an Assembled Custom Region, click inside the boundaries you wish to include and when you are finished, click "Save Region" to name your region.');return}this.map.openInfoWindowHtml(point,html)}else if(this.buildType==this.CIRCLE){var icon=new PIcon(PIcon.POINT);icon.iconSize=new PSize(12,12);icon.shadow="";icon.image="/images/pins/polygon_red.png";var marker=new PMarker(point,icon);marker.image.point=point;PEvent.addListener(marker,"click",function(){polycreator.showSaveInfoWindow(this.point)});this.buildingOverlays.push(marker);this.map.addOverlay(marker);marker.openInfoWindowHtml(html);this.points=[]}var saveText="Save";if(PEnvironment.pageName=="widget"){saveText="Done"}var saveButton=$("<img />");saveButton.attr({src:PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&w=76&h=24&tx="+saveText,border:"0",alt:saveText});saveButton.click(function(e){e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}var buildType=polycreator.buildType;if(buildType==polycreator.DRAW){polycreator.saveDrawPoly()}else if(buildType==polycreator.ASSEMBLE){polycreator.saveAssemblePoly()}else if(buildType==polycreator.CIRCLE){polycreator.saveCirclePoly()}});var cancelButton=$("<img />");cancelButton.attr({src:PEnvironment.dataServicesUrl+"?id=1&ty=image&t=lbl&sy=2&fs=11&w=76&h=24&tx=Cancel",border:"0",alt:"Cancel"});cancelButton.click(function(e){e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation()}polycreator.cancelPoly(true)});$("#crButtons").append(saveButton,cancelButton)};PPolyCreator.prototype.resetType=function(){this.ASSEMBLE.verts=[];this.ASSEMBLE.places=[];var polygons=this.ASSEMBLE.polygons;for(var i=0;i<polygons.length;i++){map.removeOverlay(polygons[i])}this.assembleInfoWidget.update()};PPolyCreator.prototype.initRadiusRegion=function(){var polycreator=this;this.clearBuildingOverlays();this.detachMap();var that=this;this.click=PEvent.addListener(this.map,"click",function(overlay,point){if(overlay)return;var searchValue=Math.round(point.lat()*1e5)/1e5+","+Math.round(point.lng()*1e5)/1e5;if(isCBClone()){var miles=that.circleWidget.$radiusElem.val();that.circleWidget.rsearch.$textbox.val(searchValue)}else{var miles=document.getElementById("radiusSetting").value;that.circleWidget.searchbox.textbox.value=searchValue}if(miles==0||miles==null){var text="You need to add a radius.";alerter.popup(text,"OK");return}var vert=polycreator.drawCircle(point,miles);var icon=new PIcon(PIcon.POINT);icon.iconSize=new PSize(12,12);icon.shadow="";icon.image="/images/pins/polygon_red.png";var marker=new PMarker(point,icon);polycreator.map.addOverlay(marker);polycreator.buildingOverlays.push(marker);var polyline=new PPolyline(vert,"#e68000");polycreator.buildingOverlays.push(polyline);polycreator.map.addOverlay(polyline);polycreator.eventManager.triggerEvent("addpoly",[point])})};PPolyCreator.prototype.drawCircle=function(point,miles,recenter){this.clearBuildingOverlays();var centerpoint=point;dist=miles*1609.344;var radiusX=centerpoint.moveBy("0 1N",dist);var radiusY=centerpoint.moveBy("90 1N",dist);var xRadiusMetres=radiusX.lat()-centerpoint.lat();var yRadiusMetres=radiusY.lng()-centerpoint.lng();var pointyeast=centerpoint.lng()+yRadiusMetres;var pointywest=centerpoint.lng()-yRadiusMetres;var pointxsouth=centerpoint.lat()-xRadiusMetres;var pointxnorth=centerpoint.lat()+xRadiusMetres;var sw=new PLatLng(pointxsouth,pointywest);var ne=new PLatLng(pointxnorth,pointyeast);if(recenter)this.map.setCenterBounds(new PLatLngBounds(sw,ne));var circlepoints=[];with(Math){for(var a=0;a<361;a+=5){var aRad=a*(PI/180);var pointx=centerpoint.lat()+xRadiusMetres*cos(aRad);var pointy=centerpoint.lng()+yRadiusMetres*sin(aRad);var p=new PLatLng(pointx,pointy);circlepoints.push(p)}}this.CIRCLE.centerpoint=centerpoint;this.CIRCLE.radius=miles;this.CIRCLE.points=circlepoints;return circlepoints};PPolyCreator.prototype.customRegionsOn=function(){if(this.getCustomPlacesCount()>0)return true;else return false};PPolyCreator.prototype.toggleWidgets=function(){this.circleWidget.hide();this.assembleInfoWidget.hide();this.boundaryWidget.hide();if(!this.customRegionsOn()){this.clearPolygonsWithin();this.clearBuildingOverlays()}};PPolyCreator.prototype.addPlacesWithinAllRegions=function(type){this.clearPolygonsWithin();var count=this.getCustomPlacesCount();var places=this.customPlaces;if(count>0){for(var i in places){this.showPlacesWithin(places[i].place,type)}}};PPolyCreator.prototype.showPlacesWithin=function(place,type){var polycreator=this;place.getPlacesWithin(type,null,null,function(places){for(var i=0;i<places.length;i++){for(var j=0;j<places[i].getVertices().length;j++){var poly=new PPolygon(places[i].getVertices()[j],"#eb5920",3,.1,"#eb5920",.4);polycreator.map.addOverlay(poly);polycreator.polygonsWithin.push(poly)}}},3)};PPolyCreator.prototype.clearPolygonsWithin=function(){if(this.polygonsWithin.length>0){for(var i=0;i<this.polygonsWithin.length;i++)map.removeOverlay(this.polygonsWithin[i])}};PPolyCreator.prototype.clearPolyline=function(polylines){if(!polylines){return}for(var i=0;i<polylines.length;i++){this.map.removeOverlay(polylines[i]);if(polylines[i].infomarker){this.map.removeOverlay(polylines[i].infomarker);this.map.removeOverlay(polylines[i].clearmarker)}}};PPolyCreator.prototype.clearPolylineAssembled=function(polylines){for(var i=0;i<polylines.length;i++){for(var j=0;j<polylines[i].length;j++){this.map.removeOverlay(polylines[i][j])}if(polylines[i].infomarker){this.map.removeOverlay(polylines[i].infomarker);this.map.removeOverlay(polylines[i].clearmarker)}}};PPolyCreator.prototype.initCustomRegionType=function(){if(this.buildType==this.DRAW){this.initDrawRegion()}else if(this.buildType==this.CIRCLE){this.initRadiusRegion()}};PPolyCreator.prototype.isBuildOn=function(){return this.buildType?true:false};PPolyCreator.prototype.resetBuildType=function(){this.buildType=null};PPolyCreator.prototype.addPlaceById=function(){this.customPlaces[place.id].place=place};PPolyCreator.prototype.setUpPlaceAndPolylines=function(place,map,noIcons){if(!map)this.map=map;this.customPlacesCount++;this.customPlaces[place.id]={};this.customPlaces[place.id].place=place;this.addPolylines(place);if(noIcons==null){this.addPolyMarker(place,this.customPlaces[place.id].polylines,map)}this.addCustomRegionToSession(place)};PPolyCreator.prototype.addPolylines=function(place){var polylines=[];var vertices=place.getVertices();var color=place.color!=null?place.color:this.defaultcolor;var opacity=place.opacity!=null?place.opacity:this.defaultopacity;var fill=place.fill!=null?place.fill:this.defaultfill;this.customPlaces[place.id].polylines=[];for(var i=0;i<vertices.length;i++){var fillopacity=0;var fillcolor=null;if(fill){fillopacity=opacity;fillcolor=color}var polyline=new PPolygon(vertices[i],color,this.defaultweight,opacity,fillcolor,fillopacity);place.polyline=polyline;this.polyline=polyline;map.addOverlay(polyline);this.customPlaces[place.id].polylines.push(polyline);polylines.push(polyline)}place.polylines=polylines};PPolyCreator.prototype.addCustomRegionForTable=function(place,norefresh){var placesToLoad=[];if(place instanceof Array){placesToLoad=place}else{placesToLoad.push(place)}for(var i=0;i<placesToLoad.length;i++){this.customPlacesCount++;this.customPlaces[placesToLoad[i].id]={};this.customPlaces[placesToLoad[i].id].place=placesToLoad[i]}if(!norefresh){refreshCubeQueue(placesToLoad)}this.addCustomRegionToSession(placesToLoad[0])};PPolyCreator.prototype.removeCustomRegionFromMap=function(place){var region=this.customPlaces[place.id];this.clearPolyline(region.polylines);var markers=region.markers;if(markers){for(var i=0;i<markers.length;i++){this.map.removeOverlay(markers[i])}}delete this.customPlaces[place.id];this.customPlacesCount--;var dropdownEl=region.dropdownEl;if(dropdownEl){dropdownEl.on=false;dropdownEl.className=""}if(map.getInfoWindow()){map.closeInfoWindow()}this.removeCustomRegionFromSession(place);this.eventManager.triggerEvent("removepoly",[place])};PPolyCreator.prototype.removeCustomRegionFromTable=function(place){var regions=this.customPlaces;if(regions[place.id]){var dropdownEl=regions[place.id].dropdownEl;if(dropdownEl){dropdownEl.on=false;dropdownEl.className=""}delete regions[place.id];this.customPlacesCount--}this.removeCustomRegionFromSession(place)};PPolyCreator.prototype.getCustomPlacesCount=function(){return this.customPlacesCount};PPolyCreator.prototype.addCustomRegionToSession=function(place){var places=this.customPlaces;var cp="";for(var i in places){cp+=places[i].place.id+","}cp=cp.substring(0,cp.length-1);session.put("cp",cp)};PPolyCreator.prototype.removeCustomRegionFromSession=function(place){var places=this.customPlaces;var cp="";for(var i in places){cp+=places[i].place.id+","}cp=cp.substring(0,cp.length-1);session.put("cp",cp)};PPolyCreator.prototype.hasBuildOverlays=function(){return this.buildingOverlays.length>0?true:false};PPolyCreator.prototype.showSavingDialog=function(){if(!this.saveLoading){var div=$("<div/>");this.savingDialog=div;div.attr({id:"savingCustomRegionDialog"});div.hide();div.html("<img src='/images/busy.gif' class='center'><br />Building and saving your custom region...");var mapDiv=$(this.map.getContainer());mapDiv.append(div)}jQuery(this.savingDialog).fadeIn()};PPolyCreator.prototype.hideSavingDialog=function(){jQuery(this.savingDialog).hide()};PPolyCreator.prototype.addSavedPoly=function(places){if(PEnvironment.pageName=="report_area"){var customplaces=polycreator.customPlaces;for(var i in customplaces){polycreator.removeCustomRegionFromMap(customplaces[i].place)}}custom_place=places[0];polycreator.setUpPlaceAndPolylines(places[0],map);if(polycreator.buildType==polycreator.ASSEMBLE){polycreator.resetBuildType()}if(polycreator.buildType==polycreator.CIRCLE){polycreator.circleWidget.hide()}toggleCustomRegion();saveEffect();if(polycreator.dropdown){polycreator.dropdown.setUsersPlaces()}polycreator.hideSavingDialog()};PPolyCreator.prototype.setPolyStyle=function(place,options){var region=this.customPlaces[place.id];var polys=region.polylines;var opacity=options.opacity;var color=options.color;var fill=options.fill;var fillopacity=0;for(var i=0;i<polys.length;i++){if(!color)color=polys[i].color;if(!opacity)opacity=polys[i].opacity;if(fill){if(opacity)fillopacity=opacity;else fillopacity=polys[i].opacity}polys[i].setStyle(color,polys[i].weight,opacity,color,fillopacity)}place.opacity=opacity;place.fill=fill;place.color=color;var that=this;var func=function(msg){that.load(place.id,function(p){if(p.length<1){alerter.popup("There was an error updating this custom region.","OK");return}var newplace=p[0];that.removeCustomRegionFromMap(place);that.setUpPlaceAndPolylines(newplace,map);var content=PMIdentificationPrinter.printCustomPolyPlaces(newplace);that.customPlaces[newplace.id].markers[0].openInfoWindowHtml(content);if(that.dropdown){that.dropdown.setUsersPlaces()}})};if(!options.delaySave){this.saveStyleChanges(place,func)}};PPolyCreator.prototype.saveStyleChanges=function(place,callback){var self=this;var fill=place.fill?1:0;ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&act=st&crid="+place.id+"&crf="+fill+"&crc="+encodeURIComponent(place.color)+"&cro="+encodeURIComponent(place.opacity),dataType:"json",success:function(result){if(result==null||result.cr==null||!(result.cr.status&&result.cr.status=="ok")||result.cr.regions==null||result.cr.regions.length<1){callback([])}else{var newPlace=self.createPlaceFromObject(result.cr.regions[0]);callback([newPlace])}},error:function(){callback([])}})};PPolyCreator.prototype.updateAfterSave=function(polyplace){var that=this;this.load(polyplace.id,function(p){var newplace=p[0];that.removeCustomRegionFromMap(polyplace);that.setUpPlaceAndPolylines(newplace,map);that.dropdown.setUsersPlaces();alerter.popup(msg,"OK")})};PPolyCreator.prototype.createPlaceFromObject=function(region){var place=new PPlace;place.id=region.id;place.label=region.label;place.author=region.author;if(region.created&&region.created!=""){place.created=region.created}else{place.created="N/A"}if(region.description!=null){place.description=region.description}else{place.description=""}place.typeid=region.typeid;if(region.centroid){place.centroid=new PLatLng(parseFloat(region.centroid.y),parseFloat(region.centroid.x))}if(region.bounds){place.bounds=new PLatLngBounds(new PLatLng(parseFloat(region.bounds.min.y),parseFloat(region.bounds.min.x)),new PLatLng(parseFloat(region.bounds.max.y),parseFloat(region.bounds.max.x)))}place.vertices=[];if(region.vertices){for(var i=0;i<region.vertices.length;i++){var curPolygon=region.vertices[i];var newPolygon=[];for(var j=0;j<curPolygon.length;j++){newPolygon.push(new PLatLng(parseFloat(curPolygon[j].y),parseFloat(curPolygon[j].x)))}place.vertices.push(newPolygon)}}if(place.typeid==PPlaceType.CUSTOM.id){place.ctypeid=region.ctypeid;if(region.color){place.color=region.color!=null?"#"+region.color:this.defaultcolor}if(region.opacity){place.opacity=region.opacity!=null?region.opacity:this.defaultopacity}if(region.fill){place.fill=region.fill!=null?region.fill:this.defaultfill}if(region.ctypeid==this.ASSEMBLE.ctypeid&&region.vertices){place.aplaces=[];for(var i=0;i<region.aplaces.length;i++){var curPlace=region.aplaces[i];var newPlace=new PPlace;newPlace.id=curPlace.id;newPlace.label=curPlace.label;newPlace.typeid=curPlace.typeid;newPlace.defid=curPlace.defid;newPlace.state=curPlace.state;newPlace.identifier=curPlace.identifier;place.aplaces.push(newPlace)}place.placeids=region.placeids}if(region.ctypeid==this.CIRCLE.ctypeid){if(region.radius){place.radius=region.radius}if(region.caddress){var arr=region.caddress.split(",");var isLatLng=true;for(var i=0;i<arr.length;i++){if(isNaN(arr[i])){isLatLng=false;break}}if(isLatLng){region.caddress=Math.round(arr[0]*1e5)/1e5+", "+Math.round(arr[1]*1e5)/1e5}place.caddress=region.caddress}}}else if(place.typeid==PPlaceType.POLYGON.id){place.polysetid=region.polysetid}return place};function toggleCustomRegion(opts){var $customRegionButton;if(isCustomRegionOn()){cancelCustomRegion();map.disablePolyCreator(polycreator);polycreator.cancelPoly();polycreator.toggleWidgets();if(PEnvironment.pageName=="maps"||PEnvironment.pageName=="analytics"){mapOptionsEnable()}}else{map.closeInfoWindow();if(PEnvironment.pageName!=="widget"){$customRegionButton=$(".custom-regions__create");$customRegionButton.addClass("is-active");$customRegionButton.html("Cancel")}else{$customRegionButton=$("#customregion");$customRegionButton.html("Cancel Custom Region")}genericAlertDialog({template:"custom-region"})}}function selectCustomRegionType(type){var isForWidget=false;if(PEnvironment.pageName=="widget"){isForWidget=true}var content="";if(type==1){polycreator.buildType=polycreator.DRAW;content="<h2>Drawn Custom Region</h2>";if(isForWidget){content+='<p>To create a Drawn Custom Region, click a spot on the map, move your mouse to another spot and click, and continue until you close the region by clicking back on the first point. When you are finished, name your region and click "Done".</p>'+'<p>To disable this feature, click "Disable Custom Region" at the bottom of the map. Click "Clear Location" to remove your custom region from the map.</p>'}else{content+="<p>To create a Drawn Custom Region, click a spot on the map, move your mouse to another spot and click, "+"and continue until you close the region by clicking on the first point.</p>"+"<p>At that point you may name the region and save it to "+dnf.getName("myPolicyMap")+". </p>"+'<p>To disable this feature, click "Cancel" at the bottom of the map.</p>'}}else if(type==2){polycreator.buildType=polycreator.ASSEMBLE;content="<h2>Assembled Custom Region</h2>";if(isForWidget){content+='<p>To create an Assembled Custom Region, click inside the boundaries you wish to include. To remove a boundary, click it again. When you are finished, name your region and click "Done".</p>'+'<p>To disable this feature, click "Disable Custom Region" at the bottom of the map. Click "Clear Location" to remove your custom region from the map.</p>'}else{content+="<p>To create an Assembled Custom Region, click inside the boundaries you wish to include.  To remove a boundary, click it again.</p>"+'<p>When you are finished, click "Save Region" to name your region and save it to '+dnf.getName("myPolicyMap")+".</p>"+"<p>The map will display the default boundary for the current zoom level.  The boundary will display in the pulldown and can be changed there.</p>"+'<p>To disable this feature, click "Cancel" at the bottom of the map.</p>';var indicatorArr=[];if(PEnvironment.pageName=="analytics"){for(var i=0;i<3;i++){try{var ind=map.getLegendMerger().getLegend(i).getIndicator();indicatorArr.push(ind)}catch(err){console.log(err)}}}else{try{var ind=map.getIndicator();indicatorArr.push(ind)}catch(err){console.log(err)}}if(indicatorArr.length>0){var fakeBlockGroupsInd=[9901950,9901951,9901952,9901953,9901955,9932700,9932701,9932702,9932703,9932704,9932705,9932706,9932707,9932708,9932709,9932710,9932711,9932712,9932713,9932714,9932715,9932716,9933250,9933251,9901954,9902200,9902202,9902203,9902204,9902205,9902201,9933252,9933253,9933255,9933254,9903400,9903401,9903402,9903403,9903405,9903404,9903450,9903451,9903452,9903453,9903455,9903454,9903500,9903501,9903502,9903503,9903505,9903504,9903550,9903551,9903552,9903553,9903555,9903554,9899704,9933500,9926550,9926551,9926552,9926553,9926554,9926555,9926556,9926557,9926558,9926559,9926560,9926561,9926562,9926563,9926564,9926565,9926566,9926567,9926568,9926569,9926570,9926571,9926572,9926573,9926574,9926575,9926576,9926577,9904501,9904502,9904503,9904504,9904505,9904500,9935797,9935798,9935803,9935807,9935808,9935802,9935804,9935805,9935801,9935806,9935795,9935796,9935799,9935800,9927850,9927851,9927852,9927853,9927854,9927855,9928401,9928403,9928404,9928405,9928406,9928400,9928402,9928407,9919605,9919609,9919610,9919616,9919619,9919600,9919601,9919602,9919604,9919606,9919607,9919608,9919611,9919612,9919613,9919614,9919615,9919617,9919618,9919620,9919621,9919623,9919624,9919622,9919603,9905600,9905601,9905602,9905603,9905604,9905605,9905606,9905607,9905608,9896358,9896370,9896371,9896381,9896388,9896350,9896351,9896352,9896353,9896354,9896355,9896392,9896356,9896357,9896359,9896360,9896361,9896362,9896363,9896364,9896365,9896366,9896367,9896368,9896369,9896372,9896373,9896374,9896375,9896376,9896377,9896378,9896379,9896380,9896382,9896383,9896384,9896385,9896386,9896387,9896389,9896390,9896391,9896393,9896394,9896395,9896396,9896397,9899700,9899701,9899702,9899705,9899703,9935597,9935598,9935599,9935600,9935601,9907254,9907256,9907259,9907260,9907252,9907262,9907253,9907250,9907251,9907255,9907257,9907258,9907261,9907507,9907508,9907514,9907516,9907517,9909658,9909661,9909662,9909663,9909664,9909650,9909651,9909652,9909653,9909654,9909655,9909656,9909657,9909659,9909660,9909665,9909666,9909667,9910202,9910203,9910209,9910213,9910214,9910208,9910200,9910201,9910204,9910205,9910206,9910207,9910210,9910211,9910212];var flaggedIndicatorNames=[];for(var i=0;i<indicatorArr.length;i++){if(indicatorArr[i]==null){continue}var indid=indicatorArr[i].getID();var indname=indicatorArr[i].getLabel();for(var j=0;j<fakeBlockGroupsInd.length;j++){if(indid==fakeBlockGroupsInd[j]){flaggedIndicatorNames.push(indname)}}}if(flaggedIndicatorNames.length>0){content="<h2>Assembled Custom Region</h2>";if(flaggedIndicatorNames.length>1){content+="<p>Creating an Assembled Custom Region for the following indicators is not available: "}else{content+="<p>Creating an Assembled Custom Region for the following indicator is not available: "}content+=flaggedIndicatorNames.join(", ");content+=".</p>";if(PEnvironment.pageName=="analytics"){if(flaggedIndicatorNames.length>1){content+="<p>Please remove the indicators from the 3 Layer Map to create your custom region.</p>"}else{content+="<p>Please remove the indicator from the 3 Layer Map to create your custom region.</p>"}}else{content+="<p>Please remove the indicator from the map to create your custom region.</p>"}alerter.popup(content,"OK");$("button.custom-regions__create").click();return}}}}else if(type==3){polycreator.buildType=polycreator.CIRCLE;var miles=polycreator.CIRCLE.radius||1;var unit=" mile";if(miles!=1){unit+="s"}miles+=unit;if(isForWidget){content="<h2>Radius Region</h2>"+"<p>To create a Radius Region, either enter an address to center the radius, or click directly on the map.</p>"+'<p>The radius can be changed in the white box on the map. When you are finished, click "GO", which will allow you to name your region and click "Done".</p>'+'<p> To disable this feature, click "Cancel Custom Region" at the bottom of the map. Click "Clear Location" to remove your custom region from the map.</p>'}else{content="<h2>Radius Region</h2>"+"<p>To create a Radius Region, either enter an address to center the radius, or click directly on the map.</p>"+'<p>The radius can be changed in the white box on the map. When you are finished, click "GO", which will allow you to name your region and click "Save" to save it to '+dnf.getName("myPolicyMap")+".</p>"+'<p> To disable this feature, click "Cancel" at the bottom of the map.</p>'}}var next=function(){map.enablePolyCreator(polycreator);polycreator.initCustomRegionType();if(polycreator.buildType==polycreator.CIRCLE)polycreator.circleWidget.show();if(polycreator.buildType==polycreator.ASSEMBLE){polycreator.boundaryWidget.enable();if(PEnvironment.pageName=="maps"){map.mapOptions.setToDefault();jQuery("#optsbox").hide();mapOptionsDisable()}polycreator.boundaryWidget.show()}};var cancel=function(){cancelCustomRegion()};alerter.popup(content,"Cancel","OK",next,cancel)}function cancelCustomRegion(){if(PEnvironment.pageName==="widget"){$("#customregion").html("Build Custom Region")}else{$(".custom-regions__create").html("Create").removeClass("is-active")}}PMap.prototype.enablePolyCreator=function(polycreator){polycreator.attachMap(this)};PMap.prototype.disablePolyCreator=function(polycreator){polycreator.detachMap(this)};PPolyCreator.prototype.confirmRemoveCBRegion=function(){var self=this;var alerter=new PAlerter;alerter.popup("Are you sure you want to clear this custom area?","No","Yes",function(){self.removeCBRegion()})};PPolyCreator.prototype.isCBCustomRegionSet=function(){return this.polyline!=null};PPolyCreator.prototype.startCBDrawn=function(){this.enableCBCustomRegion(this.DRAW)};PPolyCreator.prototype.startCBRadius=function(){this.enableCBCustomRegion(this.CIRCLE)};PPolyCreator.prototype.disableRegionBuilderCB=function(callback){var self=this;var f=function(){if(callback){callback()}self.circleWidget.hide();self.drawWidget.hide()};if(this.isBuildingCBRegion()){var alerter=new PAlerter;alerter.popup("You are currently building a custom area on the map. Do you wish to abandon this region?","No","Yes",function(){self.stopCBRegion();f()},function(){return})}else if(this.isCBCustomRegionSet()){var alerter=new PAlerter;alerter.popup("You currently have a custom area on the map. Do you wish to clear this region?","No","Yes",function(){self.removeCBRegion();f()},function(){return})}else{f()}};PPolyCreator.prototype.stopCBRegion=function(){this.resetBuildType();this.resetBuildOptions();this.clearBuildingOverlays();map.disablePolyCreator(polycreator)};PPolyCreator.prototype.removeCBRegion=function(){this.circleWidget.hide();this.drawWidget.hide();this.drawWidget.resetGenerateButton();this.circleWidget.resetGenerateButton();var map=this.map;var customplaces=this.customPlaces;if(this.polyline){map.removeOverlay(this.polyline);for(var i=0;i<this.polyline.markers.length;i++){map.removeOverlay(this.polyline.markers[i])}}if(map.currentAddressMarker){map.removeOverlay(map.currentAddressMarker)}for(var i in customplaces){this.removeCustomRegionFromMap(customplaces[i].place)}this.resetBuildType();this.resetBuildOptions();map.disablePolyCreator(polycreator)};PPolyCreator.prototype.enableCBCustomRegion=function(type){if(!$(".profile").hasClass("on")){return}var self=this;var enableRegionBuilding=function(){map.closeInfoWindow();self.buildType=type;map.enablePolyCreator(polycreator);if(type==self.DRAW){$("#drawRegionOption").addClass("on");$("#radiusRegionOption").removeClass("on")}else if(type==self.CIRCLE){$("#radiusRegionOption").addClass("on");$("#drawRegionOption").removeClass("on")}self.displayCBRegionMapOverlay(type)};enableRegionBuilding()};PPolyCreator.prototype.isBuildingCBRegion=function(){return $(".modal").is(":visible")&&!this.isCBCustomRegionSet()};PPolyCreator.prototype.displayCBRegionMapOverlay=function(type){var self=this;if(type==this.DRAW){this.drawWidget.show()}else if(type==this.CIRCLE){this.circleWidget.show()}};PPolyCreator.prototype.finishCBRegion=function(){if(this.polyline){map.removeOverlay(this.polyline);if(this.polyline.markers){for(var i=0;i<this.polyline.markers.length;i++){map.removeOverlay(this.polyline.markers[i])}}}var that=this;var addReportLink=function(region){session.remove("cp");session.put("cp",region.id);that.customPlaces[region.id]={};that.customPlaces[region.id].place=region;var but=that.circleWidget.$generateButton;but.unbind("click");but.removeAttr("href");var f=function(){but.addClass("on");but.attr({href:getProfileReportUrl(region),target:"_blank"});showCloneCustomRegionInfoBubble(region.getCentroid())};if(P.CloneOptions.report_limit_boundary_id){region.getAggregates(PPlaceType.COUNTY,2,null,function(counties){var allowReport=true;if(P.CloneOptions.report_limit_boundary_id&&(counties.length>1||counties[0].id!=P.CloneOptions.report_limit_boundary_id)){allowReport=false}if(allowReport){f()}else{but.click(function(){notInPhiladelphiaAlert()});showCloneCustomRegionInfoBubble(region.getCentroid())}})}else{f()}};if(this.buildType==this.DRAW){if(this.savePoints.length<4){return}if(!this.savePoints[0].equals(this.savePoints[this.savePoints.length-1])){this.savePoints.push(this.savePoints[0])}this.polyline=new PPolygon(this.savePoints,this.options.line.color,this.options.line.weight,this.options.line.opacity,this.options.poly.fill);polycreator.saveDrawPolyCB(function(region){addReportLink(region)})}else if(this.buildType==this.CIRCLE){this.polyline=new PPolygon(this.CIRCLE.points,this.options.line.color,this.options.line.weight,this.options.line.opacity,this.options.poly.fill);polycreator.saveCirclePolyCB(function(region){addReportLink(region)})}else{return}this.clearBuildingOverlays();this.map.addOverlay(this.polyline);this.addPolyMarkerCB();map.disablePolyCreator(polycreator)};PPolyCreator.prototype.addPolyMarkerCB=function(){var polylines=[this.polyline];var midpos=Math.round(polylines[0].points.length/2);var point=polylines[0].points[midpos];var icon=new PIcon(PIcon.POINT);icon.iconSize=new PSize(12,12);
icon.shadow="";icon.image="/images/remove_icon_active.png";var clearmarker=new PMarker(point,icon);clearmarker.image.index=this.getCustomPlacesCount();clearmarker.image.polylines=polylines;clearmarker.image.polycreator=this;clearmarker.image.clearmarker=clearmarker;this.polyline.markers=[clearmarker];var self=this;PEvent.addListener(clearmarker,"mouseup",function(){self.confirmRemoveCBRegion()});this.map.addOverlay(clearmarker)};PPolyCreator.prototype.saveCirclePolyCB=function(callback){this.clearBuildingOverlays();var points=this.CIRCLE.points;var verts=[];for(var i=0;i<points.length;i++){verts.push([points[i].lng(),points[i].lat()])}var region={name:productProperty.getValue("name"),verts:[verts],rad:this.CIRCLE.radius};if(this.CIRCLE.address){region.caddr=this.CIRCLE.address}var postData=JSON.stringify(region);var self=this;ajax.call({type:"POST",url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&sbr=1&act=c&crty="+this.CIRCLE.ctypeid,dataType:"json",data:postData,success:function(result){if(result==null||result.cr==null||!(result.cr.status&&result.cr.status=="ok")||result.cr.regions==null){callback(false)}else{var newPlace=self.createPlaceFromObject(result.cr.regions[0]);callback(newPlace)}},error:function(){callback(false)}})};PPolyCreator.prototype.saveDrawPolyCB=function(callback){if(this.savePoints.length<4)return;if(!this.savePoints[0].equals(this.savePoints[this.savePoints.length-1]))this.savePoints.push(this.savePoints[0]);var verts=[];for(var i=0;i<this.savePoints.length;i++){verts.push([this.savePoints[i].lng(),this.savePoints[i].lat()])}var region={name:productProperty.getValue("name"),verts:[verts]};var postData=JSON.stringify(region);var self=this;ajax.call({type:"POST",url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cr&sbr=1&act=c&crty="+this.DRAW.ctypeid,dataType:"json",data:postData,success:function(result){if(result==null||result.cr==null||!(result.cr.status&&result.cr.status=="ok")||result.cr.regions==null){callback(false)}else{var newPlace=self.createPlaceFromObject(result.cr.regions[0]);callback(newPlace)}},error:function(){callback(false)}})};PPolyCreator.prototype.updateRadiusCB=function(point,miles){map.removeOverlay(this.polyline);for(var i=0;i<this.polyline.markers.length;i++){map.removeOverlay(this.polyline.markers[i])}polycreator.drawCircle(point,miles);polycreator.eventManager.triggerEvent("addpoly",[point])};PPolyCreatorOptions=function(){this.icon=new PIcon;this.icon.image=PEnvironment.kamapUrl+"images/icon_polypoint.gif";this.icon.iconSize=new PSize(10,10);this.icon.shadowSize=new PSize(0,0);this.icon.iconAnchor=new PPoint(5,5);this.line=new Object;this.line.color="#999999";this.line.weight=4;this.line.opacity=.7;this.poly=new Object;this.poly.color="#eb5920";this.poly.weight=4;this.poly.opacity=.7;this.poly.fill="#eb7041";this.turnDrawOn=true;this.turnAssembleOn=true;this.turnRadiusOn=true};PPolygon=function(points,color,weight,opacity,fill,fillopacity){this.points=points;if(color)this.color=color;else this.color="#eb5920";if(weight)this.weight=weight;else this.weight=5;if(opacity)this.opacity=opacity;else this.opacity=.7;if(fill)this.fill=fill;else this.fill="#eb7041";if(fillopacity||fillopacity==0)this.fillopacity=fillopacity;else this.fillopacity=.7;this.attributes=[]};PPolygon.prototype=new PPolyline(this.points,this.color,this.weight,this.opacity);PPolygon.prototype.getArea=function(proj){if(this.area){return this.area}else{this.area=0}var pointCount=this.getVertexCount();var proj=proj?proj:new PProjection(54004);var area=0;if(pointCount>=3){var p0=proj.fromLatLngToMeters(this.getVertex(0));var cross,p1,p2,x1,y1,x2,y2;for(var i=1;i+1<pointCount;++i){p1=proj.fromLatLngToMeters(this.getVertex(i));p2=proj.fromLatLngToMeters(this.getVertex(i+1));x1=p1.x-p0.x;y1=p1.y-p0.y;x2=p2.x-p0.x;y2=p2.y-p0.y;cross=x1*y2-x2*y1;area+=cross}}this.area=Math.abs(area/2);return this.area};PPolygon.prototype.getAggregateCount=function(placeType,matrixId,defId,callback,woverlap,wquota,wcontext){var self=this;self.getPlacesWithinCount(placeType,matrixId,defId,function(placesWithinCount){callback(placesWithinCount)},woverlap,wquota,wcontext)};PPolygon.prototype.getAggregates=function(placeType,matrixId,defId,callback,woverlap,wmax,worder,wquota,coverlap,cmax,corder,cquota,attr){var self=this;self.getPlacesWithin(placeType,matrixId,defId,function(placesWithin){if(placesWithin.length>0){callback(placesWithin)}else{self.getPlacesContaining(placeType,matrixId,defId,function(placesContaining){callback(placesContaining)},coverlap,cmax,corder,cquota,attr)}},woverlap,wmax,worder,wquota,attr)};PPolygon.prototype.getPlacesWithin=function(placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr){(new PClientGeocoder).getPlacesWithin(this.points,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr)};PPolygon.prototype.getPlacesWithinCount=function(placetype,matrixId,defId,callback,overlap,quota,context){(new PClientGeocoder).getPlacesWithinCount(this.points,placetype,matrixId,defId,callback,overlap,quota,context)};PPolygon.prototype.getPlacesWithinPage=function(placetype,matrixId,defId,callback,overlap,maxResults,order,quota,context,offset,query){(new PClientGeocoder).getPlacesWithinPage(this.points,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,context,offset,query)};PPolygon.prototype.getPlacesWithinCSV=function(placetype,matrixId,defId,overlap,order,quota,query){(new PClientGeocoder).getPlacesWithinCSV(this.points,placetype,matrixId,defId,overlap,order,quota,query)};PPolygon.prototype.getPlacesContaining=function(placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr){(new PClientGeocoder).getPlacesContaining(this.points,placetype,matrixId,defId,callback,overlap,maxResults,order,quota,attr)};PPolygon.prototype.getPlacesContainingCount=function(placetype,matrixId,defId,callback,overlap,quota){(new PClientGeocoder).getPlacesContainingCount(this.points,placetype,matrixId,defId,callback,overlap,quota)};PPolygon.prototype.getPlacesOverlapping=function(placetype,matrixId,defId,callback,quota,maxResults,order){(new PClientGeocoder).getPlacesOverlapping(this,placetype,matrixId,defId,callback,quota,maxResults,order)};PPolygon.prototype.getPlacesOverlappingCount=function(placetype,matrixId,defId,callback,quota){(new PClientGeocoder).getPlacesOverlappingCount(this,placetype,matrixId,defId,callback,quota)};PPolygon.prototype.getPlacesIntersecting=function(placetype,matrixId,defId,callback,quota,maxResults,order){(new PClientGeocoder).getPlacesIntersecting(this,placetype,matrixId,defId,callback,quota,maxResults,order)};PPolygon.prototype.getPlacesIntersectingCount=function(placetype,matrixId,defId,callback,quota){(new PClientGeocoder).getPlacesIntersectingCount(this,placetype,matrixId,defId,callback,quota)};PPolygon.prototype.getPlacesIntersectingPage=function(placetype,matrixId,defId,callback,maxResults,order,quota,context,offset,query){(new PClientGeocoder).getPlacesIntersectingPage(this.points,placetype,matrixId,defId,callback,maxResults,order,quota,context,offset,query)};PPolygon.prototype.getPlacesIntersectingCSV=function(placetype,matrixId,defId,order,quota,query){(new PClientGeocoder).getPlacesIntersectingCSV(this.points,placetype,matrixId,defId,null,order,quota,query)};PQAWidget=function(container){this.container=container;this.eventTypes=new Object;this.eventTypes.click="click";this.eventTypes.change="change";this.eventManager=new _eventManager;for(var ev in this.eventTypes)this.eventManager.registerEventID(ev);this.reset()};PQAWidget.prototype.addListener=function(eventId,f){this.eventManager.registerForEvent(eventId,[],f)};PQAWidget.prototype.click=function(ind,period,place){this.eventManager.triggerEvent(this.eventTypes.click,ind,period,place)};PQAWidget.prototype.change=function(category){var s=this.getCurrentSection();if(s)s.style.display="none";category=category.replace("&","\\&");var selector="#qa_"+category;var ret=jQuery(this.container).children(".qagroup").filter(selector).css("display","block");this.eventManager.triggerEvent(this.eventTypes.change,category)};PQAWidget.prototype.reset=function(){jQuery(this.container).children(".qagroup").eq(0).css("display","block")};PQAWidget.prototype.getCurrentSection=function(){var sections=this.container.childNodes;var l=sections.length;var s;for(var i=0;i<l;i++){s=sections[i];if(s.id&&s.id.indexOf("qa_")>=0&&s.style.display!="none")return s}};PRadius=function(centerPoint,distanceMiles){this.centerPoint=centerPoint;this.distanceMiles=distanceMiles;this.distanceMeters=distanceMiles*1609.344;this.boundaries=null};PRadius.prototype.getCenter=function(){return this.centerPoint};PRadius.prototype.getDistanceMiles=function(){return this.distanceMiles};PRadius.prototype.getDistanceMeters=function(){return this.distanceMeters};PRadius.prototype.getBounds=function(){if(this.boundaries==null){var c=getCircle(this.distanceMiles,this.centerPoint);this.boundaries=c.circlepoints}return this.boundaries};PRadius.prototype.getMarkersWithin=function(overlaySet,callback){(new PClientGeocoder).getMarkersWithin(this,overlaySet,callback)};PRankingCube.prototype=new PCube;function PRankingCube(inds,places,periods,options){PCube.call(this,inds,places,periods);this.options=options||new PRankingCubeOptions}PRankingCube.prototype.loadValues=function(callback){var inds=this.indicators;var indString="";for(var i=0;i<inds.length;i++){indString+=","+inds[i].id}var places=this.places;var placeString="";for(var i=0;i<places.length;i++){var curPlace=places[i];if(curPlace.getType()!=PPlaceType.CUSTOM&&curPlace.getType()!=PPlaceType.POLYGON){placeString+=","+curPlace.id}}if(placeString.length>0&&indString.length>0){this.loading=true;indString=indString.substring(1);placeString=placeString.substring(1);var periodString=this.periods.join(",");var reqString="id="+indString+"&bid="+placeString+"&per="+periodString;reqString+=this.options.loadRankings?"&ranks=true":"&ranks=false";reqString+=this.options.loadValues?"&vals=true":"&vals=false";if(this.options.listOptions!=null&&this.options.listOptions.length==2){reqString+="&pos="+this.options.listOptions[0];reqString+="&len="+this.options.listOptions[1]}this.callback=callback;ajax.call({url:PEnvironment.indicatorUrl+"?"+reqString,context:this,success:this.loadValuesCallback})}};PRankingCube.prototype.loadValuesCallback=function(values){for(var period in values){for(var bid in values[period]){for(var indid in values[period][bid]){var v=values[period][bid][indid];values[period][bid][indid]=new PRankingValue({value:v[0],rank:v[1],position:v[2],totalRanked:v[3],totalBoundaries:v[4],boundaryName:v[5]})}}}this.values=values;this.callback(values)};PRankingCube.prototype.setOptions=function(options){this.options=options};PRankingCube.prototype.getSumOfPlaces=function(ind,per,mean){var indid;if(ind)indid=ind.id;else indid=this.indicators[0].id;var period;if(per)period=per;else period=this.periods[0];var sum=null;var placelength=0;var l=this.places.length;for(var i=0;i<l;i++){var value=this.values[period][this.places[i].id][indid][0];if(!(ind.nodata&&value==ind.nodata)&&value!=null){sum+=value;placelength++}}if(mean&&placelength>0)return sum/placelength;else return sum};PRankingCube.prototype.getSortedValuesOfPlaces=function(ind,per){var indid;if(ind)indid=ind.id;else indid=this.indicators[0].id;var period;if(per)period=per;else period=this.periods[0];var values=[];for(var i=0;i<this.places.length;i++){var value=this.values[period][this.places[i].id][indid][0];if(!(ind.nodata&&value==ind.nodata)&&value!=null)values.push(value)}return values.sort(function(a,b){return a<b?-1:1})};PRankingCube.prototype.getSumOfIndicators=function(place,per,mean){var placeid;if(place)placeid=place.id;else placeid=this.places[0].id;var period;if(per)period=per;else period=this.periods[0];var sum=null;var indlength=0;for(var i=0;i<this.indicators.length;i++){var value=this.values[period][placeid][this.indicators[i].id][0];if(!(this.indicators[i].nodata&&value==this.indicators[i].nodata)&&value!=null){sum+=value;indlength++}}if(mean&&indlength>0)return sum/indlength;else return sum};PRankingCube.prototype.getSortedValuesOfIndicators=function(place,per){var placeid;if(place)placeid=place.id;else placeid=this.places[0].id;var period;if(per)period=per;else period=this.periods[0];var values=[];for(var i=0;i<this.indicators.length;i++){var value=this.values[period][placeid][this.indicators[i].id][0];if(!(this.indicators[i].nodata&&value==this.indicators[i].nodata)&&value!=null)values.push(value)}return values.sort(function(a,b){return a<b?-1:1})};PRankingCube.prototype.getSumOfPeriods=function(place,ind,mean){var placeid;if(place)placeid=place.id;else placeid=this.places[0].id;var indid;if(ind)indid=ind.id;else indid=this.indicators[0].id;var sum=null;var plength=0;for(var i=0;i<this.periods.length;i++){var value=this.values[this.periods[i]][placeid][indid][0];if(!(ind.nodata&&value==ind.nodata)&&value!=null){sum+=value;plength++}}if(mean&&plength>0)return sum/plength;else return sum};PRankingCube.prototype.getSortedValuesOfPeriods=function(place,ind){var placeid;if(place)placeid=place.id;else placeid=this.places[0].id;var indid;if(ind)indid=ind.id;else indid=this.indicators[0].id;var values=[];for(var i=0;i<this.periods.length;i++){var value=this.values[this.periods[i]][placeid][indid][0];if(!(ind.nodata&&value==ind.nodata)&&value!=null)values.push(value)}return values.sort(function(a,b){return a<b?-1:1})};function PRankingCubeOptions(values){values=values||new Object;this.loadRankings=values["loadRankings"]!=null?values["loadRankings"]:true;this.listOptions=values["listOptions"]!=null?values["listOptions"]:null}function PRankingValue(values){values=values||new Object;this.value=values["value"];this.rank=values["rank"];this.position=values["position"];this.totalRanked=values["totalRanked"];this.totalBoundaries=values["totalBoundaries"];this.boundaryName=values["boundaryName"]}PReportLink=function(){var urlParams=getUrlParams();this.url="reports?"+reportObject.urlSuffix;if(map!=null&&!urlParams["cx"]){var center=map.getCenterLatLng();this.url+="&cx="+center.x;this.url+="&cy="+center.y;this.url+="&cs="+map.getScale()}var elems=jQuery(".sectioncontent");var arr=[];for(var i=0;i<elems.length;i++){if(elems[i].style.display=="none"){arr.push(0)}else{arr.push(1)}}this.url+="&sections="+arr.toString();this.name=$($(".reportname")[0]).text();if((reportObject==null||reportObject.code==null||reportObject.locationType==null)&&urlParams["area"]&&urlParams["type"]){var paramStr="";for(var i in urlParams){if(i!=""){paramStr+=i+"="+urlParams[i]+"&"}}if(paramStr.length>0){paramStr=paramStr.substring(0,paramStr.length-1)}this.url="reports?"+paramStr}if(urlParams["type"]=="hud"){this.name+=": "+urlParams["pname"]}else if(urlParams["type"].indexOf("wf_")==0){this.name=$($(".reporttitle")[0]).text()+": "+urlParams["pname"]}this.name+=" "+formattedDate();this.url+="&formattedDate="+formattedDate()};ProductProperty=function(data){this.data=data;this.PRODUCT_TYPE_SERVICES_CLIENT=1;this.PRODUCT_TYPE_SITE_LICENSE=2;this.PRODUCT_TYPE_WIDGET=3;this.PROPERTY_TYPE_TEXT=1;this.PROPERTY_TYPE_NUMBER=2;this.PROPERTY_TYPE_BOOLEAN=3;this.PROPERTY_TYPE_JSON_OBJECT=4;this.typeNames={};this.typeNames[this.PROPERTY_TYPE_TEXT]="Text";this.typeNames[this.PROPERTY_TYPE_NUMBER]="Number";this.typeNames[this.PROPERTY_TYPE_BOOLEAN]="Boolean";this.typeNames[this.PROPERTY_TYPE_JSON_OBJECT]="JSON Object"};ProductProperty.prototype.exists=function(propertyName){return this.data[propertyName]!=null};ProductProperty.prototype.get=function(propertyName){if(this.data[propertyName]==null){return null}else{return this.data[propertyName]}};ProductProperty.prototype.getValue=function(propertyName){if(this.data[propertyName]==null){return false}else{return this.data[propertyName].value}};ProductProperty.prototype.getTypeId=function(propertyName){if(this.data[propertyName]==null){return null}else{return this.data[propertyName].type}};ProductProperty.prototype.getTypeName=function(propertyName){if(this.data[propertyName]==null){return null}else{return this.typeNames[this.data[propertyName].type]}};PSession=function(data){this.eventManager=new PEventManager;this.key=PEnvironment.sessionKey;this.ACTION_GET="get";this.ACTION_SET="set";this.ACTION_CLEAR="clear";this.ACTION_ATTRIB="attrib";this.ACTION_META="meta";this.url=PEnvironment.sessionUrl;this.init(data)};PSession.prototype.init=function(data){var self=this;self.purge();_.each(data,function(value,key){if(typeof value==="string"){switch(key){case"cp":try{self.put(key,JSON.parse(value))}catch(exception){self.put(key,value.split(","))}break;default:self.put(key,value)}}else{self.put(key,value)}})};PSession.prototype.purge=function(){this.data={}};PSession.prototype.toURI=function(){var query="?";if(this.get("i"))query+="i="+this.get("i");if(this.get("p"))query+="&p="+this.get("p");if(this.get("period"))query+="&period="+this.get("period");if(this.get("tf"))query+="&tf="+this.get("tf");if(this.get("o"))query+="&o="+this.get("o");query=query=="?"?"":query;return query};PSession.prototype.fromURI=function(o){this.put("p",o["p"]);this.put("i",o["i"]);this.put("period",o["period"]);this.put("tf",o["tf"]);this.put("o",o["o"])};PSession.prototype.onput=function(k,v){this.eventManager.triggerListeners("put",k,v)};PSession.prototype.onremove=function(k){this.eventManager.triggerListeners("remove",k)};PSession.prototype.onchange=function(){this.eventManager.triggerListeners("change")};PSession.prototype.addListener=function(eventId,f){this.eventManager.addListener(eventId,f)};PSession.prototype.get=function(k){return this.data[k]};PSession.prototype.put=function(key,value){if(value==null||value===""||typeof value=="object"&&$.isEmptyObject(value)){this.remove(key);return}if(typeof value=="number")value+="";switch(key){case"cp":if(typeof value==="string"){this.data[key]=value.split(",")}else if(_.isArray(value)){this.data[key]=value;this.onput(key,value)}break;default:this.data[key]=value;this.onput(key,value)}this.onchange()};PSession.prototype.remove=function(k){if(this.data[k]==null){return}this.data[k]="";this.save();delete this.data[k];this.onremove()};PSession.prototype.removeAllRelevant=function(){var removeVars=["i","btd","p","chp","pLabel","o","dlo","dloz","period","tf","place","lat","lng","zoom","ofilters","cp","nb","moo","legendind","mvalayers","lind","bid","pname","plat","plng","agg","rp","ps","m0i","m1i","m2i","curLat","curLng","curZoom"];for(var i=0;i<removeVars.length;i++){var check=this.get(removeVars[i]);if(check!=null){session.remove(removeVars[i])}}};PSession.prototype.clear=function(){this.data={};var post="key="+this.key+"&action="+this.ACTION_CLEAR;ajax.call({url:this.url,dataType:"json",type:"post",noars:true,pleaseWait:false,data:post,async:false})};PSession.prototype.save=function(){if(typeof developerControlPanel!="undefined"&&developerControlPanel.disableSessionSave==true){return}if(PEnvironment.pageName=="embedmap_dyn"){return}var url=this.url+"/set/"+(new Date).getTime()+Math.random();var post="";var d=this.data;for(var k in d){var v=d[k];if(typeof v!="undefined"&&v!="undefined"){if(typeof v=="object"){v=encodeURIComponent(JSON.stringify(v))}if(v!=null&&v!=""){post+=k+"="+v+"&"}else{post+=k+"=&"}}}post+="key="+this.key+"&action="+this.ACTION_SET;ajax.call({url:url,dataType:"json",type:"post",noars:true,pleaseWait:false,data:post,async:false})};PSession.prototype.load=function(ignoreRedirect,callback){ajax.call({url:this.url,context:this,dataType:"json",type:"post",data:"key="+this.key+"&action="+this.ACTION_GET,noars:true,pleaseWait:false,success:function(o){var redirect=null;if(ignoreRedirect==null||ignoreRedirect!==true){if(this.get("redirect")!=null){redirect=this.get("redirect")}}this.init(o);if(this.get(P.constants.sessionUsername)!=null){$(window).trigger(P.events.LOGGED_IN)}else{$(window).trigger(P.events.LOGGED_OUT)}if(redirect!=null){setWindowLocation(redirect)}if(callback!=null){callback()}}})};PSession.prototype.checkUrl=function(params){var urlParams;if(!params)urlParams=getUrlParams();else urlParams=params;if(urlParams["o"]){var os=urlParams["o"].split(",");for(var i=0;i<os.length;i++){if(!allowedPinsets(os[i]))return}}var staleIndicators=function(id,analytics){var staleInds=[9609197,9608806,9608894,9608769,9608989,9608896];for(var i=0;i<staleInds.length;i++){if(staleInds[i]==id){var text="The data layer that was saved with this page is no longer available. Please use the Add Data Layer menu above to select an alternative indicator.";if(analytics)text="One or more of the data layers saved with this page is no longer available. Please use the Add Data Layer menu above to select an alternative indicator.";alerter.popup(text,"OK");return true}}return false};if(!isCBClone()&&urlParams["i"]&&!ria[urlParams["i"]]){if(staleIndicators(urlParams["i"])){return}}if(urlParams["i"]||urlParams["btd"]||urlParams["p"]||urlParams["chp"]||urlParams["period"]||urlParams["tf"]||urlParams["place"]||urlParams["o"]||urlParams["dlo"]||urlParams["dloz"]||urlParams["ofilters"]||urlParams["cp"]||urlParams["nb"]||urlParams["moo"]||urlParams["lng"]||urlParams["lat"]||urlParams["zoom"]||urlParams["iwx"]||urlParams["iwy"]||urlParams["lind"]||urlParams["bid"]||urlParams["pname"]||urlParams["plat"]||urlParams["plng"]||urlParams["agg"]||urlParams["rp"]){this.remove("i");this.remove("btd");this.remove("p");this.remove("chp");this.remove("pLabel");this.remove("period");this.remove("tf");this.remove("place");this.remove("o");this.remove("dlo");this.remove("dloz");this.remove("ofilters");this.remove("cp");this.remove("nb");this.remove("moo");this.remove("lng");this.remove("lat");this.remove("zoom");this.remove("lind");this.remove("bid");this.remove("pname");this.remove("plat");this.remove("plng");this.remove("agg");this.remove("rp")}if(urlParams["m0i"]||urlParams["m1i"]||urlParams["m2i"]){for(var i=0;i<3;i++){this.remove("m"+i+"i");this.remove("m"+i+"btd");this.remove("m"+i+"r0");this.remove("m"+i+"r1");this.remove("m"+i+"period");this.remove("m"+i+"tf");this.remove("m"+i+"v");if(!isCBClone()&&urlParams["m"+i+"i"]&&!ria[urlParams["m"+i+"i"]]){if(staleIndicators(urlParams["m"+i+"i"],true)){continue}}if(urlParams["m"+i+"i"])this.put("m"+i+"i",urlParams["m"+i+"i"]);if(urlParams["m"+i+"btd"])this.put("m"+i+"btd",urlParams["m"+i+"btd"]);if(urlParams["m"+i+"r0"])this.put("m"+i+"r0",urlParams["m"+i+"r0"]);if(urlParams["m"+i+"r1"])this.put("m"+i+"r1",urlParams["m"+i+"r1"]);if(urlParams["m"+i+"period"])this.put("m"+i+"period",urlParams["m"+i+"period"]);if(urlParams["m"+i+"tf"])this.put("m"+i+"tf",urlParams["m"+i+"tf"]);if(urlParams["m"+i+"v"])this.put("m"+i+"v",urlParams["m"+i+"v"])}}if(urlParams["cp"]){this.put("cp",urlParams["cp"].split(","))}if(urlParams["i"])this.put("i",urlParams["i"]);if(urlParams["cx"])this.put("curLng",urlParams["cx"]);if(urlParams["cy"])this.put("curLat",urlParams["cy"]);if(urlParams["cz"])this.put("curZoom",urlParams["cz"]);if(urlParams["btd"])this.put("btd",urlParams["btd"]);if(urlParams["p"])this.put("p",urlParams["p"]);if(urlParams["chp"])this.put("chp",urlParams["chp"]);if(urlParams["period"])this.put("period",urlParams["period"]);if(urlParams["tf"])this.put("tf",urlParams["tf"]);if(urlParams["place"])this.put("place",unescape(urlParams["place"]));if(urlParams["o"])this.put("o",urlParams["o"]);if(urlParams["dlo"])this.put("dlo",urlParams["dlo"]);if(urlParams["dloz"])this.put("dloz",urlParams["dloz"]);if(urlParams["ofilters"])this.put("ofilters",urlParams["ofilters"]);if(urlParams["nb"])this.put("nb",urlParams["nb"]);if(urlParams["moo"])this.put("moo",urlParams["moo"]);if(urlParams["rmp"])this.put("rmp",urlParams["rmp"]);if(urlParams["lind"])this.put("lind",urlParams["lind"]);if(urlParams["bid"])this.put("bid",urlParams["bid"]);if(urlParams["pname"])this.put("pname",urlParams["pname"]);if(urlParams["plat"])this.put("plat",urlParams["plat"]);if(urlParams["plng"])this.put("plng",urlParams["plng"]);if(urlParams["agg"])this.put("agg",urlParams["agg"]);if(urlParams["rp"])this.put("rp",urlParams["rp"])};PSession.prototype.getFilters=function(overlaySet,ignoreColorCodes){var filters=[];var filterIdsString=this.get("ofilters");if(overlaySet==null||filterIdsString==null||filterIdsString.length<1){return filters}var filterIdsArray=filterIdsString.split(",");var filterIds=[];var colorCodeGroupIds=[];for(var i=0;i<filterIdsArray.length;i++){var curFilterId=filterIdsArray[i];if(curFilterId.charAt(0)=="c"&&ignoreColorCodes!==true){colorCodeGroupIds.push(curFilterId.substring(1))}else{filterIds.push(curFilterId)}}var filterGroups=overlaySet.getDisplayFilters();for(groupName in filterGroups){var groupFilters=filterGroups[groupName];if(groupFilters.length==0){continue}var curGroupId=groupFilters[0].groupId;if(colorCodeGroupIds.length>0){for(var j=0;j<colorCodeGroupIds.length;j++){if(colorCodeGroupIds[j]==curGroupId){var newFilter=new PAttributeFilter(groupName,["COLORCODE"],groupFilters[0].type,"Color Code All",groupFilters[0].columnName,groupFilters[0].columnType,0,curGroupId);filters.push(newFilter);colorCodeGroupIds.splice(j,1);break}}}if(filterIds.length>0){for(var j=0;j<groupFilters.length;j++){var curFilter=groupFilters[j];for(k=0;k<filterIds.length;k++){if(curFilter.id==filterIds[k]){filters.push(curFilter);filterIds.splice(k,1);break}}}}if(filterIds.length<1&&colorCodeGroupIds.length<1){break}}return filters};PSize=function(width,height){this.width=width;this.height=height};PSize.prototype.equals=function(other){if(this.width==other.width&&this.height==other.height)return true;else return false};PSize.prototype.toString=function(){return"("+this.width+", "+this.height+")"};PSmallMapControl=function(){};PSmallMapControl.prototype=new PSmallZoomControl;PTable=function(node,options,chart,cube){this.options=new PTableOptions;if(options){this.options=options}if(P.instances.chart){this.chart=P.instances.chart}else{this.chart=null}this.table=node;this.listeners=[];this.eventManager=new _eventManager;this.eventManager.registerEventID("setindicator");this.eventManager.registerEventID("removeindicator");this.eventManager.registerEventID("addoverlayset");this.eventManager.registerEventID("removeoverlayset");this.eventManager.registerEventID("clearoverlaysets");if(cube){this.setData(cube);this.refresh()}this.equivalentCache={};this.overlaySets=[]};PTable.prototype.setOptions=function(options){this.options=options};PTable.prototype.setData=function(cube){this.cube=cube;this.cube.tables.push(this)};PTable.prototype.clear=function(){for(var i=0;i<this.listeners.length;i++)PEvent.removeListener(this.listeners[i]);this.listeners=[];while(this.table.hasChildNodes())this.table.removeChild(this.table.firstChild);this.tablebody=document.createElement("tbody")};PTable.prototype.getPlaceLabel=function(place){var label=place.label;var type=place.getType();if(this.options.displayState){label+=place.getDisplayState()}if(type){if(type==PPlaceType.CUSTOM||type==PPlaceType.POLYGON||!place.getDefinitionId()){label+=" ("+place.getType().getName()+")"}else{label+=" ("+boundaryMatrix.getDisplayNameForDefinitionId(place.getDefinitionId())+")"}}return label};PTable.prototype.getMultiPlaceLabel=function(places){var placeCount=places.length;if(placeCount==0){return""}else if(placeCount==1){return this.getPlaceLabel(places[0])}else if(placeCount>1){var oxfordComma=placeCount==2?"":",";var lastLabel=this.getPlaceLabel(places.splice(-1,1)[0]);var otherLabels=[];for(var i=0;i<places.length;i++){otherLabels.push(this.getPlaceLabel(places[i]))}return otherLabels.join("<b>,</b> ")+oxfordComma+" <b>and</b> "+lastLabel}};PTable.prototype.getEquivalentPlaceLabel=function(place,equivalentPlaces,trendLabel){trendLabel=trendLabel==null||typeof trendLabel!="boolean"?false:trendLabel;var label=this.getPlaceLabel(place);var numPlaces=equivalentPlaces.length;if(numPlaces!=null&&numPlaces>0){if(trendLabel){label+=" <b>equivalent to</b> ";for(var i=0;i<numPlaces;i++){var curEquivalent=equivalentPlaces[i];if(i!=0){label+=", "}label+=this.getPlaceLabel(curEquivalent)}}else{label+="<br /><span class='equivalent'>equivalent to:";for(var i=0;i<numPlaces;i++){var curEquivalent=equivalentPlaces[i];label+="<br /><a onclick='selectPlace("+curEquivalent.getID()+");'>"+this.getPlaceLabel(curEquivalent)+"</a>"}label+="</span>"}}return label};PTable.prototype.getIndicatorLabel=function(ind){var label;if(this.options.displayFullIndicatorName)label=ind.getFullDisplayName();else label=ind.getLabel();return label};PTable.prototype.createChartLegend=function(div,index,elem){if(this.chart){if(this.chart.options.group==PChartOptions.INDICATOR&&elem instanceof PIndicator||this.chart.options.group==PChartOptions.PLACE&&elem instanceof PPlace||this.chart.options.group==PChartOptions.PERIOD&&!(elem instanceof PIndicator)&&!(elem instanceof PPlace)){var legend=this.options.chartLegend.cloneNode(true);var colors=this.chart.options.colorRamp.getColors();if(index>=colors.length)index=index-colors.length;var color=colors[index].getColor();legend.style.backgroundColor="#"+color;div.appendChild(legend)}}};PTable.prototype.createRemove=function(elem,floatStyle){var remove=document.createElement("div");var title="";if(elem instanceof PIndicator)title="Remove Indicator";else if(elem instanceof PPlace)title="Remove Place";else title="Remove Period";remove.title=title;var item=elem;var cube=this.cube;var self=this;this.listeners.push(PEvent.addListener(remove,"click",function(){cube.remove(item);$("#"+self.table.id).hide();setTimeout(function(){$("#"+self.table.id).show()},1)}));remove.style.cursor="pointer";remove.style.cssFloat=floatStyle;remove.style.styleFloat=floatStyle;remove.appendChild(this.options.removeButton.cloneNode(true));return remove};PTable.prototype.addListener=function(eventId,func){this.eventManager.registerForEvent(eventId,this,func);var event=new PEventListener(this,eventId,func);return event};PTable.prototype.removeListener=function(event){this.eventManager.deregisterForEvent(event.id,event.obj,event.func)};PTable.prototype.refresh=function(){this.clear();var rowVar=[];var colVar=[];if(this.options.row==PTableOptions.INDICATOR){rowVar=this.cube.indicators&&this.cube.indicators.constructor==Array&&this.cube.indicators.length?this.cube.indicators:[];colVar=this.cube.places;if(this.options.rowHeading==null)this.options.rowHeading="Indicators"}else{rowVar=this.cube.places;colVar=this.cube.indicators&&this.cube.indicators.constructor==Array&&this.cube.indicators.length?this.cube.indicators:[];if(this.options.rowHeading==null)this.options.rowHeading="Places"}var sortedPeriods=[];if(this.cube.periods.length<=0){this.options.displayPeriods=false}else{sortedPeriods=this.cube.periods.slice(0);sortedPeriods.sort()}var tr1=document.createElement("tr");var td1=document.createElement("th");td1.innerHTML=this.options.rowHeading;td1.rowSpan=2;tr1.appendChild(td1);this.tablebody.appendChild(tr1);var tr2=document.createElement("tr");for(var i=0;i<colVar.length;i++){var td2=document.createElement("th");td2.scope="col";var div=document.createElement("div");if(this.options.row==PTableOptions.INDICATOR){div.innerHTML=this.getPlaceLabel(colVar[i]);colVar[i].colLabel=div}else{div.innerHTML=this.getIndicatorLabel(colVar[i])}if(this.cube.periods.length>1)td2.colSpan=this.cube.periods.length;if(!this.options.displayPeriods)td2.rowSpan=2;this.createChartLegend(div,i,colVar[i]);if(this.options.row==PTableOptions.INDICATOR){var remove=this.createRemove(colVar[i],"right");td2.appendChild(remove)}td2.appendChild(div);tr1.appendChild(td2);if(this.options.displayPeriods){for(var j=0;j<this.cube.periods.length;j++){var td2a=document.createElement("th");td2a.align="left";td2a.scope="col";var div=document.createElement("div");div.innerHTML=this.cube.periods[j];this.createChartLegend(td2a,j,this.cube.periods[j]);var removeperiod=null;if(this.cube.periods.length>1){removeperiod=this.createRemove(this.cube.periods[j],"right");td2a.appendChild(removeperiod)}td2a.appendChild(div);tr2.appendChild(td2a)}}}if(this.cube.getPeriods().length==1&&this.options.row==PTableOptions.INDICATOR){var tdtoggle=document.createElement("th");
tdtoggle.scope="col";tdtoggle.rowSpan=2;tdtoggle.width="150";tdtoggle.height="40";if(!this.options.disableToggles){var toggles=["mean","sum","median"];for(var i=0;i<toggles.length;i++){var toggle=document.createElement("span");toggle.innerHTML=toggles[i].charAt(0).toUpperCase()+toggles[i].substr(1);toggle.toggle=toggles[i];toggle.table=this;if(this.calculation==toggles[i]){toggle.className="active"}else{toggle.className="inactive";this.listeners.push(PEvent.addListener(toggle,"click",function(){this.table.setCalculationColumn(this.toggle);this.table.refresh()}))}tdtoggle.appendChild(toggle)}tr1.appendChild(tdtoggle)}}this.tablebody.appendChild(tr2);for(var i=0;i<rowVar.length;i++){var tr3=document.createElement("tr");var td3=document.createElement("td");td3.scope="row";var div=document.createElement("div");div.className="rowHeader";if(this.options.row==PTableOptions.INDICATOR){div.innerHTML=this.getIndicatorLabel(rowVar[i])}else{var rowVarType=rowVar[i].getType();if(rowVarType==PPlaceType.CUSTOM||rowVarType==PPlaceType.POLYGON||this.cube.valueBoundaries.length<1||colVar.length!=1){div.innerHTML=this.getPlaceLabel(rowVar[i])}else{var baseBoundary=rowVar[i];var baseBoundaryId=baseBoundary.getID();var indId=colVar[0].getID();var addlBoundaries=[];for(var j=0;j<sortedPeriods.length;j++){var boundary=this.cube.valueBoundaries[sortedPeriods[j]][baseBoundaryId][indId];if(boundary!=null&&boundary.getID()!=baseBoundaryId&&$.inArray(boundary,addlBoundaries)==-1){addlBoundaries.push(boundary)}}var changed=false;if(rowVarType==PPlaceType.CENSUSTRACT||rowVarType==PPlaceType.BLOCKGROUP){for(var j=0;j<addlBoundaries.length;j++){var curIdentifier=addlBoundaries[j].getIdentifier();if(j==0&&baseBoundary.getIdentifier()!=curIdentifier||j>0&&addlBoundaries[j-1].getIdentifier()!=curIdentifier){changed=true;break}}}else{for(var j=0;j<addlBoundaries.length;j++){var curLabel=addlBoundaries[j].getLabel();if(j==0&&baseBoundary.getLabel()!=curLabel||j>0&&addlBoundaries[j-1].getLabel()!=curLabel){changed=true;break}}}if(changed){div.innerHTML=this.getEquivalentPlaceLabel(baseBoundary,addlBoundaries,true)}else{div.innerHTML=this.getMultiPlaceLabel([baseBoundary].concat(addlBoundaries))}}}var remove=null;if(rowVar.length>1){remove=this.createRemove(rowVar[i],"left");td3.appendChild(remove)}this.createChartLegend(div,i,rowVar[i]);td3.appendChild(div);tr3.appendChild(td3);for(var j=0;j<colVar.length;j++){for(var k=0;k<this.cube.periods.length;k++){var curPlace;var curInd;if(this.options.row==PTableOptions.INDICATOR){curPlace=colVar[j];curInd=rowVar[i]}else{curPlace=rowVar[i];curInd=colVar[j]}var curPeriod=this.cube.periods[k];var curMatrixId=curInd.matrixIds[curInd.getPeriodIndex(curPeriod)];var nodata=curInd.nodata;var value=null;var novalue=false;if(this.options.row==PTableOptions.INDICATOR){value=this.cube.values[curPeriod][curPlace.id][curInd.id]}else{if(curPlace.getType()!=PPlaceType.BLOCKGROUP){value=this.cube.values[curPeriod][curPlace.id][curInd.id]}}if((value||value==0)&&value!=nodata){if(isNumeric(value)){value=PWebUtil.formatNumber(value,curInd.unit)}}else{novalue=true;value="<span style='color:#bbb;font-style:italic'>N/A</span>"}var aggPlaceType=null;var aggPlaceTouch=false;var aggPlaceValue=null;if(aggData.types[curPlace.id]&&aggData.types[curPlace.id][curPeriod]){var adType=aggData.types[curPlace.id][curPeriod];aggPlaceType=adType.type;aggPlaceTouch=adType.touch}if(aggData.values[curPlace.id]&&aggData.values[curPlace.id][curPeriod]){aggPlaceValue=aggData.values[curPlace.id][curPeriod]}var td3a=document.createElement("td");td3a.align="left";td3a.innerHTML=value;tr3.appendChild(td3a);if(aggPlaceType!=null&&aggPlaceValue!=null){var overlap=null;if(!aggPlaceTouch){var indOverlap=curInd.overlapPercentages[curInd.curPerIndex];if(indOverlap!=null){overlap=indOverlap}else{overlap=50}}var aggPlacesLink=function(curPlace,curInd,curAggType,curAggTouch,curOverlap,curTd,curPeriod,columnCount){return function(){var createLink=function(count){if(count>0){var overlapValue=curOverlap;var containTouch="Contains ";if(curAggTouch){overlapValue="touch";containTouch="Touches "}var aggPlaceTypeName=" ";if(count==1){aggPlaceTypeName+=curAggType.getName()}else{aggPlaceTypeName+=curAggType.getPluralName()}var linkJS="subscribeAlert();";if(isSubscriber()&&!isTrial()){var placeString="gb";if(curPlace.getType()==PPlaceType.POLYGON){placeString+="p"}else if(curPlace.getType()==PPlaceType.CUSTOM){placeString+="c"}linkJS="selectColumn("+(columnCount+1)+"); P.instances.rPlaces.load('"+placeString+"', "+curPlace.id+", "+curInd.id+", "+curAggType.id+", '"+curPeriod+"', '"+P.instances.table.getPlaceLabel(curPlace).replace(/'/g,"\\'").replace(/"/g,"\\'")+"', '"+overlapValue+"', "+count+");"}curTd.innerHTML+="<br />"+containTouch+count+aggPlaceTypeName;curTd.innerHTML+=' (<a onclick="'+linkJS+'">See Values</a>)'}};if(curAggTouch){curPlace.getPlacesIntersectingCount(curAggType,curMatrixId,null,createLink)}else{curPlace.getPlacesWithinCount(curAggType,curMatrixId,null,createLink,curOverlap,null,curPlace)}}}(curPlace,curInd,aggPlaceType,aggPlaceTouch,overlap,td3a,curPeriod,j);aggPlacesLink()}if(this.options.row==PTableOptions.INDICATOR){var childType=null;if(!aggData.values[curPlace.id]||!aggData.values[curPlace.id][curPeriod]||!isTablesAggregatePlaceType(curPlace.getType(),true)){childType=nextAvailablePlaceType(curInd.getPlaceTypes(),curPlace.getType())}if(novalue==false){if(childType){var checkCount=function(count){if(count>0){if(this.td3a.innerHTML.indexOf("See Values for ")==-1){var val='<br /><a href="javascript:';if(isSubscriber()&&!isTrial()){var placeString="gb";if(this.getType()==PPlaceType.POLYGON){placeString+="p"}else if(this.getType()==PPlaceType.CUSTOM){placeString+="c"}val+="selectColumn("+this.col+"); P.instances.rPlaces.load('"+placeString+"', "+this.id+", "+this.rowVar.id+", "+this.childType.id+", '"+this.rowVar.getPeriod()+"', '"+P.instances.table.getPlaceLabel(this).replace(/'/g,"\\'").replace(/"/g,"\\'")+"', 50, "+count+");"}else{val+="subscribeAlert();"}val+='">See Values for '+this.childType.getPluralName()+"</a>";this.td3a.innerHTML+=val}}else if(count==0){this.childType=nextAvailablePlaceType(this.rowVar.getPlaceTypes(),this.childType);if(this.childType!=null){this.getPlacesWithinCount(this.childType,null,null,arguments.callee,50,null,this)}}};curPlace.td3a=td3a;curPlace.rowVar=curInd;curPlace.childType=childType;curPlace.col=j+1;curPlace.getPlacesWithinCount(childType,null,null,checkCount,50,null,curPlace)}}}}}if(this.cube.getPeriods().length==1&&this.options.row==PTableOptions.INDICATOR){var tdvalue=document.createElement("td");tdvalue.align="left";if(!this.options.disableToggles){tdvalue.innerHTML=this.calculateColumn(rowVar[i],this.cube.getPeriods()[0]);tr3.appendChild(tdvalue)}}this.tablebody.appendChild(tr3)}if(this.cube.indicators&&this.cube.indicators.constructor==Array&&this.cube.indicators.length&&P.instances.table.options.displayPeriods==false){if(isSubscriber()&&!isTrial()){this.refreshRanks()}else if(this.cube.places.length>0){var tr=document.createElement("tr");var td=document.createElement("td");var div=document.createElement("div");div.className="rowHeader";div.innerHTML="Ranking";td.scope="row";td.appendChild(div);tr.appendChild(td);for(var i=0;i<this.cube.places.length;i++){td=document.createElement("td");td.align="left";var html="";if(this.cube.indicators[0].isMVA()){html="No Ranking Data"}else{html='<a onclick="subscribeAlert()">See Rankings</a>'}td.innerHTML=html;tr.appendChild(td)}if(!this.options.disableToggles){td=document.createElement("td");td.innerHTML="";tr.appendChild(td)}this.tablebody.appendChild(tr)}}this.table.appendChild(this.tablebody);this.refreshOverlaySets();this.refreshEquivalents();selectColumn()};PTable.prototype.refreshOverlaySets=function(){$(".overlaySetRow").remove();for(var i=0;i<this.overlaySets.length;i++){var curSet=this.overlaySets[i];var header=document.createElement("div");header.className="rowHeader";var t="Points: ";if(curSet.isPoly){t="Polygons: "}var headerText=t;if(curSet.id!=null&&curSet.id==massTransitSetId){headerText+="Public Transit Rail Lines"}else{headerText+=curSet.name}header.innerHTML=headerText;var trsets=document.createElement("tr");trsets.className="overlaySetRow";var addCloseButton=function(self,set){var close=$("<div />");close.addClass("sitesCloseButton");close.click(function(){self.removeOverlaySet(set);self.refreshOverlaySets()});header.appendChild(close[0])}(this,curSet);if(P.instances.table.options.displayPeriods==false){var tdHeader=document.createElement("td");tdHeader.appendChild(header);trsets.appendChild(tdHeader)}else{var tdHeader=document.createElement("th");tdHeader.appendChild(header);tdHeader.rowSpan="2";this.tablebody.rows[0].appendChild(tdHeader)}for(var j=0;j<this.cube.places.length;j++){var currentPlace=function(self,i,j){var td4=null;if(P.instances.table.options.displayPeriods==false){td4=document.createElement("td")}else{td4=self.tablebody.rows[j+2].insertCell(self.tablebody.rows[j+2].cells.length)}td4.align="left";var curInfo=new Object;curInfo.pointCount=0;curInfo.polygonCount=0;curInfo.pointsets=[];curInfo.polygonsets=[];curInfo.requestCount=curSet.children.length+1;curInfo.hasPolySet=false;curInfo.place=self.cube.places[j];curInfo.label=self.getPlaceLabel(self.cube.places[j]);curInfo.tdset=[];curInfo.tdset[i]=td4;curInfo.index=i;curInfo.col=j+1;var renderSetInfo=function(){var pointset=curInfo.pointsets.length>0?curInfo.pointsets[0]:null;var polygonset=curInfo.polygonsets.length>0?curInfo.polygonsets[0]:null;var placeTypeId=curInfo.place.getType().id;var polysetid=curInfo.place.polysetid?curInfo.place.polysetid:null;var tmpVerts=curInfo.vertices?curInfo.vertices.join(","):"";var tmpPid=curInfo.vertices?"":curInfo.place.id;var html="";if(curInfo.pointsets.length>0){var singlePoint=curInfo.pointCount!=null&&curInfo.pointCount==1;html=PWebUtil.formatNumber(curInfo.pointCount)+" point"+(singlePoint?"":"s");if(curInfo.pointCount>0){var report="subscribeAlert();";var allowedStatus=isSeeListAllowed(curInfo.place,pointset.id);if(allowedStatus!==true){report="alerter.popup('"+allowedStatus+"', 'OK');"}else if(isSubscriber()&&!isTrial()){var label=curInfo.label.replace(/'/g,"\\'").replace(/"/g,"\\'");report="selectColumn("+curInfo.col+"); P.instances.rPins.load('"+label+"', '"+pointset.id+"', '"+pointset.type+"', '"+pointset.name.replace(/'/g,"\\'")+"', '"+tmpPid+"', '"+tmpVerts.replace(/'/g,"\\'")+"', "+curInfo.pointCount+", "+null+", '"+placeTypeId+"', "+polysetid+");"}html+='<br><a onclick="'+report+'">See List</a>'}}if(curInfo.hasPolySet){if(html.length>0){html+="<br>"}var singlePoly=curInfo.polygonCount!=null&&curInfo.polygonCount==1;html+=PWebUtil.formatNumber(curInfo.polygonCount)+" polygon"+(singlePoly?"":"s");if(curInfo.polygonCount>0){var report="subscribeAlert();";if(isSubscriber()&&!isTrial()){report="selectColumn("+curInfo.col+"); P.instances.rPins.load('"+curInfo.label.replace(/'/g,"\\'")+"', '"+polygonset.id+"', '"+polygonset.type+"', '"+polygonset.name.replace(/'/g,"\\'")+"', '"+tmpPid+"', '"+tmpVerts.replace(/'/g,"\\'")+"', "+curInfo.polygonCount+", null, '"+placeTypeId+"', "+polysetid+");"}html+='<br/><a href="javascript:'+report+'">See List</a>'}}curInfo.tdset[curInfo.index].innerHTML=html;var urlParams=getUrlParams();if(pointset!=null&&urlParams["showlist"]==pointset.id&&urlParams["slt"]==pointset.type){if(session.get("p")==curInfo.place.id||session.get("cp")&&_.first(session.get("cp")).match(curInfo.place.id)!=null){selectColumn(curInfo.col);P.instances.rPins.load(curInfo.label,pointset.id,pointset.type,pointset.name,tmpPid,tmpVerts,curInfo.pointCount,null,placeTypeId,polysetid)}else if(session.get("pname")+" (Polygon)"==curInfo.label){selectColumn(curInfo.col);P.instances.rPins.load(curInfo.label,pointset.id,pointset.type,pointset.name,tmpPid,tmpVerts,null,null,null,polysetid)}}else if(polygonset!=null&&urlParams["showlist"]==polygonset.id){if(session.get("p")==curInfo.place.id||curInfo.place.polysetid){selectColumn(curInfo.col);P.instances.rPins.load(curInfo.label,polygonset.id,polygonset.type,polygonset.name,tmpPid,tmpVerts,null,null,null,polysetid)}}};curInfo.hasPolySet=curSet.isPoly;var allSets=[curSet];for(var k=0;k<curSet.children.length;k++){var newSet=curSet.children[k];curInfo.hasPolySet=curInfo.hasPolySet||newSet.isPoly;allSets.push(newSet)}for(var k=0;k<allSets.length;k++){var receivedRequest=function(){curInfo.requestCount--;if(curInfo.requestCount==0){renderSetInfo()}};if(allSets[k].isPoly){curInfo.polygonsets.push(allSets[k])}else{curInfo.pointsets.push(allSets[k])}var getCount=function(countSet){geocoder.getMarkersWithin(curInfo.place,countSet,function(markers){var count=0;if(markers.length>0){if(markers[0]instanceof PMarker){count=markers.length}else{count=markers[0]}}if(countSet.isPoly){curInfo.polygonCount+=count}else{curInfo.pointCount+=count}receivedRequest()})}(allSets[k])}td4.innerHTML='<span style="color:#bbb;font-style:italic">Loading...</span>';if(P.instances.table.options.displayPeriods==false){trsets.appendChild(td4)}};currentPlace(this,i,j)}if(P.instances.table.options.displayPeriods==false){if(P.instances.table.options.disableToggles!=true&&this.cube.getIndicators()&&this.cube.getIndicators().length>0){var tdvalue=document.createElement("td");tdvalue.innerHTML="";trsets.appendChild(tdvalue)}this.tablebody.appendChild(trsets)}}};PTable.prototype.addOverlaySet=function(overlaySet){for(var i=0;i<this.overlaySets.length;i++){if(this.overlaySets[i]==overlaySet){return}}this.overlaySets.push(overlaySet);this.eventManager.triggerEvent("addoverlayset",overlaySet)};PTable.prototype.removeOverlaySet=function(overlaySet){for(var i=0;i<this.overlaySets.length;i++){if(this.overlaySets[i]==overlaySet){this.overlaySets.splice(i,1);this.eventManager.triggerEvent("removeoverlayset",overlaySet);return true}}return false};PTable.prototype.getOverlaySets=function(){return this.overlaySets};PTable.prototype.clearOverlaySets=function(){this.overlaySets=[];this.eventManager.triggerEvent("clearoverlaysets")};PTable.prototype.refreshRanks=function(updatePopUp){if(!rankingCube)return;var values=rankingCube.values;if(updatePopUp&&P.instances.rRanks.elm.is(":visible")){var val=values[rankingCube.getPeriods()[0]][P.instances.rRanks.place.id][rankingCube.getIndicators()[0].id];var rankValue=new PRankingValue({value:val.value,rank:val.rank,position:val.position,totalRanked:val.totalRanked,totalBoundaries:val.totalBoundaries});P.instances.rRanks.load(P.instances.rRanks.place,rankingCube.getIndicators()[0],rankingCube.getPeriods()[0],rankValue)}else if(updatePopUp&&P.instances.rPlaces.elm.is(":visible")){P.instances.rPlaces.load(P.instances.rPlaces.placeType,P.instances.rPlaces.placeId,rankingCube.getIndicators()[0].id,P.instances.rPlaces.placeTypeId,rankingCube.getPeriods()[0],P.instances.rPlaces.placeName,P.instances.rPlaces.overlap,P.instances.rPlaces.placeCount)}if(P.instances.table.options.displayPeriods==false&&rankingCube.loading==false){var tr=document.createElement("tr");var td=document.createElement("td");var div=document.createElement("div");div.className="rowHeader";div.innerHTML="Ranking";td.scope="row";td.appendChild(div);tr.appendChild(td);for(var i=0;i<rankingCube.places.length;i++){var place=rankingCube.places[i];var ind=rankingCube.getIndicators()?rankingCube.getIndicators()[0]:null;var per=rankingCube.periods[0];td=document.createElement("td");td.align="left";if(place.getType()==PPlaceType.COUNTRY){tr.appendChild(td);continue}if(ind&&!ind.isMVA()&&values[per]&&values[per][place.id]&&values[per][place.id][ind.id]){var rank=values[per][place.id][ind.id].rank;var pos=values[per][place.id][ind.id].position;var totalRanked=values[per][place.id][ind.id].totalRanked;var total=values[per][place.id][ind.id].totalBoundaries;if(total==null){if(rank==null){td.innerHTML="<span style='color:#bbb;font-style:italic'>N/A</span><br/>"}else{td.innerHTML="No Ranking Data"}}else{var html="";if(isSubscriber()&&!isTrial()){if(rank>0){html="<b>"+rank+"</b> of "+totalRanked+" "+place.getType().getPluralName()+"<br/><a>See Rankings</a>"}else{html="<span style='color:#bbb;font-style:italic'>N/A</span><br/>"}}td.innerHTML=html;var link=$(td).find("a");if(isSubscriber()&&!isTrial()&&link.length>0){var rankValue=new PRankingValue({rank:rank,position:pos,totalRanked:totalRanked,totalBoundaries:total});link[0].place=place;link[0].ind=ind;link[0].per=per;link[0].col=i+1;link[0].rankValue=rankValue;link.bind("click",function(){selectColumn(this.col);P.instances.rRanks.load(this.place,this.ind,this.per,this.rankValue)});var rp=session.get("rp");if(rp!=null&&rp==place.getID()){P.instances.rRanks.load(place,ind,per,rankValue);session.remove("rp")}}else{link.bind("click",subscribeAlert)}}}else{td.innerHTML="No Ranking Data"}tr.appendChild(td)}if(P.instances.table.options.displayPeriods==false&&!this.options.disableToggles){td=document.createElement("td");td.innerHTML="";tr.appendChild(td)}this.rankRow=tr;if(this.tablebody){if(this.tablebody.childNodes.length>3&&this.tablebody.childNodes.item(3)!=this.rankRow)this.tablebody.insertBefore(tr,this.tablebody.childNodes.item(3));else this.tablebody.appendChild(tr)}}};PTable.prototype.refreshEquivalents=function(){var self=this;if(this.options.row==PTableOptions.PLACE){return}var placeObjs=[];var placeIds=[];for(var i=0;i<this.cube.places.length;i++){var curPlace=this.cube.places[i];var curPlaceType=curPlace.getType();if(curPlaceType!=PPlaceType.BLOCKGROUP&&curPlaceType!=PPlaceType.CUSTOM&&curPlaceType!=PPlaceType.POLYGON){placeObjs.push(curPlace);var curPlaceId=curPlace.getID();if(this.equivalentCache[curPlaceId]==null){placeIds.push(String(curPlaceId))}}}if(placeObjs.length<1){return}var updateEquivalents=function(){for(var i=0;i<placeObjs.length;i++){var curPlace=placeObjs[i];var curPlaceType=curPlace.getType();var curPlaceMappings=self.equivalentCache[curPlace.getID()];var curPlaceEquivalents=[];if(curPlaceType==PPlaceType.CENSUSTRACT||curPlaceType==PPlaceType.BLOCKGROUP){for(var j=0;j<curPlaceMappings.length;j++){var curPlaceMapping=curPlaceMappings[j];if(curPlace.getIdentifier()!=curPlaceMapping.getIdentifier()){curPlaceEquivalents.push(curPlaceMapping)}}}else{for(var j=0;j<curPlaceMappings.length;j++){var curPlaceMapping=curPlaceMappings[j];if(curPlace.getLabel()!=curPlaceMapping.getLabel()){curPlaceEquivalents.push(curPlaceMapping)}}}var newLabel=self.getEquivalentPlaceLabel(curPlace,curPlaceEquivalents);curPlace.colLabel.innerHTML=newLabel}};if(placeIds.length>0){placeLoader.loadOneToOne(placeIds,null,true,false,function(mappings){for(var i=0;i<placeIds.length;i++){var curPlaceId=placeIds[i];self.equivalentCache[curPlaceId]=mappings[curPlaceId]}updateEquivalents()})}else{updateEquivalents()}};PTable.prototype.setCalculationColumn=function(calc){this.calculation=calc};PTable.prototype.calculateColumn=function(ind,per){var retVal;if(this.calculation=="median"){var array=this.cube.getSortedValuesOfPlaces(ind,per);var med=parseInt(array.length*.5);retVal=PWebUtil.formatNumber(array[med],ind.unit)}else if(this.calculation=="sum")retVal=PWebUtil.formatNumber(this.cube.getSumOfPlaces(ind,per),ind.unit);else retVal=PWebUtil.formatNumber(this.cube.getMeanOfPlaces(ind,per),ind.unit);return retVal};PTableOptions=function(){this.row=PTableOptions.INDICATOR;this.rowHeading="";this.displayState=true;this.displayFullIndicatorName=false;this.displayPeriods=true;this.displayRemoveIndicator=true;this.displayRemovePlace=true;this.displayRemovePeriod=true;this.removeButton=document.createElement("img");this.removeButton.src="/images/PolicyMap/icons/popup-x.png";this.removeButton.alt="Remove";this.removeButton.style.padding="0px 2px";this.chartLegend=document.createElement("div");this.chartLegend.className="chartLegend"};PTRFOnMapWidget=function(map,div,widgetid){var pWidget=this;if(map)this.map=map;else{this.map=new Object;this.map.kamap=new Object;this.map.kamap.server="http://api.pushpin.com/api/1.1/kamap4p/htdocs/"}this.id=widgetid;this.background=div;this.box=document.createElement("div");this.heading=document.createElement("div");this.heading.id=div.id+"_heading";this.heading.style.cursor="pointer";this.heading.innerHTML="<h3>Legend</h3>";PEvent.addListener(this.heading,"click",function(){pWidget.toggleMinMaximize()});this.body=document.createElement("div");this.body.className="breakdown";this.box.appendChild(this.heading);this.background.appendChild(this.box);this.box.appendChild(this.body);this.listeners=[];if(widgetid){if(widgetid==P_WIDGET_LAYER_ID){this.map.widgetLayer=this;var mapref=this.map;PEvent.addListener(this.map,"zoomend",function(){mapref.refreshWidget(mapref.widgetLayer)})}else if(this.id==P_WIDGET_OVERLAY_ID)this.map.widgetOverlay=this;else if(this.id==P_WIDGET_INDICATOR_ID){this.map.widgetIndicator=this;this.map.kamap.widgetIndicator=this}this.buildWidget()}};PTRFOnMapWidget.prototype.buildWidget=function(){if(this.id==P_WIDGET_INDICATOR_ID){var widgetMap=this.map;var widget=this;var legend="";if(this.map.getLegend()!=null&&this.map.getIndicator()!=null&&this.map.getLegend().getBoundaryType()){var leg=this.map.getLegend();var ind=leg.getIndicator();var incrementValue=PWebUtil.getBreakIncrement(leg.getBreaks());var breaks=leg.getFormattedBreaks(incrementValue);var incrementBreaks=leg.getIncrementedBreaks(incrementValue);var colors=leg.getColors();legend="<table cellpadding=0 cellspacing=0 border=0>";var numbreaks=leg.getNumberOfBreaks();if(leg.getIndicator().nodata)numbreaks+=1;for(var i=0;i<numbreaks;i++){var breaksString="";if(ind.nodata&&i==0){legend+="<tr><td width=25 style='width: 25px; background-color: #"+colors[i]+"'>&nbsp;</td><td style='background-color:#fff'>&nbsp;</td><td colspan=3 style='color:#ccc;font-style:italic'>Insufficient Data</td></tr>";nodata=true}else{if(ind.breakid==P_BREAKTYPE_EXACT_VALUE_ID||ind.breakid==P_BREAKTYPE_EXACT_VALUE_CUSTOM_ID)breaksString="<td colspan=3 align='center' style='padding-left: 3px'>"+breaks[i]+"</td>";else{if(i==0||i==1&&nodata){breaksString="<td colspan='3' align='center' style='padding-left: 3px'>"+breaks[i+1]+" or less</td>"}else if(i==numbreaks-1)breaksString="<td colspan='3' align='center' style='padding-left: 3px'>"+incrementBreaks[i]+" or more </td>";else{var startbreak;if(i==0||i==1&&nodata)startbreak=breaks[i];else startbreak=incrementBreaks[i];if(startbreak==breaks[i+1])breaksString="<td align='right' style='padding-left: 3px'>"+startbreak+"</td><td width=20 align='center'></td><td align='right' style='padding-right: 3px'></td>";else breaksString="<td align='right' style='padding-left: 3px'>"+startbreak+"</td><td width=20 align='center'>&ndash;</td><td align='right' style='padding-right: 3px'>"+breaks[i+1]+"</td>"}}legend+="<tr><td width=25 style='width: 25px; background-color: #"+colors[i]+"'>&nbsp;</td><td style='background-color:#fff'>&nbsp;</td>"+breaksString+"</tr>"}legend+="<tr><td colspan=4><div style='font-size:1px'>&nbsp;</div></td></tr>"}legend+="</table>";legend+="<p class='credits'>";legend+="Shaded by "+leg.getBoundaryType().name;legend+="<br>";if(leg.getIndicator().getSources().length>0)legend+="<i>Source: "+leg.getIndicator().getSourceList()+"</i>";legend+="</p>"}else if(this.map.getIndicator()!=null)legend+="<span style='font-size:12px;color: #ff0000;'><i>Zoom in further to see this data.</i></span><br>";if(!this.indLegend){this.indLegend=document.createElement("div");this.body.appendChild(this.indLegend)}this.indLegend.innerHTML=legend}};PTRFOnMapWidget.prototype.toggleMinMaximize=function(){if(this.isMaximized()){this.minimize()}else{this.maximize()}};PTRFOnMapWidget.prototype.maximize=function(){if(!this.isMaximized()){this.box.appendChild(this.body);if(this.layersDiv||this.overlaysDiv)this.buildWidget();this.isMax=true}};PTRFOnMapWidget.prototype.minimize=function(){if(this.isMaximized()){this.box.removeChild(this.body);this.isMax=false}};PTRFOnMapWidget.prototype.isMaximized=function(){if(this.isMax)return this.isMax;else return false};PTRFPlaceSearchBox=function(searchContainer,searchTypes,options){var self=this;this.eventTypes=new Object;this.eventTypes.submit="submit";this.eventTypes.response="response";this.eventTypes.dd_initialized="dd_initialized";this.autosuggest=new AutoSuggest;this.autosuggest.search=this;this.defaultText="Enter Address, City, County, State, or Zip";this.defaultCensusText="Enter full FIPS code of census tract";this.defaultBlockText="Enter full FIPS code of block group";this.defaultSchoolText='e.g., "Springfield Unified"';this.defaultState="06";this.defaultStateAbbrev="CA";if(options!=null){if(options.defaultState){this.defaultState=options.defaultState}if(options.defaultText){this.defaultText=options.defaultText}}this.eventManager=new _eventManager;for(var ev in this.eventTypes)this.eventManager.registerEventID(ev);this.container=searchContainer;$(this.container).addClass("searchContainer");if(!options)this.options={};else this.options=options;if(this.options.responseEvent){this.addListener("response",this.options.responseEvent)}else{this.addListener("response",function(places){var html=null;if(places instanceof PAddress){if(places.wasFound()){session.put("place",places.addr);session.put("lng",places.x);session.put("lat",places.y);html=""+places.addr+"<br /><br />";addMarkerWindow(html,new PLatLng(places.y,places.x))}else{var content='Location "<b>'+places.addr+"</b>\" not found. For help finding your address or city:  <a class='pagelinks' href='"+PEnvironment.blogUrl+"/?p=200' target='_blank'>click here</a>";alerter.popup(content,"OK")}}else{var l=places.length;var full=places;places=[];var p;for(var i=0;i<l;i++){p=full[i];if(p.country=="United States"){places.push(p)}}if(places.length==0){alerter.popup('Location "<b>'+self.getSearchString()+'</b>" not found.',"OK")}else{var html=createPlacesDiv(places,self.getSearchString());addMarkerWindow(html,places[0]);session.put("p",places[0].id)}}})}this.buildSetLocation();var node=this.node;var typeNode=this.typeNode;this.type=null;this.defaultType=null;this.searchTypes=null;this.textbox=document.createElement("input");this.textbox.type="text";this.textbox.style.width="97%";this.textbox.style.height="100%";var usStates=document.createElement("select");usStates.id="states";usStates.name="states";usStates.style.display="none";if(this.options.stateMenuWidth){usStates.style.width=this.options.stateMenuWidth}else{usStates.style.width="30%"}usStates.style.marginRight="10px";this.addState=function(stateName,fips,abbrev){var o=document.createElement("option");o.value=fips;o.title=abbrev;o.innerHTML=stateName;if(fips==this.defaultState){this.defaultStateAbbrev=abbrev;o.selected=true}usStates.appendChild(o)};this.addState("Alabama","01","AL");this.addState("Alaska","02","AK");this.addState("Arizona","04","AZ");this.addState("Arkansas","05","AR");this.addState("California","06","CA");this.addState("Colorado","08","CO");this.addState("Connecticut","09","CT");this.addState("Delaware",10,"DE");this.addState("District of Columbia",11,"DC");this.addState("Florida",12,"FL");this.addState("Georgia",13,"GA");this.addState("Hawaii",15,"HI");this.addState("Idaho",16,"ID");this.addState("Illinois",17,"IL");this.addState("Indiana",18,"IN");this.addState("Iowa",19,"IA");this.addState("Kansas",20,"KS");this.addState("Kentucky",21,"KY");this.addState("Louisiana",22,"LA");this.addState("Maine",23,"ME");this.addState("Maryland",24,"MD");this.addState("Massachusetts",25,"MA");this.addState("Michigan",26,"MI");this.addState("Minnesota",27,"MN");this.addState("Mississippi",28,"MS");this.addState("Missouri",29,"MO");this.addState("Montana",30,"MT");this.addState("Nebraska",31,"NE");this.addState("Nevada",32,"NV");this.addState("New Hampshire",33,"NH");this.addState("New Jersey",34,"NJ");this.addState("New Mexico",35,"NM");this.addState("New York",36,"NY");this.addState("North Carolina",37,"NC");this.addState("North Dakota",38,"ND");this.addState("Ohio",39,"OH");this.addState("Oklahoma",40,"OK");this.addState("Oregon",41,"OR");this.addState("Pennsylvania",42,"PA");this.addState("Rhode Island",44,"RI");this.addState("South Carolina",45,"SC");this.addState("South Dakota",46,"SD");this.addState("Tennessee",47,"TN");this.addState("Texas",48,"TX");this.addState("Utah",49,"UT");this.addState("Vermont",50,"VT");this.addState("Virginia",51,"VA");this.addState("Washington",53,"WA");this.addState("West Virginia",54,"WV");this.addState("Wisconsin",55,"WI");this.addState("Wyoming",56,"WY");this.textboxState=usStates;this.textboxCong=document.createElement("select");this.textboxCong.style.display="none";if(this.options.congMenuWidth){this.textboxCong.style.width=this.options.congMenuWidth}else{this.textboxCong.style.width="66%"}this.textboxCong.style.marginRight="10px";this.textboxCong.state="";this.textboxSenate=document.createElement("select");this.textboxSenate.style.display="none";this.textboxSenate.style.width="98%";this.textboxSenate.style.marginRight="10px";for(var i=0;i<searchTypes.length;i++){if(searchTypes[i].id!=null&&searchTypes[i].id==P_PLACETYPE_SENATE_ID){this.populateSenate()}}this.textboxStateDistOpts=document.createElement("select");this.textboxStateDistOpts.style.paddingLeft="0px";this.textboxStateDistOpts.style.display="none";this.textboxStateDistOpts.style.width="27%";this.textboxStateDistOpts.style.marginRight="10px";var option=document.createElement("option");option.innerHTML="Upper House Districts";option.value=PPlaceType.SLD_UPPER.id;this.textboxStateDistOpts.appendChild(option);var option=document.createElement("option");option.innerHTML="Lower House Districts";option.value=PPlaceType.SLD_LOWER.id;this.textboxStateDistOpts.appendChild(option);var box=this;PEvent.addListener(this.textboxStateDistOpts,"change",function(){if(this.value==PPlaceType.SLD_UPPER.id)box.setType(PPlaceType.SLD_UPPER);else if(this.value==PPlaceType.SLD_LOWER.id)box.setType(PPlaceType.SLD_LOWER)});this.textboxStateDist=document.createElement("select");this.textboxStateDist.style.paddingLeft="0px";this.textboxStateDist.style.display="none";this.textboxStateDist.style.width="38%";this.textboxStateDist.style.marginRight="10px";this.textboxStateDist.state="";this.textboxStateDist.stateDistType="";this.textboxCBSA=document.createElement("select");this.textboxCBSA.style.paddingLeft="0px";this.textboxCBSA.style.display="none";this.textboxCBSA.style.width="66%";this.textboxCBSA.style.marginRight="10px";this.textboxCBSA.state="";var box=this;this.textboxArr=[this.textbox,this.textboxCBSA,this.textboxStateDist,this.textboxStateDistOpts,this.textboxCong,this.textboxState,this.textboxSenate];for(var i=0;i<this.textboxArr.length;i++){var enterKeyEvent=function(textbox){return PEvent.addListener(textbox,"keydown",function(e){var e=e||window.event;if(e&&e.keyCode==13&&box.autosuggest.getSelectedItem()==null){box.submit()}})}(this.textboxArr[i])}PEvent.addListener(this.textboxState,"change",function(e){if(box.type[0]==PPlaceType.CONGRESSIONAL){box.populateCongressional()}else if(box.type[0]==PPlaceType.SLD_UPPER||box.type[0]==PPlaceType.SLD_LOWER){box.populateStateDistricts()}else if(box.type[0]==PPlaceType.CBSA){box.populateCBSA()}});node.appendChild(this.textboxState);node.appendChild(this.textboxCong);node.appendChild(this.textboxStateDistOpts);node.appendChild(this.textboxStateDist);node.appendChild(this.textboxCBSA);node.appendChild(this.textboxSenate);node.appendChild(this.textbox);this.setFocusEvents();this.setUp();if(!this.options.noAutosuggest){this.autoSuggestBoxes=[this.textbox];for(var i=0;i<this.autoSuggestBoxes.length;i++){this.autosuggest.attach(this.autoSuggestBoxes[i],"p")}}this.storeSearchTypes(searchTypes);if(typeNode){this.addSearchTabs(typeNode,searchTypes);this.selectTab(0)}};PTRFPlaceSearchBox.prototype.addSearchTabs=function(tabNode){var tabTypes=this.searchTypes;this.tabs=[];var box=this;for(var i=0;i<tabTypes.length;i++){var tab=document.createElement("a");var b=document.createElement("b");tab.appendChild(b);tab.tabType=tabTypes[i];tab.tabNum=i;if(tabTypes[i]=="Default"){b.innerHTML="Search the Map";
tab.className="highlightTab";PEvent.addListener(tab,"click",function(){box.setType();box.selectTab(this.tabNum);box.setSearchValue();for(var i=0;i<box.textboxArr.length;i++){if(box.textboxArr[i].style.display=="inline"){if(box.textbox.value.search("Enter Address")!=0)box.textboxArr[i].focus();break}}})}else{var label="";if(tabTypes[i]==PPlaceType.CONGRESSIONAL){label="Cong. District"}else if(tabTypes[i]==PPlaceType.SENATE){label="Senate"}else{label=tabTypes[i].displayName}b.innerHTML=label;tab.className="searchboxTabs";PEvent.addListener(tab,"click",function(){box.setType(this.tabType);box.selectTab(this.tabNum);box.setSearchValue(this.tabType)})}this.tabs.push(tab);tabNode.appendChild(tab)}};PTRFPlaceSearchBox.prototype.storeSearchTypes=function(types){for(var i=0;i<types.length;i++){if(types[i]!="Default"){if(types[i]==PPlaceType.SLD_UPPER){types[i].displayName="State District"}else if(types[i]==PPlaceType.CBSA){types[i].displayName="Metro"}else if(types[i]==PPlaceType.CENSUSTRACT){types[i].displayName="Census Tract"}else if(types[i]==PPlaceType.BLOCKGROUP){types[i].displayName="BG"}else{types[i].displayName=types[i].getName()}}}this.searchTypes=types};PTRFPlaceSearchBox.prototype.disableTab=function(tabNum){var tab=this.tabs[tabNum];tab.disabled=true;tab.className+=" searchboxDisableTab";PEvent.clearInstanceListeners(tab)};PTRFPlaceSearchBox.prototype.enableTab=function(tabNum){var tab=this.tabs[tabNum];tab.disabled=false;tab.className="searchboxTabs";var box=this;PEvent.addListener(tab,"click",function(){box.setType(box.searchTypes[tabNum]);box.selectTab(tabNum);box.setSearchValue(box.searchTypes[tabNum])})};PTRFPlaceSearchBox.prototype.buildSetLocation=function(node){var container=this.container;var className="searchWithTabs";if(PEnvironment.pageName=="widget"){var topMenuWidth=this.options.topMenuWidth;var maxWidth=770;if(this.options.altlayout&&$("body").width()<topMenuWidth+maxWidth)this.options.noSearchTypes=true;else if($("body").width()<maxWidth)this.options.noSearchTypes=true}var table=$("<table />");$(table).addClass(className);$(table).css({width:"100%"});if(!this.options.noSearchTypes)$(table).css({minWidth:"800px"});var tr=$("<tr />");var addRow=false;if(!this.options.noSetLocationIcon){var td=$("<td />");$(td).addClass("setLocationIconTD");$(td).attr({rowspan:"2",valign:"bottom",align:"right"});var div=$("<div />");$(div).addClass("setLocationIcon");$(td).append(div);$(tr).append(td);addRow=true}if(!this.options.noSearchTypes||!this.options.noStartOver){var td=$("<td />");addRow=true;if(!this.options.noSearchTypes){var td=$("<td />");var span=$("<span />");$(span).addClass("searchboxSetLocationLabel");var b=$("<b />");$(b).html("Set Location");$(span).append(b);var typeNode=$("<span />");$(typeNode).addClass("searchboxtypes");this.typeNode=typeNode[0];$(td).append(span);$(td).append(typeNode)}if(!this.options.noStartOver){var so=$("<a />");$(so).addClass("startover");$(so).html("Start Over");if(!PEnvironment.pageName=="dataloader")$(so).attr("href","#");$(so).click(function(){if(PEnvironment.pageName=="tables"){clearChartAlert()}else if(PEnvironment.pageName=="dataloader"){resetDataloaderAlert()}else{resetMapAlert()}return false});$(td).append(so)}$(tr).append(td);var td=$("<td />");$(tr).append(td)}if(addRow)$(table).append(tr);var tr=$("<tr />");var td=$("<td />");var searchdiv=$("<div />");$(searchdiv).addClass("searchboxDiv");if(this.options.width)$(searchdiv).css("width",this.options.width);this.node=searchdiv[0];$(td).append(searchdiv);$(tr).append(td);var td=$("<td />");$(td).attr("align","left");var div=$("<div />");$(div).addClass("gobutton");var that=this;$(div).click(function(){that.submit()});$(td).append(div);$(tr).append(td);$(table).append(tr);$(container).append(table)};PTRFPlaceSearchBox.prototype.selectTab=function(tabNum){for(var i=0;i<this.tabs.length;i++){if(i==tabNum)this.tabs[i].className="highlightTab";else if(this.tabs[i].disabled==true)this.tabs[i].className="searchboxTabs searchboxDisableTab";else this.tabs[i].className="searchboxTabs"}};PTRFPlaceSearchBox.prototype.getCurrentType=function(){return this.type};PTRFPlaceSearchBox.prototype.getType=function(typeNum){return this.searchTypes[typeNum]};PTRFPlaceSearchBox.prototype.getTypes=function(){return this.searchTypes};PTRFPlaceSearchBox.prototype.setSearchValue=function(tabType){if(!tabType){if(this.tab!="searchthemap"){this.textbox.id="as_searchthemap";this.tab="searchthemap";if(this.searchthemap&&this.searchthemap!=""){this.textbox.value=this.searchthemap}else{this.textbox.value=this.defaultText}}}else if(tabType==PPlaceType.CENSUSTRACT){if(this.tab!="census"){this.textbox.id="as_census";this.tab="census";if(this.census&&this.census!=""){this.textbox.value=this.census}else{this.textbox.value=this.defaultCensusText}}}else if(tabType==PPlaceType.BLOCKGROUP){if(this.tab!="block"){this.textbox.id="as_block";this.tab="block";if(this.block&&this.block!=""){this.textbox.value=this.block}else{this.textbox.value=this.defaultBlockText}}}else if(tabType==PPlaceType.CONGRESSIONAL){if(this.tab!="congressional"){this.tab="congressional";if(this.congressional&&this.congressional!=""){this.textboxState.value=this.congressionalState}else{this.textboxState.value=this.defaultState}}}else if(tabType==PPlaceType.SENATE){if(this.tab!="senate"){this.tab="senate";if(this.senate&&this.senate!=""){this.textboxSenate.value=this.senate}}}else if(tabType==PPlaceType.SCHOOL){if(this.tab!="school"){this.textbox.id="as_school";this.tab="school";if(this.school&&this.school!=""){this.textboxState.value=this.schoolState;this.textbox.value=this.school}else{this.textboxState.value=this.defaultState;this.textbox.value=this.defaultSchoolText}}}else if(tabType==PPlaceType.SLD_UPPER){if(this.tab!="statedistricts"){this.tab="statedistricts";if(this.statedist&&this.statedist!=""){this.textboxState.value=this.statedistState}else{this.textboxState.value=this.defaultState}}}else if(tabType==PPlaceType.CBSA){if(this.tab!="cbsa"){this.tab="cbsa";if(this.cbsa&&this.cbsa!=""){this.textboxState.value=this.cbsaState}else{this.textboxState.value=this.defaultState}}}};PTRFPlaceSearchBox.prototype.setFocusEvents=function(){var search=this;PEvent.addListener(search.textbox,"focus",function(){var s=search.textbox.value;if(s==search.defaultText||s==search.defaultSchoolText||s==search.defaultCensusText||s==search.defaultBlockText){this.value=""}})};PTRFPlaceSearchBox.prototype.reset=function(){this.setType(null);this.selectTab(0);this.setSearchValue(null);this.census=this.defaultCensusText;this.block=this.defaultBlockText;this.school=this.defaultSchoolText;this.searchthemap=this.defaultText;this.textbox.value=this.searchthemap};PTRFPlaceSearchBox.prototype.setUp=function(){this.textbox.className="searchbox";this.textbox.value=this.defaultText;this.textboxState.className="searchbox";this.textboxCong.className="searchbox";this.textboxStateDistOpts.className="searchbox";this.textboxStateDist.className="searchbox";this.textboxCBSA.className="searchbox";this.textboxSenate.className="searchbox"};PTRFPlaceSearchBox.prototype.addListener=function(eventId,func){this.eventManager.registerForEvent(eventId,[],func)};PTRFPlaceSearchBox.prototype.setDefaultTypes=function(types){this.defaultType=types;this.setTypes(types)};PTRFPlaceSearchBox.prototype.getSearchString=function(){return this.textbox.value};PTRFPlaceSearchBox.prototype.setTypes=function(types){if(types){this.type=types}else this.type=this.defaultType};PTRFPlaceSearchBox.prototype.setType=function(type){if(type)this.type=[type];else this.type=this.defaultType;if(type&&type==PPlaceType.CENSUSTRACT){this.textboxCong.style.display="none";this.textboxState.style.display="none";this.textboxStateDistOpts.style.display="none";this.textboxStateDist.style.display="none";this.textbox.style.display="inline";this.textbox.style.width="97%";this.textboxCBSA.style.display="none";this.textboxSenate.style.display="none"}if(type&&type==PPlaceType.BLOCKGROUP){this.textboxCong.style.display="none";this.textboxState.style.display="none";this.textboxStateDistOpts.style.display="none";this.textboxStateDist.style.display="none";this.textbox.style.display="inline";this.textbox.style.width="97%";this.textboxCBSA.style.display="none";this.textboxSenate.style.display="none"}else if(type&&type==PPlaceType.CONGRESSIONAL){this.textboxState.style.display="inline";this.textboxState.style.paddingLeft="0px";this.textbox.style.display="none";this.textboxStateDistOpts.style.display="none";this.textboxStateDist.style.display="none";this.textboxCong.style.display="inline";this.textboxCBSA.style.display="none";this.textboxSenate.style.display="none";this.populateCongressional()}else if(type&&type==PPlaceType.SCHOOL){this.textboxCong.style.display="none";this.textboxState.style.display="inline";this.textboxState.style.paddingLeft="0px";this.textboxStateDistOpts.style.display="none";this.textboxStateDist.style.display="none";this.textbox.style.display="inline";this.textbox.style.width="65%";this.textboxSenate.style.display="none";this.textboxCBSA.style.display="none"}else if(type&&(type==PPlaceType.SLD_UPPER||type==PPlaceType.SLD_LOWER)){this.textboxState.style.display="inline";this.textboxState.style.paddingLeft="0px";this.textbox.style.display="none";this.textboxCong.style.display="none";this.textboxStateDistOpts.style.display="inline";this.textboxStateDist.style.display="inline";this.textboxCBSA.style.display="none";this.textboxSenate.style.display="none";this.populateStateDistricts()}else if(type&&type==PPlaceType.CBSA){this.textboxState.style.display="inline";this.textboxState.style.paddingLeft="0px";this.textbox.style.display="none";this.textboxCong.style.display="none";this.textboxStateDistOpts.style.display="none";this.textboxStateDist.style.display="none";this.textboxCBSA.style.display="inline";this.textboxSenate.style.display="none";this.populateCBSA()}else if(type&&type==PPlaceType.SENATE){this.textboxState.style.display="none";this.textboxState.style.paddingLeft="0px";this.textbox.style.display="none";this.textboxCong.style.display="none";this.textboxStateDistOpts.style.display="none";this.textboxStateDist.style.display="none";this.textboxCBSA.style.display="none";this.textboxSenate.style.display="inline"}else{this.textboxState.style.display="none";this.textboxState.style.paddingLeft="0px";this.textbox.style.display="inline";this.textbox.style.width="97%";this.textboxCong.style.display="none";this.textboxStateDistOpts.style.display="none";this.textboxStateDist.style.display="none";this.textboxCBSA.style.display="none";this.textboxSenate.style.display="none"}};PTRFPlaceSearchBox.prototype.populateDropDowns=function(placetypes,elem){var d=this.textboxState;var stateText=d.options[d.selectedIndex].innerHTML;var stateId=d.options[d.selectedIndex].value;if(stateId!=elem.state||elem.stateDistType&&placetypes[0]!=elem.stateDistType){while(elem.hasChildNodes())elem.removeChild(elem.firstChild);var box=this;if(placetypes[0]==PPlaceType.SLD_UPPER||placetypes[0]==PPlaceType.SLD_LOWER){geocoder.getPlace(stateText,function(stateplaces){var state=stateplaces[0];if(stateplaces.length>1){for(var j=0;j<stateplaces.length;j++){if(stateplaces[j].getLabel()==stateText&&stateplaces[j].country=="United States")state=stateplaces[j]}}state.getPlacesWithin(placetypes[0],null,null,function(places){for(var i=0;i<places.length;i++){if(stateText=="Kansas"&&places[i].getState()=="AR")continue;var cdoption=document.createElement("option");cdoption.value=places[i].id;cdoption.text=places[i].getLabel();try{elem.add(cdoption,null)}catch(ex){elem.add(cdoption)}}if(stateText=="Pennsylvania"&&placetypes[0]==PPlaceType.SLD_LOWER){var allplaces=places;placeLoader.load([3553083,3552768,3553084],function(places){for(var i=0;i<places.length;i++){var cdoption=document.createElement("option");cdoption.value=places[i].id;cdoption.text=places[i].getLabel();try{elem.add(cdoption,null)}catch(ex){elem.add(cdoption)}allplaces.push(places[i])}box.eventManager.triggerEvent("dd_initialized",allplaces)})}else box.eventManager.triggerEvent("dd_initialized",places)},5,200,PPlaceOrder.IDENTIFIER,null,"id,label")},200,1,[PPlaceType.STATE])}else if(placetypes[0]==PPlaceType.CBSA){actuallyPopulateDropdown=function(cbsas,metros){var $optionsArray=[];var $optGroup=$("<optgroup />");var $option;$optGroup.attr("label","CBSAs");$optionsArray.push($optGroup);for(var i=0;i<cbsas.length;i++){var pmdb=new PMultiDefinitionBoundary(cbsas[i]);$option=$("<option />");$option.data("pmdb",pmdb);$option.text(pmdb.name+" ("+pmdb.getYearsAsString()+")");$optGroup.append($option)}$(elem).append($optGroup);if(metros.length>0){$optGroup=$("<optgroup />");$optGroup.attr("label","Metro Divisions");$optionsArray.push($optGroup);for(i=0;i<metros.length;i++){var pmdb=new PMultiDefinitionBoundary(metros[i]);$option=$("<option />");$option.data("pmdb",pmdb);$option.text(pmdb.name+" ("+pmdb.getYearsAsString()+")");$optGroup.append($option)}}$(elem).append($optGroup)};var stateAbbr=this.getSearchStateAbbr();if(stateAbbr=="DC"){var cbsas=[{name:"Washington-Arlington-Alexandria, DC-VA-MD-WV Metro Area",typeId:58,bounds:[{bid:2066104,defId:105,year:"2003"},{bid:3579094,defId:125,year:"2013"}]}];var metros=[{name:"Washington-Arlington-Alexandria, DC-VA-MD-WV Metro Division",typeId:60,bounds:[{bid:2066170,defId:107,year:"2003"},{bid:3580037,defId:127,year:"2013"}]}];actuallyPopulateDropdown(cbsas,metros)}else{placeLoader.loadStateAllType(stateAbbr,PPlaceType.CBSA,function(cbsas){placeLoader.loadStateAllType(stateAbbr,PPlaceType.MD,function(metros){actuallyPopulateDropdown(cbsas,metros)})})}}else{geocoder.getPlace(stateText,function(places){var stext="";if(placetypes[0]==PPlaceType.CONGRESSIONAL){stext="'s"}for(var i=0;i<places.length;i++){if(stateText=="Kansas"&&places[i].getState()=="AR")continue;var cdoption=document.createElement("option");cdoption.value=places[i].id;cdoption.text=places[i].getLabel().replace(stateText+stext+" ","");try{elem.add(cdoption,null)}catch(ex){elem.add(cdoption)}}if(stateText=="Pennsylvania"&&placetypes[0]==PPlaceType.SLD_LOWER){var allplaces=places;placeLoader.load([1884717,1884718,1884711],function(places){for(var i=0;i<places.length;i++){var cdoption=document.createElement("option");cdoption.value=places[i].id;cdoption.text=places[i].getLabel().replace(stateText+" ","");try{elem.add(cdoption,null)}catch(ex){elem.add(cdoption)}allplaces.push(places[i])}box.eventManager.triggerEvent("dd_initialized",allplaces)})}else box.eventManager.triggerEvent("dd_initialized",places)},200,1,placetypes,null,null,null,"id,label")}elem.state=stateId;if(elem.stateDistType||elem.stateDistType==""){elem.stateDistType=placetypes[0]}}};PTRFPlaceSearchBox.prototype.getSearchStateAbbr=function(){var d=this.textboxState;var stateText=d.options[d.selectedIndex].title;return stateText};PTRFPlaceSearchBox.prototype.populateCongressional=function(){this.populateDropDowns(this.type,this.textboxCong)};PTRFPlaceSearchBox.prototype.populateStateDistricts=function(){this.populateDropDowns(this.type,this.textboxStateDist)};PTRFPlaceSearchBox.prototype.populateCBSA=function(){this.populateDropDowns(this.type,this.textboxCBSA)};PTRFPlaceSearchBox.prototype.populateSenate=function(){var elem=this.textboxSenate;var senatorSet=false;var self=this;placeLoader.loadType(PPlaceType.SENATE,PPlaceOrder.STATE_CANONICALNAME,function(places){for(var i=0;i<places.length;i++){var o=document.createElement("option");o.value=places[i].id;var l=places[i].getLabel();o.text=l;if(!senatorSet&&places[i].getState()==self.defaultStateAbbrev){o.selected=true;senatorSet=true}try{elem.add(o,null)}catch(ex){elem.add(o)}}})};PTRFPlaceSearchBox.prototype.cleanString=function(s){if(s.search("e.g.,")==0){return""}else{return s.replace(/^\s+|\s+$/g,"")}};PTRFPlaceSearchBox.prototype.submit=function(){var displayAlert=function(alertText){setTimeout(function(){alerter.popup(alertText,"OK")},300)};this.eventManager.triggerEvent("submit");var box=this;var text=this.getSearchString();if(this.type&&(this.type[0]==PPlaceType.CENSUSTRACT||this.type[0]==PPlaceType.BLOCKGROUP)){var typeId=this.type[0].getId();var isCensus=this.type[0]==PPlaceType.CENSUSTRACT;if(isCensus&&text==this.defaultCensusText||!isCensus&&text==this.defaultBlockText){return}var searchText=this.cleanString(this.textbox.value);if(searchText==""){this.textbox.focus();return}var fipsBad='Location "<b>'+searchText+"</b>\" was not found. For help finding census tracts and block groups, <a class='pagelinks' href='"+PEnvironment.blogUrl+"?p=3580' target='_blank'>click here</a>.";var defs=[];var alertText="";if(isCensus&&searchText.length!=11||!isCensus&&searchText.length!=12){alertText=fipsBad}else{var matrixIds=boundaryMatrix.getMatrixOrder(true);var addedDefs=[];for(var i=0;i<matrixIds.length;i++){try{var def=boundaryMatrix.getDefinitionIdForTypeId(typeId,matrixIds[i]);if(addedDefs[def]==null){defs.push(def);addedDefs[def]=true}}catch(e){}}if(defs.length<1){alertText="Unable to perform FIPS search."}}if(alertText!=""){displayAlert(alertText);return}var f=function(places){if(places.length>0){box.eventManager.triggerEvent("response",places,box)}else{alerter.popup(fipsBad,"OK")}};var options={ord:1};placeLoader.loadFIPS(searchText,defs,options,f)}else if(this.type&&this.type[0]==PPlaceType.CONGRESSIONAL){var d=this.textboxCong;var congid=d.options[d.selectedIndex].value;placeLoader.load([congid],function(places){box.eventManager.triggerEvent("response",places,box)})}else if(this.type&&this.type[0]==PPlaceType.SCHOOL){if(text==this.defaultSchoolText){return}var d=this.textboxState;var stateText=d.options[d.selectedIndex].title;text+=", "+stateText;if(this.cleanString(text)==""){alert("Please enter School District name.");return}if(this.cleanString(text)!=""){geocoder.getPlace(text,function(places){if(places.length>0){box.eventManager.triggerEvent("response",places,box)}else{var content='Location "<b>'+box.getSearchString()+'</b>" not found.';alerter.popup(content,"OK")}},5,PPlaceOrder.POPULATION,box.type)}}else if(this.type&&(this.type[0]==PPlaceType.SLD_UPPER||this.type[0]==PPlaceType.SLD_LOWER)){var d=this.textboxStateDist;var statedistid=d.options[d.selectedIndex].value;placeLoader.load([statedistid],function(places){box.eventManager.triggerEvent("response",places,box)})}else if(this.type&&this.type[0]==PPlaceType.CBSA){var pmdb=$(this.textboxCBSA).find("option:selected").data("pmdb");var bid=pmdb.getBoundaryIdForCurrentMatrix();placeLoader.load([bid],function(places){box.eventManager.triggerEvent("response",places,box)})}else if(this.type&&this.type[0]==PPlaceType.SENATE){var d=this.textboxSenate;var senateid=d.options[d.selectedIndex].value;placeLoader.load([senateid],function(places){box.eventManager.triggerEvent("response",places,box)})}else{if(text==this.defaultText){return}var matches=/^(-?\d+(\.\d+)?),(-?\d+(\.\d+)?)$/.exec(text);if(matches){var lat=parseFloat(matches[1]);var lng=parseFloat(matches[3]);if(lat>=90||lat<=-90||lng>=180||lng<=-180){displayAlert('"<b>'+text+'</b>" is not a valid latitude/longitude.');return}var address=new PAddress(lat+","+lng,lng,lat);box.eventManager.triggerEvent("response",address,box)}else{var placetypes=null;if(text.toLowerCase().indexOf(" county subdivision")!=-1){text=text.toLowerCase().replace(" county subdivision","");placetypes=[PPlaceType.COUNTY_SUBDIVISION]}else{placetypes=box.type}if(this.cleanString(text)!=""){geocoder.getPlace(text,function(places){if(places.length>0){box.eventManager.triggerEvent("response",places,box)}else{geocoder.getLocations(text,function(address){box.eventManager.triggerEvent("response",address,box)})}},5,PPlaceOrder.POPULATION,placetypes,null,null,null,null,true)}}}if(this.tab=="searchthemap"){this.searchthemap=this.textbox.value}else if(this.tab=="census"){this.census=this.textbox.value}else if(this.tab=="block"){this.block=this.textbox.value}else if(this.tab=="congressional"){this.congressional=this.textboxCong.value;this.congressionalState=this.textboxState.value}else if(this.tab=="senate"){this.senate=this.textboxSenate.value}else if(this.tab=="school"){this.school=this.textbox.value;this.schoolState=this.textboxState.value}else if(this.tab=="statedistricts"){this.statedist=this.textboxStateDist.value;this.statedistState=this.textboxState.value;this.statedistUL=this.textboxStateDistOpts.value}else if(this.tab=="cbsa"){this.cbsa=this.textboxCBSA.value;this.cbsaState=this.textboxState.value}};PTRFSiteLegendGroup=function(map){this.eventManager=new PEventManager;this.map=map;var that=this;var notify=function(){that.onchange()};this.legends=[];for(var i=0;i<pincats.length;i++){if(pincats[i].display==true){var tempLegend=new PTRFSiteLegend(map,document.getElementById(pincats[i].node_id),this);this.legends.push(tempLegend);tempLegend.addListener("addfilter",notify)}}};PTRFSiteLegendGroup.prototype.onchange=function(){this.eventManager.triggerListeners("change")};PTRFSiteLegendGroup.prototype.addListener=function(eventId,f){this.eventManager.addListener(eventId,f)};PTRFSiteLegendGroup.prototype.clear=function(){this.setgroups=[];for(var i=0;i<this.legends.length;i++){this.legends[i].clear();this.setgroups.push([])}};PTRFSiteLegendGroup.prototype.refresh=function(){this.clear();var sets=this.map.getOverlaySets();var opened=[];var openedMySites=[];var urlParams=getUrlParams();var altLayout=urlParams["altLayout"];for(var i=0;i<sets.length;i++){if(sets[i].withLayer){continue}for(var j=0;j<pincats.length;j++){for(var x=0;x<pincats[j].pinsets.length;x++){if(sets[i].id&&sets[i].id==pincats[j].pinsets[x].id){var identifier=String(pincats[j].pinsets[x].type)+pincats[j].pinsets[x].id;if(pincats[j].name=="My Sites"){openedMySites[identifier]=true;opened[identifier]=true;this.setgroups[j].push(sets[i])}else{if(pincats[j].display==true&&!openedMySites[identifier]&&(!altLayout||altLayout&&opened[identifier]==null)){this.setgroups[j].push(sets[i]);opened[identifier]=true}}break}}}}for(var i=0;i<this.setgroups.length;i++){if(this.setgroups[i].length>0)this.legends[i].refresh(this.setgroups[i])}};PTRFSiteLegendGroup.prototype.buildMapLegend=function(){this.mapLegend=$("<div />");$(this.mapLegend).attr("id","legend");$(this.mapLegend).addClass("legend windowWidgetLegend widget-sites-map-legend");$(this.mapLegend).hide();this.mapLegendContent=$("<div />");$(this.mapLegendContent).css({color:"#7a7a7a",fontSize:"10pt"});var legendTitle=$("<h3 />");$(legendTitle).attr("id","legend_toggle");$(legendTitle).html("Sites");$(this.mapLegend).append(legendTitle);$(legendTitle).click(function(){toggleOnMapSitesLegend(this)});var toggle=$("<a />");$(toggle).addClass("toggleText");$(toggle).html("Hide Legend");$(legendTitle).append(toggle);var legendContainer=$("<div />");$(legendContainer).addClass("legend_container sites_legend_container");$(legendContainer).append(this.mapLegendContent);$(this.mapLegend).append(legendContainer);this.legendContainer=legendContainer;$("#widget-legends-column").append(this.mapLegend)};PTRFSiteLegendGroup.prototype.refreshMapLegend=function(){if(this.map.getOverlaySets().length==0){$(this.mapLegend).hide();if(shouldWidgetMapDataButtonsBeAdded()&&this.doesSitesMenuHaveOneItem())this.showButton();return}if(shouldWidgetMapDataButtonsBeAdded())this.hideButton();$(this.mapLegend).show();$(this.mapLegendContent).append($(".sitesFilters"));$(".sitesFilters").addClass("sitesFiltersMod")};PTRFSiteLegendGroup.prototype.addMapButton=function(){var that=this;var func=function(){that.hideButton();addSitesByLocation(that.map,0,0)};this.mapbutton=new WidgetMapDataButton("Add Sites",func)};PTRFSiteLegendGroup.prototype.showButton=function(){this.mapbutton.show()};PTRFSiteLegendGroup.prototype.hideButton=function(){this.mapbutton.hide()};PTRFSiteLegendGroup.prototype.doesSitesMenuHaveOneItem=function(){if(this.legends.length==1)return true;return false};PTRFSiteLegend=function(map,node,legendgroup){this.map=map;this.legendgroup=legendgroup;this.widget=node;if(this.widget){this.widget.style.fontSize="11px"}var wrapLi=document.createElement("li");wrapLi.name="filters";wrapLi.style.border="1px solid black";this.eventManager=new PEventManager;this.listeners=[]};PTRFSiteLegend.prototype.onaddfilter=function(){this.eventManager.triggerListeners("addfilter")};PTRFSiteLegend.prototype.addListener=function(eventId,f){this.eventManager.addListener(eventId,f)};PTRFSiteLegend.prototype.clear=function(){var l=this.listeners.length;for(var i=0;i<l;i++)PEvent.removeListener(this.listeners[i]);this.listeners=[];while(this.widget.hasChildNodes()){this.widget.removeChild(this.widget.firstChild)}};PTRFSiteLegend.prototype.refresh=function(sets){this.clear();if(!this.expandDiv)this.expandDiv=[];if(!sets){var s=this.map.getOverlaySets();var sets=[];for(var i=0;i<s.length;i++){if(!s[i].withLayer)sets.push(s[i])}}var labelColor="#ff9933";var labelBackground="#ffffef";var filterBorder="1px solid #aaa";var filterColor="#919191";var filterBackground="#fff";var filterOverColor="#ff9933";var filterOverBackground="#ffffef";var activeSitesColor="#5d83d0";for(var i=0;i<sets.length;i++){var icon=document.createElement("img");icon.className="site_image";icon.src=sets[i].icon.image;var iconDiv=document.createElement("div");iconDiv.style.styleFloat="left";iconDiv.style.cssFloat="left";iconDiv.appendChild(icon);var title=document.createElement("div");title.className="site_title";title.style.background=labelBackground;title.innerHTML=sets[i].getLabel();var isWK=false;try{isWK=session.get(P.constants.sessionUsername).match(/wk\d{1,5}/)!=null?true:false}catch(e){}var editDiv=null;if(sets[i].type=="dl"&&sets[i].owner==true&&isWK===false){var editLink=document.createElement("a");var edit=document.createElement("img");edit.style.border="none";editLink.appendChild(edit);edit.style.display="inline";edit.src="/images/rename_button.png";editLink.set=sets[i].id;editLink.href="javascript:void(0)";this.listeners.push(PEvent.addListener(editLink,"click",function(){setWindowLocation("/dataloader?di="+this.set)}));editLink.style.cursor="pointer";var editDiv=document.createElement("div");editDiv.style.styleFloat="right";editDiv.style.cssFloat="right";editDiv.style.padding="0 3px";editDiv.appendChild(editLink)}var closeLink=document.createElement("a");closeLink.className="filter-close-link";var close=document.createElement("img");close.style.border="none";closeLink.appendChild(close);close.style.display="inline";close.src=PEnvironment.kamapUrl+"images/button_close_widget.gif";closeLink.map=this.map;closeLink.set=sets[i];closeLink.legend=this;closeLink.href="javascript:void(0)";this.listeners.push(PEvent.addListener(closeLink,"click",function(){this.map.removeOverlaySet(this.set);this.set.clearFilters();this.legend.onaddfilter()}));closeLink.style.cursor="pointer";var closeDiv=document.createElement("div");closeDiv.style.styleFloat="right";closeDiv.style.cssFloat="right";closeDiv.appendChild(closeLink);var br=document.createElement("br");br.clear="both";var titleBlock=document.createElement("div");titleBlock.className="site_container";titleBlock.style.background="#ffffef";titleBlock.style.color=labelColor;titleBlock.style.padding="3px";titleBlock.style.border="1px solid #ccc";titleBlock.style.borderTop="none";titleBlock.style.overflow="hidden";if(version<7)titleBlock.style.width="182px";titleBlock.appendChild(iconDiv);titleBlock.appendChild(title);titleBlock.appendChild(closeDiv);if(editDiv!=null){titleBlock.appendChild(editDiv)}titleBlock.appendChild(br);this.widget.appendChild(titleBlock);if(!$.isEmptyObject(sets[i].displayfiltergroups)){var menuTimer=[];var menuTimerNameUL=[];var menuTimerValueDiv=[];var menuWait=300;function findPos(obj){var curleft=curtop=0;if(obj.offsetParent){curleft=obj.offsetLeft;curtop=obj.offsetTop;while(obj=obj.offsetParent){curleft+=obj.offsetLeft;curtop+=obj.offsetTop}}return[curleft,curtop]}function removeNode(div,id){for(var i=0;i<div.childNodes.length;i++){if(div.childNodes[i].id==id)div.removeChild(div.childNodes[i])}}var filterArrowImg=document.createElement("img");var filterArrow=document.createElement("a");filterArrow.appendChild(filterArrowImg);var nameUL=document.createElement("ul");filterArrowImg.style.width="13px";filterArrowImg.style.height="13px";filterArrowImg.style.cursor="pointer";filterArrowImg.style.border="none";filterArrowImg.style.display="inline";filterArrowImg.mouseoverimg=PEnvironment.kamapUrl+"images/button_arrow_down_widget.gif";filterArrowImg.mouseoutimg=PEnvironment.kamapUrl+"images/button_arrow_widget.gif";filterArrowImg.src=filterArrowImg.mouseoutimg;filterArrow.className="filter-arrow-link";filterArrow.style.paddingLeft="2px";filterArrow.textDiv=closeDiv;filterArrow.nameUL=nameUL;filterArrow.timerIndex=i;filterArrow.valueDivId="filterValueDiv";filterArrow.href="javascript:void(0)";filterArrow.image=filterArrowImg;var showEvents=["mouseover","focus"];var hideEvents=["mouseout","blur"];for(var e=0;e<showEvents.length;e++){this.listeners.push(PEvent.addListener(filterArrow,showEvents[e],function(){this.image.src=this.image.mouseoverimg;clearTimeout(menuTimer[this.timerIndex]);clearTimeout(menuTimerNameUL[this.timerIndex]);clearTimeout(menuTimerValueDiv[this.timerIndex]);this.textDiv.appendChild(this.nameUL);removeNode(this.textDiv,this.valueDivId)}))}for(var e=0;e<hideEvents.length;e++){this.listeners.push(PEvent.addListener(filterArrow,hideEvents[e],function(){var self=this;menuTimer[self.timerIndex]=setTimeout(function(){self.image.src=self.image.mouseoutimg;self.textDiv.removeChild(self.nameUL)},menuWait)}))}while(closeDiv.hasChildNodes())closeDiv.removeChild(closeDiv.firstChild);closeDiv.appendChild(closeLink);closeDiv.appendChild(filterArrow);nameUL.style.zIndex=1e4;nameUL.style.position="absolute";nameUL.style.borderTop=filterBorder;nameUL.style.width="150px";nameUL.style.backgroundColor=filterBackground;nameUL.style.listStyle="none";nameUL.style.padding="0";nameUL.style.margin="0";nameUL.filterArrow=filterArrow;this.listeners.push(PEvent.addListener(nameUL,"mouseover",function(){clearTimeout(menuTimer[this.filterArrow.timerIndex]);clearTimeout(menuTimerNameUL[this.filterArrow.timerIndex]);clearTimeout(menuTimerValueDiv[this.filterArrow.timerIndex])}));this.listeners.push(PEvent.addListener(nameUL,"mouseout",function(){var filterArrow=this.filterArrow;menuTimerNameUL[filterArrow.timerIndex]=setTimeout(function(){filterArrow.image.src=filterArrow.image.mouseoutimg;filterArrow.textDiv.removeChild(filterArrow.nameUL);removeNode(filterArrow.textDiv,filterArrow.valueDivId)},menuWait)}));var nameULPos=findPos(filterArrow);var widgetPos=findPos(this.widget);nameUL.style.left=nameULPos[0]-widgetPos[0]+parseInt(filterArrow.image.style.width)+9+"px";nameUL.style.marginTop="-17px";if(version<8)nameUL.style.marginTop="-2px";var objlen=0;for(var j in sets[i].displayfiltergroups){var filters=sets[i].displayfiltergroups[j];if(filters.length>0){if(sets[i].isIFFDataset()&&filters[0].name.indexOf("_HIDE")!=-1){continue}objlen++;var newDivOuter=document.createElement("li");newDivOuter.style.padding="0px";newDivOuter.style.borderLeft=filterBorder;newDivOuter.style.borderRight=filterBorder;newDivOuter.style.borderBottom=filterBorder;var valueDiv=document.createElement("li");valueDiv.id=filterArrow.valueDivId;valueDiv.style.zIndex=nameUL.style.zIndex;valueDiv.style.position=nameUL.style.position;valueDiv.style.maxHeight="300px";valueDiv.style.overflowY="auto";valueDiv.style.overflowX="auto";valueDiv.style.borderTop=nameUL.style.borderTop;valueDiv.style.borderRight=nameUL.style.borderRight;valueDiv.style.borderBottom=nameUL.style.borderBottom;valueDiv.style.width=nameUL.style.width;valueDiv.style.backgroundColor=nameUL.style.backgroundColor;valueDiv.filterArrow=filterArrow;var newDiv=document.createElement("div");var newA=document.createElement("a");newA.href="javascript:void(0)";newA.innerHTML=j;newDiv.appendChild(newA);newA.style.display="block";newA.style.textDecoration="none";newA.style.padding="2px 5px 2px 5px";newA.style.cursor="pointer";newA.style.fontSize="11px";
newA.style.color=filterColor;newA.valueDiv=valueDiv;newA.textDiv=closeDiv;newA.filterArrow=filterArrow;newA.ftrs=filters;newA.mouseovercolor=filterOverBackground;newA.mouseoutcolor=filterBackground;newA.outerIndex=objlen;newA.nameUL=nameUL;newA.newDivOuter=newDivOuter;this.valueDiv=valueDiv;for(var e=0;e<showEvents.length;e++){this.listeners.push(PEvent.addListener(newA,showEvents[e],function(){jQuery("#"+this.filterArrow.valueDivId).remove();this.style.backgroundColor=this.mouseovercolor;this.style.color=filterOverColor;var ul=document.createElement("ul");ul.id=this.filterArrow.valueDivId;ul.style.listStyle="none";ul.style.padding="0";ul.style.position="absolute";ul.style.left=parseInt(this.nameUL.style.width)-1+"px";var parent=this.parentNode;var height=jQuery(parent).outerHeight();ul.style.marginTop="-"+height-1+"px";ul.appendChild(this.valueDiv);this.newDivOuter.appendChild(ul);clearTimeout(menuTimer[this.filterArrow.timerIndex]);clearTimeout(menuTimerValueDiv[this.filterArrow.timerIndex]);clearTimeout(menuTimerNameUL[this.filterArrow.timerIndex])}))}this.listeners.push(PEvent.addListener(newA,"mouseout",function(){this.style.backgroundColor=this.mouseoutcolor;this.style.color=filterColor}));this.listeners.push(PEvent.addListener(newA,"blur",function(){this.style.backgroundColor=this.mouseoutcolor;this.style.color=filterColor;var self=this;var filterArrow=this.filterArrow;menuTimerValueDiv[filterArrow.timerIndex]=setTimeout(function(){filterArrow.image.src=filterArrow.image.mouseoutimg},menuWait)}));newDivOuter.appendChild(newDiv);nameUL.appendChild(newDivOuter);var ul=document.createElement("ul");nameUL.appendChild(ul);var colorcodefilter=null;for(var k=0;k<filters.length;k++){var existfilters=sets[i].filtergroups[j];var found=false;var colorcode=false;var newChild=document.createElement("li");ul.appendChild(newChild);var newChildA=document.createElement("a");newChildA.href="javascript:void(0)";newChild.appendChild(newChildA);var newChildOuter=document.createElement("div");newChildA.style.padding=newDivOuter.style.padding;newChildA.style.borderLeft=newDivOuter.style.borderLeft;newChildA.style.borderRight=newDivOuter.style.borderRight;newChildA.style.borderBottom=newDivOuter.style.borderBottom;newChildA.style.width=newA.style.width;newChildA.style.padding=newA.style.padding;newChildA.style.fontSize="10px";newChildA.style.color=filterColor;newChildA.style.display="block";newChildA.innerHTML=filters[k].displayValues();if(existfilters){for(var l=0;l<existfilters.length;l++){if(filters[k]==existfilters[l]){found=true;if(filters[k].values[0]=="COLORCODE"){colorcode=true;colorcodefilter=filters[k]}}}}if(found||colorcode){newChildA.style.backgroundColor=filterOverBackground;newChildA.style.color=filterOverColor}else{newChildA.mouseovercolor=filterOverBackground;newChildA.mouseoutcolor=filterBackground;newChildA.overlay=sets[i];newChildA.filter=filters[k];newChildA.ftrs=newA.ftrs;newChildA.style.cursor="pointer";newChildA.filterArrow=filterArrow;newChildA.timerIndex=k;newChildA.map=this.map;newChildA.legendgroup=this.legendgroup;newChildA.legend=this;newChildA.colorcodefilter=colorcodefilter;this.listeners.push(PEvent.addListener(newChildA,"mouseover",function(){this.style.backgroundColor=this.mouseovercolor;this.style.color=filterOverColor}));this.listeners.push(PEvent.addListener(newChildA,"focus",function(){this.style.backgroundColor=this.mouseovercolor;this.style.color=filterOverColor;clearTimeout(menuTimer[this.filterArrow.timerIndex]);clearTimeout(menuTimerValueDiv[this.filterArrow.timerIndex]);clearTimeout(menuTimerNameUL[this.filterArrow.timerIndex])}));this.listeners.push(PEvent.addListener(newChildA,"mouseout",function(){this.style.backgroundColor=this.mouseoutcolor;this.style.color=filterColor}));this.listeners.push(PEvent.addListener(newChildA,"blur",function(){this.style.backgroundColor=this.mouseoutcolor;this.style.color=filterColor;var self=this;var filterArrow=this.filterArrow;menuTimerValueDiv[filterArrow.timerIndex]=setTimeout(function(){filterArrow.image.src=filterArrow.image.mouseoutimg;filterArrow.textDiv.removeChild(filterArrow.nameUL)},menuWait)}));this.listeners.push(PEvent.addListener(newChildA,"click",function(){var mapSets=map.getOverlaySets(false,true);if(this.filter.values[0]=="COLORCODE"){var filters=[];for(var i=0;i<this.ftrs.length;i++){if(this.ftrs[i].values[0]!="COLORCODE")filters.push(this.ftrs[i])}var addFilterFunc=function(elem){elem.overlay.setFiltersByIcons(filters,elem.overlay.colorcodes);elem.overlay.filtergroups[elem.filter.name]=[];elem.overlay.filtergroups[elem.filter.name].push(elem.filter);for(var l=0;l<elem.overlay.children.length;l++){var curSet=elem.overlay.children[l];for(var m=0;m<mapSets.length;m++){var curMapSet=mapSets[m];if(curMapSet.id==curSet.id&&curMapSet.type==curSet.type){curMapSet.setFiltersByIcons(filters,elem.overlay.colorcodes);curMapSet.filtergroups[elem.filter.name]=[];curMapSet.filtergroups[elem.filter.name].push(elem.filter);break}}}elem.legend.onaddfilter()};if(!this.overlay.isIFFDataset()&&this.overlay.filtersbyicons.length>0){var text="The previous color code filter will be removed to add this new one.";var that=this;alerter.popup(text,"Cancel","OK",function(){that.overlay.clearFiltersByIcons();addFilterFunc(that);that.legendgroup.refresh()})}else if(this.overlay.isIFFDataset()){this.overlay.clearFilters();addFilterFunc(this)}else{addFilterFunc(this)}}else{if(this.overlay.isIFFDataset()){var filtergroups=this.overlay.filtergroups;for(var l in filtergroups){if(filtergroups[l].length>0){if(filtergroups[l][0].values[0]=="COLORCODE"&&isIFFAccountabilityColumn(this.overlay.id,filtergroups[l][0].columnName)){this.overlay.removeFilterFromGroup(filtergroups[l][0])}}}}this.overlay.addFilter(this.filter);for(var l=0;l<this.overlay.children.length;l++){var curSet=this.overlay.children[l];for(var m=0;m<mapSets.length;m++){var curMapSet=mapSets[m];if(curMapSet.id==curSet.id&&curMapSet.type==curSet.type){curMapSet.addFilter(this.filter);if(curMapSet.colorcodefilter){curMapSet.removeFilterFromGroup(this.colorcodefilter)}break}}}this.legend.onaddfilter();if(this.colorcodefilter){this.overlay.removeFilterFromGroup(this.colorcodefilter)}}if(datasetSearch&&datasetSearch.currentDataset&&datasetSearch.currentDataset.id==this.overlay.id){datasetSearch.setCurrentDataset(this.overlay)}this.legendgroup.refresh()}))}newChildOuter.appendChild(newChild);valueDiv.appendChild(newChildOuter)}}}}if(sets[i].isIFFDataset()){var setId=sets[i].id;$(iconDiv).hide();var typeCont=$("<div />");typeCont.addClass("iffWidgetSchoolTypes");var p=PinIcons;var labels;var icons;if(setId==123100||setId==143400||setId==147950){labels=["Traditional District","Instrumentality Charter","Non-Instrumentality Charter","Independent 2-R Charter","Private"];icons=[p.circle,p.triangle,p.el,p.square,p.diamond]}else if(setId==139700||setId==149900){labels=["District, neighborhood","District, magnet/citywide","District, selective","Charter","Private"];icons=[p.circle,p.triangle,p.el,p.square,p.diamond]}else if(setId==140850||setId==150800){labels=["District","Charter","Private"];icons=[p.circle,p.square,p.diamond]}else if(setId==155200||setId==156800||setId==157050){labels=["Traditional District","District, charter","NPO/HEI Charter","Independent","District, other"];icons=[p.circle,p.diamond,p.square,p.triangle,p.el]}for(var x=0;x<labels.length;x++){var typeDiv=$("<div />");var icon=$("<img />");icon.attr("src",icons[x].image);var type=$("<span />");type.html(labels[x]);typeDiv.append(icon);typeDiv.append(type);typeCont.append(typeDiv)}$(titleBlock).append(typeCont)}if(sets[i].getFilters().length>0){var activeDiv=document.createElement("div");activeDiv.style.paddingLeft="10px";var expandImg=document.createElement("img");expandImg.style.width="9px";expandImg.style.height="9px";expandImg.hspace=3;this.expandDiv[i]=document.createElement("div");this.expandDiv[i].style.color=activeSitesColor;this.expandDiv[i].style.fontSize="10px";this.expandDiv[i].expand=true;this.expandDiv[i].plusImg=PEnvironment.kamapUrl+"images/expand.png";this.expandDiv[i].minusImg=PEnvironment.kamapUrl+"images/collapse.png";expandImg.src=this.expandDiv[i].minusImg;this.expandDiv[i].appendChild(expandImg);this.expandDiv[i].innerHTML+="<u>Showing Sites By:</u><br>";this.expandDiv[i].style.cursor="pointer";this.listeners.push(PEvent.addListener(this.expandDiv[i],"click",function(){if(this.expand){this.childNodes[0].src=this.plusImg;this.expand=false;this.parentNode.removeChild(this.activeDiv)}else{this.childNodes[0].src=this.minusImg;this.expand=true;this.parentNode.appendChild(this.activeDiv)}}));this.expandDiv[i].activeDiv=activeDiv;titleBlock.appendChild(this.expandDiv[i]);if(this.expandDiv[i].expand)titleBlock.appendChild(activeDiv);for(var j in sets[i].filtergroups){var filters=sets[i].filtergroups[j];if(filters.length>0&&!filters[0].name.match("_HIDE")){var newDiv=document.createElement("div");newDiv.style.paddingLeft="8px";newDiv.className="filter_container";newDiv.style.color="#666";var newChild=document.createElement("div");newDiv.innerHTML='<span class="filter">'+j+":</span>";newChild.style.paddingLeft="10px";newChild.style.fontSize="10px";newDiv.appendChild(newChild);activeDiv.appendChild(newDiv);for(var k=0;k<filters.length;k++){var removeFilter=function(){var removeFromSet=function(set,filter){set.removeFilter(filter);if(filter.values[0]=="COLORCODE"&&!set.isIFFDataset()){set.clearFiltersByIcons()}};removeFromSet(this.overlay,this.filter);var mapSets=map.getOverlaySets(false,true);for(var l=0;l<this.overlay.children.length;l++){var curSet=this.overlay.children[l];for(var m=0;m<mapSets.length;m++){var curMapSet=mapSets[m];if(curMapSet.id==curSet.id&&curMapSet.type==curSet.type){removeFromSet(curMapSet,this.filter);break}}}this.leg.onaddfilter();if(datasetSearch&&datasetSearch.currentDataset&&datasetSearch.currentDataset.id==this.overlay.id){datasetSearch.setCurrentDataset(this.overlay)}this.legend.refresh()};var newA=document.createElement("a");newA.href="javascript:void(0)";newA.title="Remove";newA.style.marginRight="2px";newA.style.color=activeSitesColor;newA.style.fontSize="10px";newA.style.fontWeight="normal";newA.style.textDecoration="underline";newA.style.verticalAlign="middle";newA.style.cursor="pointer";newA.filter=filters[k];newA.overlay=sets[i];newA.legend=this.legendgroup;newA.leg=this;newA.map=this.map;newA.innerHTML=newA.filter.displayValues();newA.className="filter_type";this.listeners.push(PEvent.addListener(newA,"click",removeFilter));var removeImg=document.createElement("img");removeImg.style.border="none";removeImg.style.display="inline";removeImg.src=PEnvironment.kamapUrl+"images/button_close_widget.gif";removeImg.style.paddingRight="2px";removeImg.style.margin="1px 0px";removeImg.style.verticalAlign="middle";removeImg.style.cursor="pointer";removeImg.filter=filters[k];removeImg.overlay=sets[i];removeImg.legend=this.legendgroup;removeImg.leg=this;removeImg.map=this.map;this.listeners.push(PEvent.addListener(removeImg,"click",removeFilter));var removeSpan=document.createElement("span");removeSpan.appendChild(removeImg);removeSpan.appendChild(newA);newChild.appendChild(removeSpan);if(k<filters.length-1)newChild.appendChild(document.createTextNode(", "));if(filters[k].values[0]=="COLORCODE"){var displayfilters=sets[i].filtersbyicons;var len=displayfilters.length;for(var l=0;l<len;l++){var colorlegend=document.createElement("div");colorlegend.className="filter_colors";var colorlegend=$("<div />");colorlegend.addClass("filter_colors");var img=$("<img />");var imgsrc;var ic=displayfilters[l].icon;if(sets[i].isIFFDataset()&&ic){imgsrc=ic.image.replace(".png","_large.png");img.css({height:"10px",width:"20px",margin:"3px 3px 0 0"})}else if(ic){imgsrc=ic.image}else{imgsrc=sets[i].filtericons[l].image}img.attr("src",imgsrc);var name=$("<span />");name.html(displayfilters[l].valuesDisplay);colorlegend.append(img);colorlegend.append(name);$(newA).append(colorlegend)}}}}}}if(sets[i].type=="dl"&&sets[i].ownerfirst){var addlInfo=document.createElement("div");addlInfo.innerHTML="(Created by "+sets[i].ownerfirst+" "+sets[i].ownerlast+" on "+sets[i].created+")";titleBlock.appendChild(addlInfo)}if(sets[i].type=="dl"&&sets[i].description){var addlInfo=document.createElement("div");addlInfo.innerHTML=sets[i].description;titleBlock.appendChild(addlInfo)}if(sets[i].search||sets[i].hasLabels){var datasetId=sets[i].id;var datasetType=sets[i].type;var optionsDiv=document.createElement("div");optionsDiv.className="siteOptions";var optionsHTML=[];if(!isMobile()&&sets[i].search){var defaultCheck="";if(datasetSearch&&datasetSearch.getCurrentDataset()!=null&&datasetSearch.getCurrentDataset().id==datasetId){defaultCheck=" checked"}optionsHTML.push("<input id='dsearch"+datasetId+"' type='radio' name='datasetSearch' class='dsearchr' value='"+datasetId+"' onclick='datasetSearch.update("+datasetId+");'"+defaultCheck+" /><label for='dsearch"+datasetId+"'> Search</label>")}if(sets[i].hasLabels){var defaultCheck=" checked";if(sets[i].hideLabels||labelManager.isHidden(datasetId,datasetType)||productProperty.getValue("site_prefix")=="hud"){defaultCheck="";if(!labelManager.isHidden(datasetId,datasetType)){labelManager.setHiddenNoUpdate(datasetId,datasetType,true)}}optionsHTML.push("<input id='label"+datasetId+"' type='checkbox' name='"+datasetId+"toggle' onclick='labelManager.toggleHidden(this, "+datasetId+', "'+datasetType+"\");'"+defaultCheck+" /><label id='label"+datasetId+"Label' for='label"+datasetId+"'> Labels</label>")}optionsDiv.innerHTML=optionsHTML.join("&nbsp;&nbsp;");titleBlock.appendChild(optionsDiv)}var srcs=sets[i].sources;if(srcs.length>0){var sourceDiv=document.createElement("div");sourceDiv.className="sourceLinks";sourceDiv.innerHTML="Source: ";for(var p=0;p<srcs.length;p++){var sourceHtml="";if(p!=0){sourceHtml=", "}var srcLink=srcs[p].link;if(srcLink!=null&&srcLink!=""){if(srcLink.indexOf("http://")==-1){srcLink="/our-data-directory.html#"+srcLink}sourceHtml+="<a href='"+srcLink+"' target='New'>"+srcs[p].label+"</a>"}else{sourceHtml+=srcs[p].label}sourceDiv.innerHTML+=sourceHtml}titleBlock.appendChild(sourceDiv)}}};PWebUtil=function(){};PWebUtil.lastExecutors=[];PWebUtil.executeLast=function(o,f){this.lastExecutors.push([o,f]);var code="var cmd9876 = PWebUtil.lastExecutors.shift(); cmd9876[1].apply(cmd9876[0]);";setTimeout(code,1)};PWebUtil.addArgs=function(url){var l=arguments.length;if(l>1)url+="?";var pair,value;for(var i=l-1;i>0;i--){pair=arguments[i];value=pair[1];if(value&&value+""!="")url+=pair[0]+"="+value+"&"}if(url.lastIndexOf("&")==url.length-1)url=url.substring(0,url.length-1);return url};PWebUtil.purge=function(d){var a=d.attributes,i,l,n;if(a){l=a.length;for(i=0;i<l;i+=1){n=a[i].name;if(typeof d[n]==="function")d[n]=null}}a=d.childNodes;if(a){l=a.length;for(i=0;i<l;i+=1){this.purge(d.childNodes[i])}}};PWebUtil.formatNumber=function(value,unit,dec,idv,round){if(!idv)idv=-9999;if(!round)round=100;if(value==null||isNaN(value)||value==Infinity||value==idv)return"N/A";else if(dec||dec==0)value=Number(value).toFixed(dec);else value=Math.round(value*round)/round;var neg=false;if(value<0)neg=true;value=value.toString();if(unit=="non_"||unit=="year_"){return value}var x=value.split(".");var x1=x[0];var x2=x.length>1?x[1]:"0";if(unit&&unit=="$_"&&x2.length==1)x2+="0";var rgx=/(\d+)(\d{3})/;while(rgx.test(x1))x1=x1.replace(rgx,"$1"+","+"$2");value=x1;if(dec)value+="."+x2;else if(parseInt(x2,10)!=0)value+="."+x2.substr(0,2);if(unit&&unit!=""&&unit!="number_"){var fix=unit.split("_");if(fix[0]!=""){value=fix[0]+value;if(neg==true){var arr=value.split("-");value="-"+arr[0]+arr[1]}}if(fix[1]!="")value+=fix[1]}return value};PWebUtil.getBreakIncrement=function(breaksString){var breaks=breaksString.split(",");var l=breaks.length;var decimalPlaces=0;for(var i=0;i<l;i++){var splitDec=breaks[i].split(".");if(splitDec[1]&&splitDec[1].length>decimalPlaces&&splitDec[1]!=0&&!splitDec[1].match("E")){decimalPlaces=splitDec[1].length;if(decimalPlaces>2)decimalPlaces=2}}if(decimalPlaces==0)return 1;else{var inc="0.";for(var i=1;i<decimalPlaces;i++)inc+="0";inc+="1";return Number(inc)}};PWebUtil.getDecimalPlaces=function(num){var dec=0;var decs=num.toString().split(".");if(decs[1]&&decs[1].length>0)dec=decs[1].length;return dec};PWebUtil.shuffleArray=function(arr,b){var i=arr.length,j,t;while(i){j=Math.floor(i--*Math.random());t=b&&arr[i]instanceof Array?PWebUtil.shuffleArray(arr[i]):arr[i];arr[i]=arr[j];arr[j]=t}return arr};PWebUtil.parseQuery=function(q){var ret={};if(q==null){q=window.location.search}if(q.length==0){return ret}if(q.substring(0,1)=="&"||q.substring(0,1)=="?"){q=q.substring(1,q.length)}var pairs=q.split("&");var pair;for(var i=0;i<pairs.length;i++){pair=pairs[i].split("=");ret[pair[0]]=decodeURIComponent(pair[1])}return ret};function PWidgetDrag(id,sGroup){this.id=id;if(id){this.init(id,sGroup)}}PWidgetDrag.prototype=new YAHOO_PP.util.DD;PWidgetDrag.prototype.startDrag=function(x,y){var style=this.getEl().style;widgetZIndex++;style.zIndex=widgetZIndex;style.position="absolute"};PWidget=function(map,div,widgetid){var pWidget=this;if(map)this.map=map;else{this.map=new Object;this.map.kamap=new Object;this.map.kamap.server=PEnvironment.kamapUrl}this.id=widgetid;this.background=div;this.background.style.borderRight="1px solid #666";this.background.style.borderBottom="1px solid #666";this.background.style.backgroundColor="#fff";this.box=document.createElement("div");this.box.style.border="1px solid #C7BEA5";this.box.style.padding="2px";this.heading=document.createElement("div");this.heading.id=div.id+"_heading";this.heading.style.border="1px solid #E2DFD3";this.heading.style.backgroundColor="#E2DFD3";this.heading.style.padding="0px 1px 0px 5px";this.heading.style.height="15px";PEvent.addListener(this.heading,"click",function(){widgetZIndex++;pWidget.background.style.zIndex=widgetZIndex});PEvent.addListener(this.heading,"dblclick",function(){pWidget.toggleMinMaximize()});var widgetWidth=parseInt(this.background.style.width);var totalPadding=parseInt(this.box.style.paddingLeft)+parseInt(this.box.style.paddingRight)+parseInt(this.heading.style.paddingLeft)+parseInt(this.heading.style.paddingRight)+parseInt(this.box.style.borderLeftWidth)+parseInt(this.box.style.borderRightWidth)+parseInt(this.heading.style.borderRightWidth)+parseInt(this.background.style.borderRightWidth);this.heading.style.width=widgetWidth-totalPadding+"px";this.title=document.createElement("div");this.title.style.styleFloat="left";this.title.style.cssFloat="left";this.title.style.color="#666";this.title.style.fontFamily="arial";this.title.style.fontSize="11px";this.title.style.fontWeight="bold";this.title.innerHTML="";this.controls=document.createElement("div");this.controls.style.width="28px";this.controls.style.height="13px";this.controls.style.styleFloat="right";this.controls.style.cssFloat="right";this.button_maximize=document.createElement("img");PEvent.addListener(this.button_maximize,"click",function(){pWidget.toggleMinMaximize()});this.button_maximize.style.cursor="pointer";this.button_maximize.style.width="13px";this.button_maximize.style.height="13px";this.button_maximize.border=0;this.button_maximize.hspace=1;this.button_maximize.vspace=1;this.button_maximize.src=this.map.kamap.server+"images/button_minimize_widget.gif";this.button_maximize.title="Minimize";this.button_close=document.createElement("img");PEvent.addListener(this.button_close,"click",function(){pWidget.close()});this.button_close.style.cursor="pointer";this.button_close.style.width="13px";this.button_close.style.height="13px";this.button_close.border=0;this.button_close.vspace=1;this.button_close.src=this.map.kamap.server+"images/button_close_widget.gif";this.button_close.title="Close";this.controls.appendChild(this.button_maximize);this.controls.appendChild(this.button_close);this.heading.appendChild(this.title);this.heading.appendChild(this.controls);this.body=document.createElement("div");this.body.style.padding="3px";this.body.style.fontFamily="arial";this.body.style.fontWeight="normal";this.body.style.fontSize="11px";this.body.style.color="#666";this.disableDragging();this.box.appendChild(this.heading);this.background.appendChild(this.box);this.maximize();this.listeners=[];if(widgetid){if(widgetid==P_WIDGET_LAYER_ID){this.map.widgetLayer=this;var mapref=this.map;PEvent.addListener(this.map,"zoomend",function(){mapref.refreshWidget(mapref.widgetLayer)})}else if(this.id==P_WIDGET_OVERLAY_ID)this.map.widgetOverlay=this;else if(this.id==P_WIDGET_INDICATOR_ID){this.map.widgetIndicator=this;this.map.kamap.widgetIndicator=this}this.buildWidget()}};PWidget.prototype.setTitle=function(html){this.setLabel(html)};PWidget.prototype.getTitle=function(){return this.title.innerHTML};PWidget.prototype.setBody=function(html){this.setContentHtml(html)};PWidget.prototype.getBody=function(){return this.body.innerHTML};PWidget.prototype.setLabel=function(html){this.title.innerHTML=html};PWidget.prototype.setContent=function(dom){this.body.appendChild(dom)};PWidget.prototype.setContentHtml=function(html){this.body.innerHTML=html};PWidget.prototype.maximize=function(){if(!this.isMaximized()){this.box.appendChild(this.body);if(this.layersDiv||this.overlaysDiv)this.buildWidget();this.button_maximize.src=this.map.kamap.server+"images/button_minimize_widget.gif";this.button_maximize.title="Minimize";this.isMax=true}};PWidget.prototype.minimize=function(){if(this.isMaximized()){this.box.removeChild(this.body);this.button_maximize.src=this.map.kamap.server+"images/button_maximize_widget.gif";this.button_maximize.title="Maximize";this.isMax=false}};PWidget.prototype.isMaximized=function(){if(this.isMax)return this.isMax;else return false};PWidget.prototype.enableDragging=function(){var div_id=this.background.id;this.heading.style.cursor="move";this.drag=new PWidgetDrag(div_id);this.drag.setHandleElId(div_id+"_heading")};PWidget.prototype.disableDragging=function(){if(this.drag)this.drag.unreg();this.drag=null;this.heading.style.cursor="default"};PWidget.prototype.draggingEnabled=function(){if(this.drag==null)return false;else return true};PWidget.prototype.close=function(){this.clearListeners();this.background.parentNode.removeChild(this.background)};PWidget.prototype.clearListeners=function(){for(var i=0;i<this.listeners.length;i++)PEvent.removeListener(this.listeners[i]);this.listeners=[]};PWidget.prototype.buildWidget=function(){this.clearListeners();if(this.id==P_WIDGET_LAYER_ID){if(this.title&&this.title.innerHTML=="")this.setLabel("Display "+this.map.getCurrentMapType().getName()+" Layers");if(!this.layersDiv){this.layersDiv=document.createElement("div");this.body.appendChild(this.layersDiv)}else{this.layersDiv.innerHTML=""}var layers=this.map.getCurrentMapType().getMapLayers();for(var i=1;i<layers.length;i++){if(layers[i].title!="donotshowinwidget"){var checkDiv=document.createElement("div");checkDiv.style.styleFloat="left";checkDiv.style.cssFloat="left";var check=document.createElement("input");check.type="checkbox";check.value=i;checkDiv.appendChild(check);this.layersDiv.appendChild(checkDiv);if(layers[i].isOn())check.checked="true";this.listeners.push(PEvent.addListener(check,"click",function(){if(layers[this.value].isOn())layers[this.value].off();else layers[this.value].on()}));if(layers[i].minScale>this.map.getScale()||layers[i].maxScale<this.map.getScale())check.disabled=true;var textDiv=document.createElement("div");textDiv.style.styleFloat="left";textDiv.style.cssFloat="left";textDiv.style.paddingTop="3px";textDiv.style.paddingLeft="2px";textDiv.innerHTML=layers[i].title;if(check.disabled)textDiv.style.color="#ccc";this.layersDiv.appendChild(textDiv);var br=document.createElement("br");br.clear="both";this.layersDiv.appendChild(br)}}}else if(this.id==P_WIDGET_OVERLAY_ID){if(!this.expandDiv)this.expandDiv=[];if(this.title&&this.title.innerHTML=="")this.setLabel("Display Overlays");if(!this.overlaysDiv){this.overlaysDiv=document.createElement("div");this.overlaysDiv.style.padding="1px";this.body.appendChild(this.overlaysDiv)}else{this.overlaysDiv.innerHTML=""}var overlays=this.map.getOverlaySets();for(var i=0;i<overlays.length;i++){var overlayi=overlays[i];var checkDiv=document.createElement("div");checkDiv.style.styleFloat="left";checkDiv.style.cssFloat="left";var check=document.createElement("input");check.type="checkbox";check.value=i;checkDiv.appendChild(check);this.overlaysDiv.appendChild(checkDiv);if(overlayi.isOn())check.checked="true";this.listeners.push(PEvent.addListener(check,"click",function(){if(overlays[this.value].isOn())overlays[this.value].off();else overlays[this.value].on()}));var imgWidth=10;var iconDiv=null;if(overlayi.markers&&overlayi.markers[0]||overlayi.icon){var overlay=null;if(overlayi.markers&&overlayi.markers[0])overlay=overlayi.markers[0];if(overlay instanceof PMarker||overlayi.icon){iconDiv=document.createElement("img");var icon;if(overlayi.icon)icon=new PIcon(overlayi.icon);else icon=new PIcon(overlay.icon);iconDiv.src=icon.image;var height=icon.iconSize.height;var width=icon.iconSize.width;if(width>imgWidth){height=imgWidth/width*height;width=imgWidth}iconDiv.style.height=height+"px";iconDiv.style.width=width+"px";fixPNG(iconDiv)}else if(overlay instanceof PPolyline||overlay instanceof PPolygon){iconDiv=document.createElement("div");iconDiv.style.styleFloat="left";iconDiv.style.cssFloat="left";iconDiv.style.height=overlay.weight+"px";iconDiv.style.width=imgWidth+"px";iconDiv.style.marginTop=15-overlay.weight+"px";iconDiv.style.marginRight="3px";iconDiv.style.backgroundColor=overlay.color;iconDiv.style.fontSize="1px";_BrowserIdent_setOpacity(iconDiv,overlay.opacity)}}var textDiv=document.createElement("div");var textNode=document.createTextNode(" "+overlayi.name+" ["+overlayi.getOverlayCount()+"] ");textDiv.style.styleFloat="left";textDiv.style.cssFloat="left";textDiv.style.paddingTop="3px";textDiv.style.paddingLeft="2px";if(iconDiv)textDiv.appendChild(iconDiv);textDiv.appendChild(textNode);this.overlaysDiv.appendChild(textDiv);if(!$.isEmptyObject(overlayi.displayfiltergroups)){var menuTimer=[];var menuTimerNameDiv=[];var menuTimerValueDiv=[];var menuWait=300;function findPos(obj){var curleft=curtop=0;if(obj.offsetParent){curleft=obj.offsetLeft;curtop=obj.offsetTop;while(obj=obj.offsetParent){curleft+=obj.offsetLeft;curtop+=obj.offsetTop}}return[curleft,curtop]}function removeNode(div,id){for(var i=0;i<div.childNodes.length;i++){if(div.childNodes[i].id==id)div.removeChild(div.childNodes[i])}}var filterArrow=document.createElement("img");var nameDiv=document.createElement("div");filterArrow.style.width="13px";filterArrow.style.height="13px";filterArrow.style.cursor="pointer";filterArrow.style.paddingRight="3px";filterArrow.align="top";filterArrow.textDiv=textDiv;filterArrow.nameDiv=nameDiv;filterArrow.mouseoverimg=this.map.kamap.server+"images/button_arrow_down_widget.gif";filterArrow.mouseoutimg=this.map.kamap.server+"images/button_arrow_widget.gif";filterArrow.src=filterArrow.mouseoutimg;filterArrow.timerIndex=i;filterArrow.valueDivId="filterValueDiv";this.listeners.push(PEvent.addListener(filterArrow,"mouseover",function(){this.src=this.mouseoverimg;clearTimeout(menuTimer[this.timerIndex]);clearTimeout(menuTimerNameDiv[this.timerIndex]);clearTimeout(menuTimerValueDiv[this.timerIndex]);this.textDiv.appendChild(this.nameDiv);removeNode(this.textDiv,this.valueDivId)}));this.listeners.push(PEvent.addListener(filterArrow,"mouseout",function(){var self=this;menuTimer[self.timerIndex]=setTimeout(function(){self.src=self.mouseoutimg;self.textDiv.removeChild(self.nameDiv)},menuWait)}));while(textDiv.hasChildNodes())textDiv.removeChild(textDiv.firstChild);textDiv.appendChild(filterArrow);if(iconDiv)textDiv.appendChild(iconDiv);textDiv.appendChild(textNode);nameDiv.style.zIndex=10;nameDiv.style.position="absolute";nameDiv.style.borderTop=this.box.style.borderTop;nameDiv.style.borderRight=this.background.style.borderRight;nameDiv.style.borderBottom=this.background.style.borderBottom;nameDiv.style.width="150px";nameDiv.style.backgroundColor=this.background.style.backgroundColor;nameDiv.filterArrow=filterArrow;this.listeners.push(PEvent.addListener(nameDiv,"mouseover",function(){clearTimeout(menuTimer[this.filterArrow.timerIndex]);clearTimeout(menuTimerNameDiv[this.filterArrow.timerIndex]);clearTimeout(menuTimerValueDiv[this.filterArrow.timerIndex])}));this.listeners.push(PEvent.addListener(nameDiv,"mouseout",function(){var filterArrow=this.filterArrow;menuTimerNameDiv[filterArrow.timerIndex]=setTimeout(function(){filterArrow.src=filterArrow.mouseoutimg;filterArrow.textDiv.removeChild(filterArrow.nameDiv);removeNode(filterArrow.textDiv,filterArrow.valueDivId)},menuWait)}));var nameDivPos=findPos(filterArrow);var widgetPos=findPos(this.background);nameDiv.style.left=nameDivPos[0]-widgetPos[0]+parseInt(filterArrow.style.width)+2+"px";nameDiv.style.top=nameDivPos[1]-widgetPos[1]+"px";for(var j in overlayi.displayfiltergroups){var filters=overlayi.displayfiltergroups[j];if(filters.length>0){var newDivOuter=document.createElement("div");newDivOuter.style.padding="1px";newDivOuter.style.borderLeft=this.box.style.borderLeft;newDivOuter.style.borderRight=this.box.style.borderRight;newDivOuter.style.borderBottom=this.box.style.borderBottom;var valueDiv=document.createElement("div");valueDiv.id=filterArrow.valueDivId;valueDiv.style.zIndex=nameDiv.style.zIndex;valueDiv.style.position=nameDiv.style.position;valueDiv.style.borderTop=nameDiv.style.borderTop;valueDiv.style.borderRight=nameDiv.style.borderRight;valueDiv.style.borderBottom=nameDiv.style.borderBottom;valueDiv.style.width=nameDiv.style.width;valueDiv.style.backgroundColor=nameDiv.style.backgroundColor;valueDiv.style.left=parseInt(nameDiv.style.left)+parseInt(nameDiv.style.width)-1+"px";valueDiv.style.top=nameDiv.style.top;valueDiv.filterArrow=filterArrow;this.listeners.push(PEvent.addListener(valueDiv,"mouseover",function(){clearTimeout(menuTimerValueDiv[this.filterArrow.timerIndex]);clearTimeout(menuTimerNameDiv[this.filterArrow.timerIndex])}));this.listeners.push(PEvent.addListener(valueDiv,"mouseout",function(){var self=this;var filterArrow=this.filterArrow;menuTimerValueDiv[filterArrow.timerIndex]=setTimeout(function(){filterArrow.src=filterArrow.mouseoutimg;filterArrow.textDiv.removeChild(filterArrow.nameDiv);filterArrow.textDiv.removeChild(self)},menuWait)}));var newDiv=document.createElement("div");newDiv.innerHTML=j;newDiv.style.width="136px";newDiv.style.padding="0px 5px 0px 5px";newDiv.style.cursor="pointer";newDiv.style.fontSize="10px";newDiv.valueDiv=valueDiv;newDiv.textDiv=textDiv;newDiv.filterArrow=filterArrow;newDiv.mouseovercolor=this.heading.style.backgroundColor;newDiv.mouseoutcolor=this.background.style.backgroundColor;this.listeners.push(PEvent.addListener(newDiv,"mouseover",function(){this.style.backgroundColor=this.mouseovercolor;removeNode(this.textDiv,this.filterArrow.valueDivId);this.textDiv.appendChild(this.valueDiv)}));this.listeners.push(PEvent.addListener(newDiv,"mouseout",function(){this.style.backgroundColor=this.mouseoutcolor}));newDivOuter.appendChild(newDiv);nameDiv.appendChild(newDivOuter);for(var k=0;k<filters.length;k++){var existfilters=overlayi.filtergroups[j];var found=false;var newChild=document.createElement("div");var newChildOuter=document.createElement("div");newChildOuter.style.padding=newDivOuter.style.padding;newChildOuter.style.borderLeft=newDivOuter.style.borderLeft;newChildOuter.style.borderRight=newDivOuter.style.borderRight;newChildOuter.style.borderBottom=newDivOuter.style.borderBottom;newChild.style.width=newDiv.style.width;newChild.style.padding=newDiv.style.padding;newChild.style.fontSize="10px";newChild.innerHTML=filters[k].displayValues();if(existfilters){for(var l=0;l<existfilters.length;l++){if(filters[k]==existfilters[l]){found=true;break}}}if(found)newChild.style.backgroundColor=this.heading.style.backgroundColor;else{newChild.mouseovercolor=this.heading.style.backgroundColor;
newChild.mouseoutcolor=this.background.style.backgroundColor;newChild.overlay=overlayi;newChild.filter=filters[k];newChild.style.cursor="pointer";newChild.filterArrow=filterArrow;newChild.timerIndex=k;this.listeners.push(PEvent.addListener(newChild,"mouseover",function(){this.style.backgroundColor=this.mouseovercolor}));this.listeners.push(PEvent.addListener(newChild,"mouseout",function(){this.style.backgroundColor=this.mouseoutcolor}));this.listeners.push(PEvent.addListener(newChild,"click",function(){this.overlay.addFilter(this.filter)}))}newChildOuter.appendChild(newChild);valueDiv.appendChild(newChildOuter)}}}}if(overlayi.getFilters().length>0){var activeDiv=document.createElement("div");activeDiv.style.paddingLeft="15px";var expandImg=document.createElement("img");expandImg.style.width="9px";expandImg.style.height="9px";expandImg.hspace=3;this.expandDiv[i]=document.createElement("div");this.expandDiv[i].expand=true;this.expandDiv[i].plusImg=this.map.kamap.server+"images/expand.png";this.expandDiv[i].minusImg=this.map.kamap.server+"images/collapse.png";expandImg.src=this.expandDiv[i].minusImg;this.expandDiv[i].appendChild(expandImg);this.expandDiv[i].innerHTML+="<b><u>Active Filters</u></b><br>";this.expandDiv[i].style.cursor="pointer";this.listeners.push(PEvent.addListener(this.expandDiv[i],"click",function(){if(this.expand){this.childNodes[0].src=this.plusImg;this.expand=false;this.parentNode.removeChild(this.activeDiv)}else{this.childNodes[0].src=this.minusImg;this.expand=true;this.parentNode.appendChild(this.activeDiv)}}));this.expandDiv[i].activeDiv=activeDiv;textDiv.appendChild(this.expandDiv[i]);if(this.expandDiv[i].expand)textDiv.appendChild(activeDiv);for(var j in overlayi.filtergroups){var filters=overlayi.filtergroups[j];if(filters.length>0){var newDiv=document.createElement("div");var newChild=document.createElement("div");newDiv.innerHTML=j+": <span style='font-size: 9px; color: #aaa'>(click to remove)</span>";newChild.style.paddingLeft="15px";newChild.style.fontSize="10px";newDiv.appendChild(newChild);activeDiv.appendChild(newDiv);for(var k=0;k<filters.length;k++){var newA=document.createElement("a");newA.href="#";newA.title="Remove";newA.style.paddingRight="2px";newA.filter=filters[k];newA.overlay=overlayi;newA.innerHTML=newA.filter.displayValues();this.listeners.push(PEvent.addListener(newA,"click",function(){this.overlay.removeFilter(this.filter)}));newChild.appendChild(newA);newChild.appendChild(document.createElement("br"))}}}}var br=document.createElement("br");br.clear="both";this.overlaysDiv.appendChild(br)}}else if(this.id==P_WIDGET_INDICATOR_ID){if(this.title&&this.title.innerHTML=="")this.setLabel("Choose an Indicator");if(!this.indSelect){this.indSelect=document.createElement("select");this.indSelect.style.width="100%";this.indSelect.style.fontSize="10px";this.body.appendChild(this.indSelect)}else{this.indSelect.innerHTML=""}var widgetMap=this.map;var widget=this;var indList=this.map.getIndicatorList();this.listeners.push(PEvent.addListener(this.indSelect,"change",function(){if(this.value==-1)widgetMap.removeIndicator();else widgetMap.setIndicator(indList[this.value])}));var indOption=document.createElement("option");indOption.text="None";indOption.value=-1;try{this.indSelect.add(indOption,null)}catch(ex){this.indSelect.add(indOption)}if(this.map.getLegend()!=null&&this.map.getIndicatorList()){var inds=this.map.getIndicatorList();var selectedIndex=0;for(var i=0;i<inds.length;i++){var indOption=document.createElement("option");indOption.text=inds[i].displayName;indOption.value=i;if(this.map.getIndicator()!=null&&this.map.getIndicator().id==inds[i].id)selectedIndex=i+1;try{this.indSelect.add(indOption,null)}catch(ex){this.indSelect.add(indOption)}}this.indSelect.selectedIndex=selectedIndex}var legend="";if(this.map.getLegend()!=null&&this.map.getIndicator()!=null&&this.map.getLegend().getBoundaryType()){var leg=this.map.getLegend();var incrementValue=PWebUtil.getBreakIncrement(leg.getBreaks());var breaks=leg.getFormattedBreaks(incrementValue);var incrementBreaks=leg.getIncrementedBreaks(incrementValue);var colors=leg.getColors();legend="<div style='padding-bottom: 5px'></div><table width=98% cellpadding=0 cellspacing=0 border=0 style='border-left: #ccc 1px solid; border-top: #ccc 1px solid; border-right: #ccc 1px solid'>";var numbreaks=leg.getNumberOfBreaks();if(leg.getIndicator().nodata)numbreaks+=1;for(var i=0;i<numbreaks;i++){var breaksString;if(leg.getIndicator().nodata&&i==0)breaksString="<span style='color:#ccc;font-style:italic'>Data Not Available</span>";else if(leg.getIndicator().breakid==P_BREAKTYPE_EXACT_VALUE_ID||leg.getIndicator().breakid==P_BREAKTYPE_EXACT_VALUE_CUSTOM_ID||breaks[i]==breaks[i+1])breaksString=breaks[i];else{var startBreak="";if(i==0||i==1&&leg.getIndicator().nodata)startBreak=breaks[i];else startBreak=incrementBreaks[i];if(startBreak==breaks[i+1])breaksString=startBreak;else breaksString=startBreak+"&nbsp;&nbsp;&ndash;&nbsp;&nbsp;"+breaks[i+1]}legend+="<tr><td style='border-right: #ccc 1px solid; border-bottom: #ccc 1px solid; width: 30px; background-color: #"+colors[i]+"'>&nbsp;</td><td style='border-bottom: #ccc 1px solid'>&nbsp;&nbsp;"+breaksString+"</td></tr>"}legend+="</table><div style='padding-bottom: 3px'></div>";legend+="Shaded by "+leg.getBoundaryType().name;legend+="<br>";if(leg.getIndicator().getSources().length>0)legend+="<i>Source: "+leg.getIndicator().getSourceList()+"</i>"}else if(this.map.getIndicator()!=null)legend+="<i>Data not available at this zoom level.</i><br>";if(!this.indLegend){this.indLegend=document.createElement("div");this.body.appendChild(this.indLegend)}this.indLegend.innerHTML=legend}};PWidget.prototype.toggleMinMaximize=function(){if(this.isMaximized()){this.minimize()}else{this.maximize()}};PWizard=function(container){this.eventManager=new PEventManager;this.stepIndex=-1;this.steps=[];this.wizContainer};PWizard.prototype.onstepchange=function(prev,current){this.eventManager.triggerListeners("stepchange",prev,current)};PWizard.prototype.onclear=function(current){this.eventManager.triggerListeners("clear",current)};PWizard.prototype.next=function(){if(this.stopPlaying){this.stopPlaying=false;return}if(this.stepIndex>=0){this.steps[this.stepIndex].hide()}if(this.steps.length!=this.stepIndex)this.stepIndex+=1;if(this.stepIndex==0)$(this.prevbutton).css("visibility","hidden");else $(this.prevbutton).css("visibility","visible");if(this.stepIndex==this.steps.length-1)$(this.nextbutton).css("visibility","hidden");if(this.stepIndex>this.steps.length-1){this.stepIndex=this.steps.length-1}else{this.steps[this.stepIndex].show();this.onstepchange(this.stepIndex-1,this.stepIndex)}};PWizard.prototype.prev=function(){if(this.stepIndex>=0){$(this.nextbutton).css("visibility","visible");this.steps[this.stepIndex].hide();if(this.stepIndex==1||this.stepIndex==0)$(this.prevbutton).css("visibility","hidden")}if(this.stepIndex>0)this.stepIndex-=1;this.steps[this.stepIndex].show();this.onstepchange(this.stepIndex+1,this.stepIndex)};PWizard.prototype.start=function(){this.stepIndex=-1;this.next()};PWizard.prototype.goTo=function(num){var i=this.stepIndex;if(i>=0){if(num<this.stepIndex){this.steps[i].hide()}else{return}}this.stepIndex=num;if(this.stepIndex>this.steps.length-1){this.stepIndex=this.steps.length-1}this.steps[this.stepIndex].show();this.onstepchange(i,this.stepIndex)};PWizard.prototype.clear=function(){this.onclear(this.stepIndex);document.location=(document.location+"").split("?")[0]+(this.signature?"?signature="+this.signature.getSignature():"")};PWizard.prototype.addListener=function(eventId,func){this.eventManager.addListener(eventId,this,func)};PWizard.prototype.hideStep=function(num){this.steps[num].hide()};PWizardStep=function(){this.drawn=false};PWizardStep.prototype.show=function(){this.draw();$(this.stepContainer).show()};PWizardStep.prototype.hide=function(){$(this.stepContainer).hide()};PXslt=function(xsltnode){this.xsltnode=xsltnode};PXslt.prototype.transformToHtml=function(xmlnode,htmlnode){if(typeof xmlnode.transformNode!="undefined")htmlnode.innerHTML+=xmlnode.transformNode(this.xsltnode);else if(typeof XSLTProcessor!="undefined"&&typeof XSLTProcessor.prototype.importStylesheet!="undefined"){var processor=new XSLTProcessor;processor.importStylesheet(this.xsltnode);htmlnode.appendChild(processor.transformToFragment(xmlnode,window.document))}else return false;return true};function showMap(i,period,ques,ans){setWindowLocation("/maps?ques="+encodeURIComponent(ques)+"&ans="+encodeURIComponent(ans)+"&i="+i+"&period="+period)}function showAnalyticMap(inds,sites,place,ques,ans){if(isSubscriber==false){return}var url="?p="+place;for(var i=0;i<inds.length;i++){if(inds[i][0]!=null){url+="&m"+i+"i="+inds[i][0];url+="&m"+i+"period="+inds[i][1];if(inds[i][4]!=""&&inds[i][4]!="null"&&inds[i][4]!=undefined){var values=[];for(var j=0;j<inds[i][4].length;j++)values.push(inds[i][4].charAt(j));url+="&m"+i+"v=["+values+"]"}else{url+="&m"+i+"r0="+inds[i][2];url+="&m"+i+"r1="+inds[i][3]}}}var sitesCSV="";if(sites!=undefined){for(var i=0;i<sites.length;i++){sitesCSV+=sites[i][0];if(i+1!=sites.length)sitesCSV+=","}url+="&o="+sitesCSV}setWindowLocation("/analytics"+url+"&ques="+encodeURIComponent(ques)+"&ans="+encodeURIComponent(ans))}function register_conversion(type){if(type=="subppc"){google_conversion_label="VqwKCI63pgEQiPP67QM";jsLoad("https://roi.business.com/crm/js/conversion.js");BDC_RecordConversion(0,"11070")}else if(type=="subtrial"){google_conversion_label="s8lRCNq1pgEQiPP67QM"}else if(type=="reg"){google_conversion_format="1";google_conversion_label="37Q_CJDpowEQiPP67QM"}else if(type=="sub"){google_conversion_format="1";google_conversion_label="QnBPCOrpowEQiPP67QM"}else if(type=="full"){google_conversion_format="1";google_conversion_label="73rCCMTqowEQiPP67QM"}jsLoad("https://www.googleadservices.com/pagead/conversion.js")}function jsLoad(file){return}function highlightRequired(anElement,focus,holderDiv){anElement.style.border="1px solid #FF6A6A";if(holderDiv){anElement.style.padding="4px";anElement.style.marginBottom="4px"}}function unhighlightRequired(anElement,holderDiv){anElement.style.border="1px solid #808080";if(holderDiv){anElement.style.padding="0px";anElement.style.marginBottom="0px";anElement.style.border="none"}}function validatePassword(anElement,otherElement){if(anElement.value.length==0&&otherElement.value.length==0)return isUpdate;if(otherElement.value.length<6){alerter.popup("Passwords must be at least 6 characters long.","OK");highlightRequired(otherElement,true);return false}if(anElement.value==""||anElement.value!=otherElement.value){alerter.popup("Passwords do not match.","OK");highlightRequired(anElement,false);highlightRequired(otherElement,true);return false}else{unhighlightRequired(anElement)}}function validateCheckbox(anElement){if(!anElement.checked){highlightRequired(anElement,true);return false}else{unhighlightRequired(anElement);if(anElement.parentNode.className=="requiredholder")unhighlightRequired(anElement.parentNode,true)}}function validateOnBlur(anElement){if(anElement.value==""){highlightRequired(anElement,true);return false}else{unhighlightRequired(anElement)}if(anElement.parentNode.className="requiredholder"){unhighlightRequired(anElement.parentNode,true)}}function validatePhoneNumbers(user){var fields=["reg_phone_area","reg_phone_exchange","reg_phone_num","reg_phone_ext"];var regexes=["[0-9]{3}","[0-9]{3}","[0-9]{4}","^[0-9]{0,6}$"];var valid=true;var start=1;var end=addlUsers+1;if(user!=null){start=user;end=user}for(var i=start;i<=end;i++){for(var j=0;j<fields.length;j++){var curField;if(i==1){curField=$("#"+fields[j])}else{curField=$("#addl_"+fields[j]+"_"+(i-1))}var curValue=curField.val();if(curValue==""){continue}var matches=curValue.match(regexes[j]);if(matches==null){highlightRequired(curField[0]);valid=false}else{unhighlightRequired(curField[0])}}}return valid}function registerOnLoad(){$("input.required,select.required").each(function(i){this.onblur=function(){validateOnBlur(this)}});var password=$("#reg_password")[0];$("#reg_password_conf").each(function(i){this.onchange=function(){validatePassword(this,password)}});$("input[type=checkbox].required, input[type=radio].required").each(function(i){this.onclick=function(){validateCheckbox(this)}});if(window.regData&&regData!=null){regData=MochiKit.Base.evalJSON(regData);$("input[type=text]").each(function(i){if(regData[this.name]){this.value=regData[this.name]}});var checked=new Array;checked.push(regData["reg_spam_me"]);checked.push(regData["reg_tos"]);checked.push(regData["reg_type"]);checked.push(regData["reg_payment_type"]);checked.push(regData["subscription"]);checked.push(regData["sub_followed_up"]);checked.push(regData["reg_subscription_status"]);if(regData["reg_org_interests"]){checked=checked.concat(regData["reg_org_interests"].split(","))}$("input[type=radio]").each(function(i){this.checked=$.inArray(this.value,checked)>-1});$("input[type=checkbox]").each(function(i){this.checked=$.inArray(this.value,checked)>-1});$("select.required > option").each(function(i){this.selected=regData[this.parentNode.name]==this.value});if(regData["reg_payment_type"]){$("input[type=radio][name=reg_payment_type]").each(function(i){this.checked=this.value==regData["reg_payment_type"]})}$("input[type=checkbox][name=subscription]").each(function(i){this.checked=this.value==regData["subscription"]})}var emailInput=$("#reg_email");emailInput.bind("blur",function(){if($.trim(emailInput.val())!=""){checkRegisterEmail()}});$("#sub_start_date").bind("blur",{error:"Start date must be in format MM/DD/YYYY"},validateDateFormat);$("#sub_end_date").bind("blur",{error:"End date must be in format MM/DD/YYYY"},function(event){if(validateDateFormat.call(this,event)===false){return false}var startDate=new Date;startDate.setTime(Date.parse($("#sub_start_date").val()));var endDate=new Date;endDate.setTime(Date.parse($("#sub_end_date").val()));if(endDate<=startDate){alert("End date must occur after start date.");this.addClass("error");this.focus();return false}this.removeClass("error");return true});$("#sub_payment_date").bind("blur",{error:"Payment date must be in the format MM/DD/YYYY"},validateDateFormat);var subDropdown=$("#subscription");subDropdown.val(0);if(isRegSubTrial()&&isUpdate){$(".non_trial").hide()}$("#submit:submit").each(function(){this.disabled=false})}function checkRegisterEmail(callback){var emailInput=$("#reg_email");var value=emailInput.val();if(!validateEmailAddressValue(value)){highlightRequired(emailInput[0]);alerter.popup("Your username must be a valid email address.","OK");if(callback!=null){callback(false)}return}ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=usr&act=cp&un="+encodeURIComponent(value),dataType:"json",success:function(response){if(response!=null&&response.usr!=null&&response.usr.a!=null&&response.usr.p!=null){if(response.usr.a===true){if(callback!=null){callback(true)}}else{var products=response.usr.p;alertText="";var onPolicyMap=false;for(var i=0;i<products.length;i++){if(products[i].id==PEnvironment.pmProductId){onPolicyMap=true;break}}if(onPolicyMap){alertText="An account with that email address already exists. If this is your account, you may login or reset your password if you have forgotten it."}else{alertText="An account with that email address already exists for the following sites:<br />";for(var i=0;i<products.length;i++){alertText+="- "+products[i].name+"<br />"}alertText+="<br />If you wish to register a PolicyMap account, you must use a different email address."}alerter.popup(alertText,"OK");highlightRequired(emailInput[0]);if(callback!=null){callback(false)}}}else{if(callback!=null){callback(null)}}},error:function(){if(callback!=null){callback(null)}}})}function processForm(button){button.disabled=true;var valid=true;var inputs;if(isRegSubTrial()&&isUpdate){inputs=$($.find("input.required")).filter(":visible")}else{inputs=$.find("input.required")}for(var i=0;i<inputs.length;i++){var anElement=inputs[i];if(anElement.value==""){valid=false;highlightRequired(anElement,false)}else{unhighlightRequired(anElement)}}var checkboxGroupChecked={};var checkboxes;if(isRegSubTrial()&&isUpdate){checkboxes=$($("input[type=checkbox].required")).filter(":visible")}else{checkboxes=$("input[type=checkbox].required")}checkboxes.each(function(){if(this.checked){checkboxGroupChecked[$(this).attr("id")]=true}if(!checkboxGroupChecked[$(this).attr("id")]){checkboxGroupChecked[$(this).attr("id")]=false}});for(var i in checkboxGroupChecked){if(!checkboxGroupChecked[i]){highlightRequired($("#"+i).parent().get(0),false,true);valid=false;break}}var subDropdown=$("#subscription");if(subDropdown.length>0){if(subDropdown.is(":enabled")&&subDropdown.val()==0){highlightRequired(subDropdown[0],false);valid=false}else{unhighlightRequired(subDropdown[0])}}if(isUpdate||isUpgrade){valid=validatePhoneNumbers()&&valid}var startDate=$("#sub_start_date")[0];if(startDate&&startDate.value.length>0){valid=validDate(startDate)&&valid}var endDate=$("#sub_end_date")[0];if(endDate&&endDate.value.length>0){valid=validDate(endDate)&&valid}var paymentDate=$("#sub_payment_date")[0];if(paymentDate&&paymentDate.value.length>0){valid=validDate(paymentDate)&&valid}var paymentTypes=$.find(":radio[name='reg_payment_type']");if(paymentTypes.length!=0){var paymentType=$.find(":radio[name='reg_payment_type']:checked");if(paymentType.length!=1){valid=false;for(var i=0;i<paymentTypes.length;i++){var anElement=paymentTypes[i];highlightRequired(anElement.parentNode,false,true)}}else{for(var i=0;i<paymentTypes.length;i++){var anElement=paymentTypes[i];unhighlightRequired(anElement.parentNode,true)}}}if(valid){var scrollToOptions={axis:"y",offset:{left:0,top:-30}};var checkError=function(){alerter.popup("There was an error creating your account. Please try again. If you continue to have issues, please contact PolicyMap at 1-866-923-MAPS.","OK");button.disabled=false};var checkPromoCode=function(callback){var promoTextbox=$("#promotion_code");if(promoTextbox.length<1||!promoTextbox.is(":visible")){callback();return}var promoCode=promoTextbox.val().trim();if(promoCode==""){callback();return}ajax.call({url:PEnvironment.servletsUrl+"/promo/?pc="+encodeURIComponent(promoCode),dataType:"json",success:function(response){if(response!=null&&response.s!=null){if(response.s=="e"){alerter.popup("The specified promotion has expired.","OK");button.disabled=false;highlightRequired(promoTextbox[0]);$.scrollTo($(promoTextbox),200,scrollToOptions)}else if(response.s=="i"){alerter.popup("The specified promotion is not valid.","OK");button.disabled=false;highlightRequired(promoTextbox[0]);$.scrollTo($(promoTextbox),200,scrollToOptions)}else if(response.s=="er"){checkError()}else if(response.s=="v"){callback()}}else{checkError()}},error:function(){checkError()}})};var submitForm=function(){$("#addl_users").val(addlUsers);var superSecretVar=$("<input />");superSecretVar.attr({type:"hidden",name:"superSecretVar",value:hex_md5($("#reg_first_name").val()+$("#reg_last_name").val())});$("form").append(superSecretVar);$("form").submit()};if(isUpdate||isUpgrade){var promoTextbox=$("#promotion_code");if(promoTextbox.length>0&&promoTextbox.is(":visible")&&!promoTextbox.attr("disabled")){checkPromoCode(function(){submitForm()})}else{submitForm()}}else{checkRegisterEmail(function(success){if(success!=null&&success==true){checkPromoCode(function(){submitForm()})}else if(success==null){checkError()}})}}else{alerter.popup("Please fix the highlighted fields before continuing.","OK");button.disabled=false}}function toggleSubscription(){var disabledStatus=!$("#reg_extend").attr("checked");$("input[name=reg_payment_type]:radio").each(function(i){this.disabled=disabledStatus});$("#subscription").attr("disabled",disabledStatus);var promoTextbox=$("#promotion_code");if(promoTextbox.length>0&&promoTextbox.is(":visible")){promoTextbox.attr("disabled",disabledStatus)}if(isRegSubTrial()){if(disabledStatus){$(".non_trial").hide()}else{$(".non_trial").show()}}}function validDate(anElement){if(/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(anElement.value)==false){$(anElement).addClass("error");return false}$(anElement).removeClass("error");return true}function validateDateFormat(event){if($(this).val().length>0&&validDate(this)===false){alert(event.data.error);this.focus();return false}return true}function showUpdatedAlert(updateMsg){if(isUpdate&&updateMsg&&updateMsg!=""){alerter.popup(updateMsg,"OK")}}function removeRegistrationTextDefault(textbox){textbox=$(textbox);if(textbox.hasClass("defaulttext")){textbox.val("");textbox.removeClass("defaulttext")}}function removeRegistrationDropdownDefault(dropdown,itemid){dropdown=$(dropdown);if(dropdown.hasClass("defaulttext")){$("#"+dropdown.attr("id")+" option[value='"+itemid+"']").remove();dropdown.removeClass("defaulttext")}}function subscriptionDropdownChange(){var dropdownValue=$("#subscription").val();if(dropdownValue==10){$("#addAddlUsers").show()}else{if(addlUsers>0){alerter.popup({content:"Additional users can only be added for one year subscriptions. Changing your subscription period will result in losing any additional users that have been provided. Do you wish to continue?",addCancel:false,buttons:[{label:"Yes",callback:function(){$("#addlUsers").html("");$("#remainingUsers").text(maxAddlUsers);$("#addAddlUsers").hide();$("#addUserButton").show();$("#removeUserButton").hide();addlUsers=0}},{label:"No",callback:function(){$("#subscription").val("10")}}]})}else{$("#addAddlUsers").hide()}}}function isRegSubTrial(){if(typeof regData!=="undefined"&&regData!=null&&regData.sub_is_trial!=null){return regData.sub_is_trial}else{return isTrial()}}function addUserRegAccount(){if($("#subscription").val()!=10||addlUsers>=maxAddlUsers){return}addlUsers++;if(addlUsers>=maxAddlUsers){$("#addUserButton").hide()}$("#removeUserButton").show();$("#remainingUsers").text(maxAddlUsers-addlUsers);var newUserDiv=$("<div />");var newUserDivId="addlUser-"+addlUsers;newUserDiv.attr("id",newUserDivId);newUserDiv.css("display","none");newUserDiv.addClass("addlUser");var html="<h4>User Number "+(addlUsers+1)+"</h4>";html+='<label>* Username<br/>(email address):</label><input class="required text email_field" type="text" id="addl_reg_email_'+addlUsers+'" name="addl_reg_email_'+addlUsers+'" maxlength="63"/><br class="clear"/>';html+="<h4>Account Information</h4>";html+='<label>* First Name</label><input class="required text" type="text" id="addl_reg_first_name_'+addlUsers+'" name="addl_reg_first_name_'+addlUsers+'" maxlength="31"/><br class="clear"/>';html+='<label>* Last Name</label><input class="required text" type="text" id="addl_reg_last_name_'+addlUsers+'" name="addl_reg_last_name_'+addlUsers+'" maxlength="31"/><br class="clear"/>';html+='<label>Title</label><input class="text" type="text" id="addl_reg_title_'+addlUsers+'" name="addl_reg_title_'+addlUsers+'" maxlength="63"/><br class="clear"/>';html+="<label>Phone</label>";html+='<div id="reg_phone"><input class="text sizePhone" maxlength="3" type="text" id="addl_reg_phone_area_'+addlUsers+'" name="addl_reg_phone_area_'+addlUsers+'" onblur="validatePhoneNumbers('+(addlUsers+1)+');" /><input class="text sizePhone" maxlength="3" type="text" id="addl_reg_phone_exchange_'+addlUsers+'" name="addl_reg_phone_exchange_'+addlUsers+'" onblur="validatePhoneNumbers('+(addlUsers+1)+');" /><input class="text sizePhone" maxlength="4" type="text" id="addl_reg_phone_num_'+addlUsers+'" name="addl_reg_phone_num_'+addlUsers+'" onblur="validatePhoneNumbers('+(addlUsers+1)+');" /><span class="inline"> Ext. </span><input class="text sizePhone" maxlength="6" type="text" id="addl_reg_phone_ext_'+addlUsers+'" name="addl_reg_phone_ext_'+addlUsers+'" onblur="validatePhoneNumbers('+(addlUsers+1)+');" /></div><br class="clear"/>';html+="<h4>Organization</h4>";html+='<label for="addl_reg_same_org_primary_'+addlUsers+'">Same as Primary User</label><input type="checkbox" id="addl_reg_same_org_primary_'+addlUsers+'" class="sameAsPrimaryOrg" name="addl_reg_same_org_primary_'+addlUsers+'" value="'+addlUsers+'" onclick="updateAddlUserOrgDetails();"><br class="clear" />';html+='<label>* Name of Your Organization or Business</label><input class="required text org_detail_'+addlUsers+'" type="text" id="addl_reg_org_name_'+addlUsers+'" name="addl_reg_org_name_'+addlUsers+'" maxlength="63"/><br class="clear"/>';html+='<label>Type of Organization or Business</label><select id="addl_reg_org_type_'+addlUsers+'" class="org_detail_'+addlUsers+'" name="addl_reg_org_type_'+addlUsers+'">'+orgOptions+'</select><br class="clear"/>';html+='<label>* Address of Organization</label><input class="text required org_detail_'+addlUsers+'" type="text" id="addl_reg_org_addr1_'+addlUsers+'" name="addl_reg_org_addr1_'+addlUsers+'" maxlength="63" /><br class="clear"/>';html+='<label>Address of Organization</label><input class="text org_detail_'+addlUsers+'" type="text" id="addl_reg_org_addr2_'+addlUsers+'" name="addl_reg_org_addr2_'+addlUsers+'" maxlength="63" /><br class="clear"/>';html+='<label>* City</label><input class="text required org_detail_'+addlUsers+'" type="text" id="addl_reg_org_city_'+addlUsers+'" name="addl_reg_org_city_'+addlUsers+'" maxlength="63" /><br class="clear"/>';html+='<label>* State</label><select class="required org_detail_'+addlUsers+'" id="addl_reg_org_state_'+addlUsers+'" name="addl_reg_org_state_'+addlUsers+'">'+stateOptions+'</select><br class="clear"/>';html+='<label>* Zip code</label><input class="text required org_detail_'+addlUsers+'" type="text" id="addl_reg_org_zip_'+addlUsers+'" name="addl_reg_org_zip_'+addlUsers+'" />';html+='<input type="hidden" name="addl_reg_org_country_'+addlUsers+'" value="US"><br class="clear"/>';newUserDiv.html(html);$("#addlUsers").append(newUserDiv);$("#addl_reg_org_type_"+addlUsers).val($("#reg_org_type").val());$("#"+newUserDivId).slideDown()}function removeLastUserRegAccount(){if($("#subscription").val()!=10||addlUsers==0){return}alerter.popup({content:"This will remove the User Number "+(addlUsers+1)+". Do you wish to continue?",addCancel:false,buttons:[{label:"Yes",callback:function(){var addlUserFields=$("#addlUser-"+addlUsers);addlUserFields.slideUp(null,function(){addlUserFields.remove()});addlUsers--;$("#remainingUsers").text(maxAddlUsers-addlUsers);if(addlUsers<maxAddlUsers){$("#addUserButton").show()}if(addlUsers==0){$("#removeUserButton").hide()}}},{label:"No",callback:function(){}}]})}function updateAddlUserOrgDetails(){$(".sameAsPrimaryOrg").each(function(){var value=$(this).val();if($(this).is(":checked")){$(".org_detail_"+value).attr("disabled",true);$("#addl_reg_org_name_"+value).val($("#reg_org_name").val());$("#addl_reg_org_type_"+value).val($("#reg_org_type").val());$("#addl_reg_org_addr1_"+value).val($("#reg_org_addr1").val());$("#addl_reg_org_addr2_"+value).val($("#reg_org_addr2").val());$("#addl_reg_org_city_"+value).val($("#reg_org_city").val());$("#addl_reg_org_state_"+value).val($("#reg_org_state").val());$("#addl_reg_org_zip_"+value).val($("#reg_org_zip").val())}else{$(".org_detail_"+value).attr("disabled",null)}})}function myAccountOnLoad(){$(".passwordField").each(function(){this.onchange=function(){myAccountValidatePassword(false)}})}function myAccountValidatePassword(bothRequired){var password1=$("#reg_password");var password2=$("#reg_password_conf");var value1=$("#reg_password").val();var value2=$("#reg_password_conf").val();if(value1.length<6){alerter.popup("Passwords must be at least 6 characters long.","OK");highlightRequired(password1[0],false);return false}if((value1.length>0&&value2.length>0||bothRequired===true)&&value1!=value2){alerter.popup("Passwords do not match.","OK");highlightRequired(password1[0],false);highlightRequired(password2[0],false);return false}unhighlightRequired(password1[0]);unhighlightRequired(password2[0]);return true}function myAccountUpdate(button){button.disabled=true;if(myAccountValidatePassword(true)==false){button.disabled=false;return}var superSecretVar=$("<input />");superSecretVar.attr({type:"hidden",name:"superSecretVar",value:hex_md5((new Date).getTime())});$("form").append(superSecretVar);$("form").submit()}function getCustomPoly(){var cp=null;if(currentReport.areaType=="custom"){polycreator.load(currentReport.cpid,function(places){cp=new PPolygon(places[0].getVertices())})}return cp}function reportGenerateOnLoad(newStyle){link=new PReportLink;var address=null;var radius=null;if(currentReport.areaType=="radius"||currentReport.areaType=="pradius"){address=currentReport.location;radius=currentReport.radius}else if(currentReport.areaType=="predefined"){address=currentReport.placeId}PMapType.DEFAULT=PMapType.NORMAL;if(currentReport.reportType=="hud"){loadHudReport()}else if(currentReport.reportType=="wellsfargo"){loadWellsFargoReportOld()}else if(currentReport.reportType=="wf_demographic"){loadWellsFargoDemographicReport()}else if(currentReport.reportType=="wf_housing"){loadWellsFargoHousingReport()}else if(currentReport.reportType=="wf_education"){loadWellsFargoEducationReport()}else if(currentReport.reportType=="wf_jobseconomy"){loadWellsFargoJobsEconomyReport()}else if(currentReport.reportType=="hfap"){loadHFAPReport()}else if(currentReport.reportType=="mn1"||currentReport.reportType=="mn2"){loadMinnesotaHousingReport()}else{var toggles=jQuery(".toggle");var arr=currentReport.reportSections;for(var i=0;i<arr.length;i++){if(!arr[i]&&toggles[i])sectionDisplayToggle(toggles[i])}drawMap(newStyle,address,radius)}var checkAsync=function(){if(ajax.activeRequests){setTimeout(checkAsync,1e3)}else{if(P.WKPrint.isPrintPage()===true){P.instances.wkprint.removeAction("onLoad")}else if(theErrors!=""){alerter.popup(theErrors,"OK")}}};setTimeout(checkAsync,1e3)}function drawMap(newStyle,place,radius){if(!newStyle||!P.instances.map){map=new PMap(document.getElementById("map"))}if(currentReport.areaType=="predefined"){placeLoader.load([place],function(places){if(places.length==0)alert('Place "'+place+'" not found');if(places[0]){map.setCenterBounds(places[0].getBounds());addPolygons(map,places[0]);if(places[0].getType()==PPlaceType.CBSA||places[0].getType()==PPlaceType.MD||places[0].getType().isCongressional()){places[0].getAggregates(PPlaceType.STATE,null,null,function(states){places[0].getAggregates(PPlaceType.COUNTY,null,null,function(counties){displayContainedPlaces(places[0],places[0].getCentroid(),counties,states)},3,maxResultsConfInt,null,null,97,null,null,0)},3,maxResultsConfInt,null,null,97,null,null,0)}else displayContainedPlaces(places[0],places[0].getCentroid())}})}else if(currentReport.areaType=="radius"||currentReport.areaType=="pradius"){if(currentReport.lat!=null&&currentReport.lng!=null){map.clearOverlays();var centerpoint=new PLatLng(currentReport.lat,currentReport.lng);var centermarker=new PMarker(centerpoint);map.radiuscenter=centerpoint;map.addOverlay(centermarker);var bounds=drawRadius(radius,centerpoint);if(currentReport.areaType=="pradius"){polycreator.polyload(currentReport.bid,currentReport.areaName,currentReport.plat,currentReport.plng,function(places){if(places[0]){addPolylines(map,places[0].getVertices())}})}bounds.getAggregates(PPlaceType.STATE,null,null,function(states){bounds.getAggregates(PPlaceType.COUNTY,null,null,function(counties){displayContainedPlaces(bounds,centerpoint,counties,states)},3,maxResultsConfInt,null,null,null,null,null,0)},3,maxResultsConfInt,null,null,null,null,null,0)}else{geocoder.getLatLng(place,function(point){if(!point)alert('Address "'+place+'" not found');else{map.clearOverlays();var centerpoint=point;var centermarker=new PMarker(centerpoint);map.radiuscenter=centerpoint;map.addOverlay(centermarker);var bounds=drawRadius(radius,centerpoint);bounds.getAggregates(PPlaceType.STATE,null,null,function(states){bounds.getAggregates(PPlaceType.COUNTY,null,null,function(counties){displayContainedPlaces(bounds,centerpoint,counties,states)},3,maxResultsConfInt,null,null,null,null,null,0)},3,maxResultsConfInt,null,null,null,null,null,0)
}})}}else if(currentReport.areaType=="custom"){polycreator.load(currentReport.cpid,function(places){var place=places[0];session.put("cp",[place.id]);map.setCenterBounds(place.getBounds());addPolygons(map,place);if(place.isAssembledCustom()){var places=place.getAssembledPlaces();var states;var counties;if(places[0].getType()==PPlaceType.State)states=places;else if(places[0].getType()==PPlaceType.COUNTY)counties=places;if(!states&&!counties){place.getAggregates(PPlaceType.STATE,null,null,function(states){place.getAggregates(PPlaceType.COUNTY,null,null,function(counties){displayContainedPlaces(place,place.getCentroid(),counties,states)},3,maxResultsConfInt,null,null,null,null,null,0)},3,maxResultsConfInt,null,null,null,null,null,0)}else if(!states){place.getAggregates(PPlaceType.STATE,null,null,function(states){displayContainedPlaces(place,place.getCentroid(),counties,states)},3,maxResultsConfInt,null,null,null,null,null,0)}else if(!counties){place.getAggregates(PPlaceType.COUNTY,null,null,function(counties){displayContainedPlaces(place,place.getCentroid(),counties,states)},3,maxResultsConfInt,null,null,null,null,null,0)}}else{place.getAggregates(PPlaceType.STATE,null,null,function(states){place.getAggregates(PPlaceType.COUNTY,null,null,function(counties){displayContainedPlaces(place,place.getCentroid(),counties,states)},3,maxResultsConfInt,null,null,null,null,null,0)},3,maxResultsConfInt,null,null,null,null,null,0)}})}else if(currentReport.areaType=="polygon"){polycreator.polyload(currentReport.bid,currentReport.areaName,currentReport.plat,currentReport.plng,function(places){var place=places[0];map.setCenterBounds(place.getBounds());addPolylines(map,place.getVertices());place.getAggregates(PPlaceType.STATE,null,null,function(states){place.getAggregates(PPlaceType.COUNTY,null,null,function(counties){displayContainedPlaces(place,place.getCentroid(),counties,states)},3,maxResultsConfInt,null,null,null,null,null,0)},3,maxResultsConfInt,null,null,null,null,null,0)})}map.disableDragging()}function getRangeString(alpha,beta,unit,dec,str1,str2){if(!str1&&str1!=""){var str1="Ranged From "}if(!str2&&str2!=""){var str2=" to "}var fnAlpha=PWebUtil.formatNumber(alpha,unit);var fnBeta=PWebUtil.formatNumber(beta,unit,dec);return alpha==beta?fnAlpha:str1+fnAlpha+str2+fnBeta}function getRangeStringHMDAIncome(alpha1,beta1,alpha2,beta2,unit,dec){var alpha=alpha1;var beta=beta1;var fnAlpha=PWebUtil.formatNumber(alpha,unit);var fnBeta=PWebUtil.formatNumber(beta,unit,dec);if(!alpha2){var a=alpha==beta?fnAlpha:"ranged from "+fnAlpha+" to "+fnBeta;return a}else{var a=alpha==beta?fnAlpha:"between "+fnAlpha+" to "+fnBeta+" and "}var alpha=alpha2;var beta=beta2;var fnAlpha=PWebUtil.formatNumber(alpha,unit);var fnBeta=PWebUtil.formatNumber(beta,unit,dec);var b=alpha==beta?" - "+fnAlpha:fnAlpha+" to "+fnBeta;return a+b}function formatValueWithinText(val,conj){if(val!="N/A")val=val.toLowerCase();val="<b>"+val+"</b>";if(!conj)conj="";else conj=conj+" ";if(val.indexOf("range")==-1){val=conj+val}return val}function previousPage(forceReportMenu){var url;if(forceReportMenu)url="reports?";else url="report_area?";if(currentReport.areaType=="radius"||currentReport.areaType=="pradius"){url+="type="+currentReport.reportType+"&area="+currentReport.areaType+"&location="+currentReport.location+"&radius="+currentReport.radius;if(currentReport.lat&&currentReport.lat!=""&&currentReport.lng&&currentReport.lng!=""){url+="&lat="+currentReport.lat+"&lng="+currentReport.lng}if(currentReport.did&&currentReport.did!=""){url+="&did="+currentReport.did}if(currentReport.dldid&&currentReport.dldid!=""){url+="&dldid="+currentReport.dldid}var areaName;if(PEnvironment.pageName=="report_area"){if(currentReport.pname&&currentReport.pname!=""){areaName=currentReport.pname}}else if(PEnvironment.pageName=="report_generate"){if(currentReport.areaName&&currentReport.areaName!=""){areaName=currentReport.areaName}}if(currentReport.bid&&currentReport.bid!=""&&currentReport.polyid&&currentReport.polyid!=""&&areaName&&currentReport.plat&&currentReport.plat!=""&&currentReport.plng&&currentReport.plng!=""){url+="&bid="+currentReport.bid+"&polyid="+currentReport.polyid+"&pname="+encodeURIComponent(areaName)+"&plat="+currentReport.plat+"&plng="+currentReport.plng}}else if(currentReport.areaType=="predefined"&&currentReport.placeId){url+="type="+currentReport.reportType+"&area="+currentReport.areaType+"&pid="+currentReport.placeId}else if(currentReport.areaType=="custom"){url="reports?type="+currentReport.reportType+"&area="+currentReport.areaType+"&cpid="+currentReport.cpid}else if(currentReport.areaType=="polygon"){var areaName;if(PEnvironment.pageName=="report_area"){if(currentReport.pname&&currentReport.pname!=""){areaName=currentReport.pname}}else if(PEnvironment.pageName=="report_generate"){if(currentReport.areaName&&currentReport.areaName!=""){areaName=currentReport.areaName}}url="reports?type="+currenReport.reportType+"&area="+currentReport.areaType+"&bid="+currentReport.bid+"&polyid="+currentReport.polyid+"&pname="+encodeURIComponent(areaName)+"&plat="+currentReport.plat+"&plng="+currentReport.plng}setWindowLocation(url)}function reportsMenu(){previousPage(true)}function printReport(){if(PEnvironment.pageName=="report_widget"){printWidgetReport()}else{var params=getUrlParams();if(params.type&&params.type.indexOf("wf_")==0){genericAlertDialog({template:"report",action:"print",printService:P.constants.webKitPrintService})}else if(params.type=="hud"){genericAlertDialog({template:"report",action:"print",printService:P.constants.webKitPrintService})}else if(/^(a|b|c|d|e|f|g|h)$/.exec(params.type)!=null){genericAlertDialog({template:"report",action:"print",printService:P.constants.webKitPrintService})}else{genericAlertDialog({template:"report",action:"print"})}}}function displayReport(places,zips,tracts,aggregates,pplace,boundarea,counties,states){var centerpoint=map.radiuscenter;if(centerpoint){centerpoint.getPlacesContaining(PPlaceType.CENSUSTRACT,null,null,function(censustract){if(censustract.length>0){var tractlabel=censustract[0].getLabel()}else{var tractlabel="n/a"}displayAreaSummary(document.getElementById("areasummary"),document.getElementById("contains1"),document.getElementById("contains2"),document.getElementById("containslist1"),document.getElementById("containslist2"),places,zips,tracts,counties,states,tractlabel);if(currentReport.did||currentReport.dldid){var dids=[];var dldids=[];if(currentReport.did){var dids=currentReport.did.split(",")}if(currentReport.dldid){var dldids=currentReport.dldid.split(",")}for(var i=0;i<dids.length;++i){var site=new POverlaySet(dids[i],PinIcons.triangle,15);if(dids[i]==massTransitSetId){site.icon=PinIcons.circle_blue;map.getCurrentMapType().addMapLayer(pMapLayer.UMTRANSIT)}site.setLabel("sentinel");map.addOverlaySet(site)}for(var i=0;i<dldids.length;++i){var site=new POverlaySet(dldids[i],PinIcons.triangle,15);site.type="dl";site.setLabel("sentinel");map.addOverlaySet(site)}if(dids.length>0||dldids.length>0){map.identifyMarker0(centerpoint,displayPointPolygonAttributes,200)}}})}else{displayAreaSummary(document.getElementById("areasummary"),document.getElementById("contains1"),document.getElementById("contains2"),document.getElementById("containslist1"),document.getElementById("containslist2"),places,zips,tracts,counties,states)}if(currentReport.areaType=="polygon"||currentReport.areaType=="pradius"){polycreator.polyload(currentReport.bid,currentReport.areaName,currentReport.plat,currentReport.plng,function(places){if(places[0]){var poly=new PPolygon(places[0].getVertices()[0]);var polybound=poly.getBounds();var bufferstring=polybound.getNorthEast().lng()+1+","+(polybound.getNorthEast().lat()+1)+","+(polybound.getSouthWest().lng()-1)+","+(polybound.getSouthWest().lat()-1);ajax.call({url:PEnvironment.pinUrl+"?did="+currentReport.polyid+"&ftr=/,&lat="+currentReport.plat+"&lng="+currentReport.plng+"&buf="+bufferstring+"&lim=50",context:this,success:function(markers){var polylist=[];for(var i=0;i<markers.length;i++){if(markers[i].isPoly&&markers[i].getPoint().lat()==currentReport.plat&&markers[i].getPoint().lng()==currentReport.plng)polylist.push(markers[i])}if(polylist.length>0){displayPointPolygonAttributes(polylist)}}})}})}if(aggregates&&aggregates.length>maxResultsConfInt){maxResultsAlert();return}var title="";if(currentReport.lq!=null){title=currentReport.lq.replace("'","\\\\'")}else{var reportHeader=$("#reportHeaderTitle").find(".reporttitle");reportHeader.html("Current Report:");if(currentReport.reportType=="a"){title+="Rental Housing Report of "}else if(currentReport.reportType=="b"){title+="Community Profile Report of "}else if(currentReport.reportType=="c"){title+="Internal Revenue Service Tax Report of "}else if(currentReport.reportType=="d"){title+="HMDA Report of "}else if(currentReport.reportType=="e"){title+="Home Sale Report of "}else if(currentReport.reportType=="g"){title+="Federal Reserve Bank of Philadelphia HMDA Report of "}else if(currentReport.reportType=="brookingslaa"){title+="Brookings Institution Food Retail Low Access Area Report of  "}else if(currentReport.reportType=="h"){reportHeader.html("Project Snapshot:");title+="M&T Bank Report of "}else title="Report Not Yet Available";if(currentReport.areaType=="radius"){title+="Radius around ";var matches=/^(-?\d+(\.\d+)?)\s*,\s*(-?\d+(\.\d+)?)$/.exec(currentReport.location);if(matches){title+="Centroid: ("+matches[1]+","+matches[3]+")"}else{title+="Address: "+currentReport.radius+" mile radius around "+currentReport.location}}else if(currentReport.areaType=="pradius"){title+="Radius Based on Polygon: "+currentReport.areaName}else if(currentReport.areaType=="predefined"){title+=pplace[0].getType().getName()+": "+pplace[0].getLabel()}else if(currentReport.areaType=="custom"&&currentReport.areaName.length>0){title+="Custom Region: "+currentReport.areaName}else if(currentReport.areaType=="custom"){title+="Custom Region"}else if(currentReport.areaType=="polygon"&&currentReport.areaName.length>0){title+="Polygon: "+currentReport.areaName}else if(currentReport.areaType=="polygon"){title+="Polygon"}}jQuery(".reportname").empty().text(title);var areaTitle="Report Area";if(currentReport.areaType=="predefined"){areaTitle=pplace[0].getType().getName()+" ("+pplace[0].getLabel()+")"}else if(currentReport.areaType=="custom"&&currentReport.areaName.length>0){areaTitle=currentReport.areaName}else if(currentReport.areaType=="polygon"&&currentReport.areaName.length>0){areaTitle=currentReport.areaName}displaySenators(aggregates,places);var aPlace=null;if(boundarea instanceof PPlace&&boundarea.isAssembledCustom())aPlace=boundarea;displayReportByType(aggregates,places,pplace,currentReport.areaType,boundarea,counties,states,centerpoint,areaTitle,aPlace);displayFooter(document.getElementById("footer"),places,counties,states)}function displayContainedPlaces(boundarea,centerpoint,counties,states){var zoomlevel=map.setCenterBoundsAndGetZoomLevelByViewPort(boundarea,1e3,450);var overlap_pct=50;var quota=50;geocoder.getPlaceContainment(centerpoint,PPlaceType.COUNTY,null,null,function(places){var newplaces;var pplace=null;if(boundarea instanceof PPlace&&!boundarea.isCustomOrPoly()){newplaces=[boundarea];for(var i=0;i<places.length;i++)newplaces.push(places[i]);pplace=[boundarea]}else{newplaces=places}if(reportChooserInstalled()){if(boundarea instanceof PPlace){pplace=[boundarea]}else{pplace=new PPlace;pplace.vertices=[boundarea.points];pplace.typeid=0;pplace.ctypeid=3;pplace=[pplace]}}var placetypes=PPlaceTypeConfig2.AGGREGATION.getBestFitOut(zoomlevel);var placetype=placetypes[0];var c_overlap_pct=placetype==PPlaceType.COUNTY||placetype==PPlaceType.STATE?3:overlap_pct;boundarea.getAggregates(PPlaceType.ZIP,null,null,function(zips){var defId=null;var mId=null;var only2000=false;var arr=["d","e"];var rtype=currentReport.reportType;for(var i=0;i<arr.length;i++){if(arr[i]==rtype){only2000=true;break}}if(only2000){mId=1}else if(boundarea instanceof PPlace&&!boundarea.isCustomOrPoly()){var defId=boundarea.getDefinitionId();var mId=boundaryMatrix.getMatrixIdForDefinitionId(defId)}else if(boundarea instanceof PPlace&&boundarea.isAssembledCustom()){var ps=boundarea.getAssembledPlaces();var defId=ps[0].getDefinitionId();var mId=boundaryMatrix.getMatrixIdForDefinitionId(defId)}boundarea.getAggregates(PPlaceType.CENSUSTRACT,mId,null,function(tracts){if(boundarea instanceof PPlace&&!boundarea.isAssembledCustom()){displayReport(newplaces,zips,tracts,[boundarea],pplace,boundarea,counties,states)}else{boundarea.getPlacesWithin(placetype,null,null,function(pps){displayReport(newplaces,zips,tracts,pps,pplace,boundarea,counties,states)},overlap_pct,null,null,null,"id,identifier,label,typeid,state")}},0,null,null,null,null,null,null,0,"id,identifier,label,typeid,state")},0,null,null,null,null,null,null,0,"id,identifier,label,typeid,state")});if(zoomlevel>6){boundarea.getAggregates(PPlaceType.SCHOOL,null,null,function(aggregatePlaces){displayDistricts(aggregatePlaces,"schooldist",boundarea)},0,null,PPlaceType.LABEL,null,null,null,PPlaceType.LABEL,0)}else{displayDistricts(null,"schooldist")}if(zoomlevel>5){boundarea.getAggregates(PPlaceType.SLD_UPPER,null,null,function(aggregatePlaces){displayDistricts(aggregatePlaces,"senatedist",boundarea)},0,null,1,null,null,null,1,0);boundarea.getAggregates(PPlaceType.SLD_LOWER,null,null,function(aggregatePlaces){displayDistricts(aggregatePlaces,"housedist",boundarea)},0,null,1,null,null,null,1,0)}else{displayDistricts(null,"senatedist");displayDistricts(null,"housedist")}if(zoomlevel>4){boundarea.getAggregates(PPlaceType.CONGRESSIONAL,null,null,function(aggregatePlaces){displayDistricts(aggregatePlaces,"congdist",boundarea)},0,null,1,null,null,null,1,0)}else{displayDistricts(null,"congdist")}}function displayPointPolygonAttributes(markers){if(markers.length>0){jQuery("#sites_titles").show();if(markers[0].isPoly){if(markers[0].datasetID==99800){var detailsText="Low Access Area (LAA) Summary<sup>&dagger;</sup>"}else{var detailsText="Polygon Details"}}else{var detailsText="Sites"}for(var i=0;i<markers.length;++i){var attributes=markers[i].getAttributes();var tabIndex;var tabLength=markers[i].customTabLength;var divArr=[];var strayAttr=[];if(tabLength){for(var t=0;t<tabLength;t++){var div=document.createElement("div");div.className="sectioncontent attributesSection";divArr.push(div)}for(var j=0;j<attributes.length;++j){var attribute=attributes[j];if(attribute.name&&attribute.value!=""&&attribute.value!="null"||attribute.value=="0"){var tabName=attribute.tabName;if(!tabName){strayAttr.push(attribute);continue}tabIndex=attribute.tabIndex;addAttributeToDetailsSection(attribute,divArr[tabIndex]);divArr[tabIndex].tabName=tabName}}for(var t=0;t<tabLength;t++){if(divArr[t].hasChildNodes()){var title=document.createElement("div");title.className="reporttitles";title.innerHTML='<span class="toggle" onclick="sectionDisplayToggle(this)">(-)</span>'+divArr[t].tabName+' <span class="type">('+detailsText+")</span>";jQuery("#sites_titles").append(title);jQuery("#sites_titles").append(divArr[t])}}}if(!tabLength||strayAttr.length>0){var div=document.createElement("div");div.className="sectioncontent attributesSection";if(strayAttr.length>0)attributes=strayAttr;for(var j=0;j<attributes.length;++j){var attribute=attributes[j];if(attribute.name&&attribute.value!=""&&attribute.value!="null"||attribute.value=="0"){addAttributeToDetailsSection(attribute,div)}}var title=document.createElement("div");title.className="reporttitles";title.innerHTML='<span class="toggle" onclick="sectionDisplayToggle(this)">(-)</span>'+detailsText;if(strayAttr.length>0){title.innerHTML='<span class="toggle" onclick="sectionDisplayToggle(this)">(-)</span>Additional Info <span class="type">('+detailsText+")</span>"}jQuery("#sites_titles").append(title);jQuery("#sites_titles").append(div)}}if(markers[0].datasetID==99800){var footer=document.createElement("div");footer.className="reporttext sitesFooter";footer.innerHTML="<sup>&dagger;</sup>A Low Access Area (LAA) is a geographic area determined by TRF for the Brookings Institution as having low access to "+"grocery retail.  LAAs were determined based on low/mod-income communities' distances from supermarkets, as compared to "+"similar higher-income counterparts.  For an explanation of how TRF determined LAAs and the family of LAA indicators "+"available in this report, please see the <a class='pagelinks' href='our-data-directory.html#TRF Supermarket Study of Low "+"Access Areas for Brookings Institution' target='_blank'>Data Directory</a>.";jQuery("#sites_titles").append(footer)}var divider=document.createElement("div");divider.className="divider";jQuery("#sites_titles").append(divider)}else{jQuery("#sites_titles").hide()}}function addAttributeToDetailsSection(attribute,div){var formattedValue;if(attribute.value==-9999||attribute.value==-999999){formattedValue="N/A"}else if(attribute.unit){formattedValue=PWebUtil.formatNumber(attribute.value,attribute.unit)}else{formattedValue=attribute.value}if(typeof formattedValue=="string"&&formattedValue.match("http://"))formattedValue="<a href='"+formattedValue+"' target='new' style='color:#5D83D0;text-decoration:underline;'>"+formattedValue+"</a>";var content=document.createElement("div");jQuery(content).css({padding:"2px 0 2px 10px",fontSize:"14px"});var name=document.createElement("span");jQuery(name).css({fontSize:"11pt",fontWeight:"bold"});jQuery(name).text(attribute.name+":  ");var value=document.createElement("span");jQuery(value).css({fontSize:"11pt",color:"#666"});jQuery(value).html(formattedValue);jQuery(content).append(name);jQuery(content).append(value);jQuery(div).append(content)}function getCountiesLabels(counties){var countiesText="";if(counties.length>0){for(var i=0;i<counties.length;++i){var comma=", ";var a="";if(i==counties.length-1){comma="";if(counties.length>1)a="and "}label=counties[i].getLabel();countiesText+=a+"<b>"+label+"</b> County"+comma;link.name+=label+" County"+comma}}return countiesText}function getStatesLabels(states,place){var t=", in";if(place&&place.getType()==PPlaceType.COUNTY){t=""}var statesText="";if(states.length>0){if(states.length>1){statesText+=t+" the states of ";link.name+=t+" the states of "}else{statesText+=t+" the state of ";link.name+=t+" the state of "}for(var i=0;i<states.length;++i){var comma=", ";var a="";if(i==states.length-1){comma="";if(states.length>1)a="and "}label=states[i].getLabel();statesText+=a+"<b>"+label+"</b>"+comma;link.name+=label+comma}}return statesText}function getCurrentDate(){var d=new Date;var months=new Array("January","February","March","April","May","June","July","August","September","October","November","December");var today=months[d.getMonth()]+" "+d.getDate()+", "+d.getFullYear();return today}function displayAreaSummary(div,cdiv1,cdiv2,cldiv1,cldiv2,places,zips,tracts,counties,states,tractlabel){var today=getCurrentDate();var text="<span class='topbox-header'>Date:</span>"+today+"<br /><br>";var c1text="";var c2text="";var cl1text="";var cl2text="";link.name=currentReport.reportName+" - ";if(currentReport.areaType=="radius"||currentReport.areaType=="pradius"){text+="<span class='topbox-header'>Proposed Address:</span><br>";var county=getCounty(places);text+="The <b>"+currentReport.radius+"</b> mile radius around this location, <b>"+currentReport.location+"</b>, is located in ";if(counties.length==2){for(var i=0;i<counties.length;++i){if(county.id!=counties[i].id){text+="<b>"+counties[i].getLabel()+"</b> County";break}}text+=" and <b>"+county.getLabel()+"</b> County"}else if(counties.length>2){for(var i=0;i<counties.length;++i){if(county.id!=counties[i].id){text+="<b>"+counties[i].getLabel()+"</b> County, "}}text+="and <b>"+county.getLabel()+"</b> County"}else{text+="<b>"+county.getLabel()+"</b> County"}var state=getState(places);if(states.length<=1){text+=", in the state of <b>"+state.getLabel()+"</b>.<br/><br/>"}else{text+=", in the states of "}if(states.length==2){for(var i=0;i<states.length;++i){if(state.id!=states[i].id){text+="<b>"+states[i].getLabel()+"</b> and ";break}}text+="<b>"+state.getLabel()+"</b>.<br/><br/>"}else if(states.length>2){for(var i=0;i<states.length;++i){if(state.id!=states[i].id){text+="<b>"+states[i].getLabel()+"</b>, "}}text+=" and <b>"+state.getLabel()+"</b>.<br/><br/>"}link.name+=currentReport.radius+" mile radius around "+currentReport.location}else if(currentReport.areaType=="predefined"){var place=places[0];var label=place.getLabel();var displayDefinition=boundaryMatrix.getDisplayNameForDefinitionId(place.getDefinitionId());text+="<span class='topbox-header'>Proposed Location:</span><br>";text+="This location, <b>"+label+"</b> ("+displayDefinition+"), is located in ";link.name+=place.getLabel()+" ("+displayDefinition+")";if(place.getType()!=PPlaceType.COUNTY&&place.getType()!=PPlaceType.STATE){if(!counties)var counties=[getCounty(places)];var cText=getCountiesLabels(counties);text+=cText}if(place.getType()!=PPlaceType.STATE){if(!states)var states=[getState(places)];var sText=getStatesLabels(states,place);text+=sText}else{text+="in the US"}text+=".<br><br>"}else if(currentReport.areaType=="custom"||currentReport.areaType=="polygon"){text+="<span class='topbox-header'>Proposed Area:</span><br>";text+="This area is located in ";var cText=getCountiesLabels(counties);var sText=getStatesLabels(states);text+=cText+sText;text+="<br /><br />"}if(currentReport.areaType=="radius"||currentReport.areaType=="pradius"||!(place&&place.getType()==PPlaceType.CENSUSTRACT)){var yearStr="";if(tracts[0]){var defid=tracts[0].getDefinitionId();var year=boundaryMatrix.getDisplayYearForDefinitionId(defid);yearStr=year+" "}if(currentReport.areaType=="radius"||currentReport.areaType=="pradius"){c1text+="This address is located in Census Tract <b>"+tractlabel+"</b>, and the report area contains the following "+yearStr+"census tract(s): "}else{c1text+="It is located within or touches the following "+yearStr+"census tract(s): "}if(tracts.length<=100){c1text+="<b>"+getPlaceNames(tracts)+"</b>."}else if(tracts.length<=500){c1text+=tracts.length+" census tracts (<a onclick=\"switchListVisibility('"+cldiv1.id+"', 'expandlink1');\"><span class='pagelinks' id='expandlink1'>show</span></a>)</span>";cl1text="<b>"+getPlaceNames(tracts)+"</b>."}else{c1text+="<span style='color:#777;font-weight:normal;font-style:italic'>Not displayed; exceeds 500 census tracts.</span>"}}if(!(place&&place.getType()==PPlaceType.ZIP)){c2text+="<br />Similarly, it is located within or touches the following zip code(s): ";if(zips.length<=100){c2text+="<b>"+getPlaceNames(zips)+"</b>."}else if(zips.length<=500){c2text+=zips.length+" zip codes (<a onclick=\"switchListVisibility('"+cldiv2.id+"', 'expandlink2');\"><span class='pagelinks' id='expandlink2'>show</span></a>)</span>";cl2text="<b>"+getPlaceNames(zips)+"</b>."}else{c2text+="<span style='color:#777;font-weight:normal;font-style:italic'>Not displayed; exceeds 500 zip codes.</span>"}}div.innerHTML=text;cdiv1.innerHTML=c1text;cdiv2.innerHTML=c2text;cldiv1.innerHTML=cl1text;cldiv2.innerHTML=cl2text;if(reportChooserInstalled()){$("#aggregationNote").html("<br />Data presented in this report summarize the geographies specified in the citation information in each section.")}}function getPlaceNames(places){var retval="";if(places){for(var i=0;i<places.length;i++){retval+=places[i].getLabel()+", "}retval=retval.substring(0,retval.length-2)}return retval}function switchListVisibility(divid,linkspanid){var div=$("#"+divid);var linkspan=$("#"+linkspanid);if(div.css("display")=="block"){div.css("display","none");linkspan.text("show")}else if(div.css("display")=="none"){div.css("display","block");linkspan.text("hide")}}function displayDistricts(ps,divId,compare){var places=ps;var districtdiv=document.getElementById(divId);districtdiv.style.color="";districtdiv.className="districttext";var html="";var state=null;if(compare&&compare instanceof PPlace){state=compare.getState()}if(places==null){html="<span style='color:#ccc;font-style:italic'>Too many to display</span>"}else if(places.length>0){for(var i=0;i<places.length;i++){if(currentReport.areaType!="predefined"||state&&state==places[i].getState()){html+=places[i].getLabel()+", "}}html=html.substring(0,html.length-2)}else if(compare&&compare instanceof PPlace&&(compare.getType()==PPlaceType.CONGRESSIONAL||compare.getType()==PPlaceType.SCHOOL||compare.getType()==PPlaceType.SLD_UPPER||compare.getType()==PPlaceType.SLD_LOWER)){html=compare.getLabel()}if(html=="")html="<span style='color:#ccc;font-style:italic'>None Found</span>";districtdiv.innerHTML=html}function displayFooter(div,places,counties,states){var html=currentReport.reportName+" for ";if(currentReport.areaType=="radius"||currentReport.areaType=="pradius"){html+="<b>"+currentReport.radius+"</b> mile radius surrounding <b>"+currentReport.location+"</b>"}else if(currentReport.areaType=="predefined"){var place=places[0];html+="<b>"+place.getLabel()+"</b> ("+place.getType().getName()+")"}else if(currentReport.areaType=="custom"||currentReport.areaType=="polygon"){var countyNames="";for(var i=0;i<counties.length;i++){var comma=", ";if(i==counties.length-1)comma="";countyNames+="<b>"+counties[i].getLabel()+"</b> County"+comma}html+="area in "+countyNames}html+="<br>";var today=new Date;var day=today.getDate();if(day<10)day="0"+day;var mth=today.getMonth()+1;if(mth<10)mth="0"+mth;html+=mth+"/"+day+"/"+today.getFullYear();html+="<br>Copyright&nbsp;&copy;&nbsp;PolicyMap "+today.getFullYear();div.innerHTML=html}function getAggregatedPlaceNames(places){var placeNames=[];for(var i=0;i<places.length;i++){if(places[i].getType()==PPlaceType.BLOCKGROUP)placeNames.push(places[i].getIdentifier());else placeNames.push(places[i].getLabel())}placeNames=placeNames.join(", ");return placeNames}function formatAggregatePlaceType(name){var placetype=[];if(name=="Zip")placetype[0]="Zip Code";else if(name=="Block Group")placetype[0]="Census Block Group";else placetype[0]=name;if(name=="County")placetype[1]="Counties";else if(name=="City")placetype[1]="Cities";else placetype[1]=placetype[0]+"s";return placetype}function sectionDisplayToggle(elem){var content=getNextSibling(elem.parentNode);elem.innerHTML=content.style.display!="none"?"(+)":"(-)";jQuery(content).toggle()}function getNextSibling(n){x=n.nextSibling;while(x.nodeType!=1)x=x.nextSibling;return x}function checkStepsForNoAggregates(groups,groupPlaceTypeAggregates){for(var i=0;i<groups.length;i++){if(groupPlaceTypeAggregates[groups[i]]&&groupPlaceTypeAggregates[groups[i]].length==0)noDataAlert()}}function addErrors(text){if(theErrors!=""){text+="<br /><br />"}theErrors+=text}function maxResultsAlert(){if(maxResultsAlertCount++>0){return}addErrors("The calculations in this report allow a maximum of "+maxResultsConfInt/2+" boundaries, and in at least one section this number was exceeded. Please try again with a smaller area.")}function checkCalculationValuesForNull(vals){for(var i in vals){if(vals[i]==null){return false}}return true}function divideCheck(sum1,sum2,mult,sum2min,naValue,naWithNoDenom){var na="N/A";if(naValue||naValue==0)na=naValue;var total;if(sum1==null){return na}else if(sum2==null||sum2==0){if(mult&&!naWithNoDenom){total=sum1*mult}else{return na}}else if(mult){total=sum1/sum2*mult}else{total=sum1/sum2}if(total==Infinity||sum2min&&sum2<sum2min){return na}else{return total}}function getAllPlaceData(inds,periods,place,c){var values=c.values;var rowVals={};rowVals.values=[];rowVals.hasData=false;for(var j=0;j<inds.length;j++){rowVals.values[j]=[];for(var p=0;p<periods.length;p++){var unit=inds[j].unit;var val=PWebUtil.formatNumber(values[periods[p]][place.id][inds[j].id],unit);if(val&&val!="N/A"){rowVals.hasData=true;c.showNoDataAlert()}rowVals.values[j][periods[p]]=val}}return rowVals}function createNoDataForPlacesNote(places){var placesString="";var placetype=places[0].getType();for(var i=0;i<places.length;i++){if(placetype==PPlaceType.BLOCKGROUP)var label=places[i].identifier;else var label=places[i].getLabel();placesString+=label+", "}placesString=placesString.replace(/, $/,"");var placeTypeName=placetype.getPluralName();var note="<div class='reporttext'>The following "+placeTypeName+" that are within or contain the report area have no data available: <b>"+placesString+"</b></div>";return note}function getVariationPercentChange(sum1,sum2){if(sum1&&sum2)return PWebUtil.formatNumber((sum2-sum1)/sum1*100,"_%");else return"N/A"}function checkIfZip(pplace){if(pplace instanceof Array)pplace=pplace[0];if(pplace){if(pplace instanceof PPlace&&pplace.isAssembledCustom()){var places=pplace.getAssembledPlaces();if(places[0].getType()==PPlaceType.ZIP)pplace=null}else if(pplace.getType()==PPlaceType.ZIP){pplace=null}}return pplace}function displayReportByType(aggregates,places,pplace,areaType,boundarea,counties,states,centerpoint,areaTitle,aPlace){var state=getState(places);var county=getCounty(places);if(!states||states.length<=0){states=[state]}if(!counties||counties.length<=0){counties=[county]}var obj={};obj.aggs=aggregates;obj.places=places;obj.pplace=pplace?pplace[0]:null;obj.areaType=areaType;obj.boundArea=boundarea;obj.counties=counties;obj.county=county;obj.states=states;obj.state=state;obj.centerpoint=centerpoint;obj.areaTitle=areaTitle;obj.aPlace=aPlace;currentReport=jQuery.extend(currentReport,obj);switch(currentReport.reportType){case"a":displayReportByTypeA(obj);break;case"b":displayReportByTypeB(obj);break;case"c":displayReportByTypeC(aggregates,places,pplace,areaType,boundarea,counties,states,centerpoint,areaTitle,aPlace);break;case"d":displayReportByTypeD(aggregates,places,pplace,areaType,boundarea,counties,states,centerpoint,areaTitle,aPlace);break;case"e":displayReportByTypeE(aggregates,places,pplace,areaType,boundarea,counties,states,centerpoint,areaTitle,aPlace);break;case"g":displayReportByTypeG(aggregates,places,pplace,areaType,boundarea,counties,states,centerpoint,areaTitle,aPlace);break;case"h":displayReportByTypeH(aggregates,places,pplace,areaType,boundarea,counties,states,centerpoint,areaTitle,aPlace);break;case"brookingslaa":displayReportByTypeLAA(aggregates,places,pplace,areaType,boundarea,counties,states,centerpoint,areaTitle,aPlace);break}}function displayIncomes(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13){switch(currentReport.reportType){case"b":displayIncomesB(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13);break}}function displayHouseholds(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14){switch(currentReport.reportType){case"h":displayHouseholdsH(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14);break}}function reportChooserInstalled(){if(currentReport.reportType=="b"||currentReport.reportType=="a"||currentReport.reportType=="e")return true;else return false}function alertCustomRegionIsTooSmall(type){var text="";if(type)text="Your custom region is too small to aggregate by "+type.getPluralName()+". Please select a smaller geography from the list.";else text="Your custom region is too small to aggregate by any type of boundary.";addErrors(text)}function displayCompReportCityAndZip(place,td,total){place.getPlacesContaining(PPlaceType.CITY,null,null,function(cities){place.getPlacesContaining(PPlaceType.ZIP,null,null,function(zips){var city=cities[0];var val="";if(city)val=city.getLabel()+", ";for(var i=0;i<zips.length;i++){val+=zips[i].getLabel();if(i!=zips.length-1)val+=", "}$(td).html(val);currentReport.populateZipTableIndex++;if(currentReport.populateZipTableIndex==total){var table=$("<table />");$(table).addClass("HudReportTable cloneDistanceTable");$(table).attr({border:"1",frame:"void",rules:"all",cellpadding:"0",cellspacing:"0",borderColor:"#cfe6ad"});$(table).css({width:$(".HudReportTable").outerWidth()});var tbody=$("#areainfo").clone();$(table).append(tbody);$(".pageHeader").after(table)}})})}function displayCompReportPointPolygonAttributes(markers){if(markers.length>0){jQuery("#areasummary").show();
for(var i=0;i<markers.length;++i){var attributes=markers[i].getAttributes();var tabIndex;var tabLength=markers[i].customTabLength;var divArr=[];var strayAttr=[];var table=document.createElement("table");table.className="HudAttributeTable";var row=$("<tr />");var title=$("<th />");title.html("NSP Investments");var values=$("<th />");$(values).html("As of ");$(values).append(getCurrentDate());$(row).append(title);$(row).append(values);$(table).append(row);for(var j=0;j<attributes.length;++j){var attribute=attributes[j];if(attribute.name&&attribute.value!=""&&attribute.value!="null"||attribute.value=="0"){addAttributeToDetailsSectionCompReport(attribute,table)}}jQuery("#areasummary").append(table)}var divider=document.createElement("div");divider.className="divider";jQuery("#areasummary").append(divider)}else{jQuery("#areasummary").hide()}}function addAttributeToDetailsSectionCompReport(attribute,table){var formattedValue;if(attribute.value==-9999||attribute.value==-999999){formattedValue="N/A"}else if(attribute.unit){formattedValue=PWebUtil.formatNumber(attribute.value,attribute.unit)}else{formattedValue=attribute.value}if(typeof formattedValue=="string"&&formattedValue.match("http://"))formattedValue="<a href='"+formattedValue+"' target='new' style='color:#5D83D0;text-decoration:underline;'>"+formattedValue+"</a>";var row=document.createElement("tr");var name=document.createElement("td");$(name).addClass("hudattributename");jQuery(name).html(attribute.name);var value=document.createElement("td");$(value).addClass("hudattributevalue");jQuery(value).html(formattedValue);jQuery(row).append(name);jQuery(row).append(value);jQuery(table).append(row)}function getGroupPlaceTypeAggregates(boundArea,groups,tracts,func,opts){var zoomLevel=map.setCenterBoundsAndGetZoomLevelByViewPort(boundArea,1e3,450);var groupPlaceTypes={};var getAggsForAllDef=false;var matrixIds=[];if(opts){if(opts.getAggsForAllDef){getAggsForAllDef=true;matrixIds=[1,2,4]}if(opts.matrixIds){matrixIds=opts.matrixIds}}for(var i=0;i<groups.length;++i){groupPlaceTypes[groups[i]]=PPlaceTypeConfig2.AGGREGATION.getBestFitOut(zoomLevel,groups[i])}var defaultPlaceTypeId=tracts.length>0?tracts[0].getType().id:0;isRegularBoundary=false;if(boundArea instanceof PPlace&&!boundArea.isCustomOrPoly()){isRegularBoundary=true}if(getAggsForAllDef&&!isRegularBoundary){var defaultPlaceTypeId=0}var overlapPercentage=50;var groupPlaceTypeAggregates={};var tooManyBoundaries=false;var displayWithAggregatePlaceTypes=function(g_index,pt_index){if(groups.length==g_index)checkStepsForNoAggregates(groups,groupPlaceTypeAggregates);if(groups.length>g_index){if(groupPlaceTypes[groups[g_index]].length>pt_index){if(groupPlaceTypes[groups[g_index]][pt_index].id==defaultPlaceTypeId&&!getAggsForAllDef||getAggsForAllDef&&defaultPlaceTypeId==PPlaceType.BLOCKGROUP.id&&groupPlaceTypes[groups[g_index]][pt_index].id==PPlaceType.BLOCKGROUP.id){groupPlaceTypeAggregates[groups[g_index]]=tracts;displayWithAggregatePlaceTypes(g_index+1,0)}else{var defIds=null;if(matrixIds.length>0){defIds=[];for(var m=0;m<matrixIds.length;m++){var type=groupPlaceTypes[groups[g_index]][pt_index];var did=boundaryMatrix.getDefinitionIdForTypeId(type.id,matrixIds[m]);defIds.push(did)}}boundArea.getPlacesWithin(groupPlaceTypes[groups[g_index]][pt_index],null,defIds,function(aggregates){if(!isRegularBoundary&&aggregates.length>maxResultsConfInt){tooManyBoundaries=true}groupPlaceTypeAggregates[groups[g_index]]=aggregates;if(aggregates.length>0&&aggregates.length<maxResultsConfInt){displayWithAggregatePlaceTypes(g_index+1,0)}else{displayWithAggregatePlaceTypes(g_index,pt_index+1)}},50,null,null,null,"id,identifier,label,typeid,state")}}else{displayWithAggregatePlaceTypes(g_index+1,0)}}else{if(tooManyBoundaries){maxResultsAlert();return}else{func(groupPlaceTypeAggregates)}}};displayWithAggregatePlaceTypes(0,0)}function populateCensusAggregatesNote(pls1,pls2,omit2000){var na="<b>N/A</b>";var d=$("#censusAggregatesNote");d.html("For custom areas, such as radii, custom regions, school districts, and political districts, Census ACS data was calculated by summing the following component ");if(omit2000==null||omit2000!==true){if(pls1&&pls1.length>0){var placeType=formatAggregatePlaceType(pls1[0].getType().getName())[0];var placeNames=getAggregatedPlaceNames(pls1);var namesText=": <b>"+placeNames+"</b>"}else{var placeType=na;var namesText=""}d.append(placeType+" in 2000"+namesText+", and the following component ")}if(pls2&&pls2.length>0){var placeType=formatAggregatePlaceType(pls2[0].getType().getName())[0];var placeNames=getAggregatedPlaceNames(pls2);var namesText=": <b>"+placeNames+"</b>"}else{var placeType=na;var namesText=""}d.append(placeType+" in 2009-2013"+namesText);d.append(".")}function populateOneToOneReportNote(pplace,cube,pls1,pls2){if(!pplace||pplace.isCustomOrPoly()){return}var typeid=pplace.getType().id;var dAggs=cube.definitionAggs;if(!dAggs[typeid]){return}var oneToOne=dAggs[typeid].oneToOnePlace;if(!oneToOne){return}if(pls1.length==1&&pls2.length==1&&pplace.id==pls1[0].id&&oneToOne.getLabel()!=pplace.getLabel()){var year1=boundaryMatrix.getDisplayYearForDefinitionId(pplace.getDefinitionId());var year2=boundaryMatrix.getDisplayYearForDefinitionId(oneToOne.getDefinitionId());var text="The "+pplace.getType().getName()+" being used in this report (<b>"+pplace.getLabel()+"</b>) ("+year1+") is equivalent to <b>"+oneToOne.getLabel()+"</b> in "+year2+".";$("#fipsNote").html(text)}}function reportSumMultipleSums(arr){var nullCount=0;var value=0;for(var i=0;i<arr.length;i++){if(arr[i]==null){nullCount++}value=value+arr[i]}if(nullCount==arr.length){value=null}return value}function areStepPlacesNeeded(place){var ret=true;var t=[PPlaceType.COUNTY,PPlaceType.STATE];for(var i=0;i<t.length;i++){if(place.getType()==t.type){ret=false;break}}return ret}function isUniversalDefinitionId(defid){var ret=false;var ids=[50,176];for(var i=0;i<ids.length;i++){if(ids[i]==defid){ret=true;break}}return ret}function add2009ToIndicatorForHMDAReport(inds){for(var i=0;i<inds.length;i++){var ind=inds[i];var periods=ind.getPeriods();var did=ind.getSources()[0].datasetid;if((did==105050||did==131750)&&periods.indexOf("2009")==-1){ind.periods.unshift("2009");ind.periodids.unshift(10);ind.matrixIds.unshift(1)}}}function screenGrabPrint(){var element=document.createElement("ScreengrabElement");document.documentElement.appendChild(element);var evt=document.createEvent("Events");evt.initEvent("ScreengrabEvent",true,false);element.dispatchEvent(evt)}function getEmptyColumnsForTable(periods,has2009SplitColumns){var h="";for(var i=0;i<periods.length;i++){h+="<td></td>"}if(has2009SplitColumns){h+="<td></td>"}return h}function getPeriodLabelColumns(p,has2009SplitColumns){var h="";for(var i=0;i<p.length;i++){if(has2009SplitColumns&&p[i]==2009){h+="<th>2009Q1 - 2009Q3</th>";h+="<th>2009Q4</th>"}else{h+="<th>"+p[i].toString().toUpperCase()+"</th>"}}return h}function getQuarterStringFromPeriod(p){var l=p.length-1;var num=p.slice(l);return getOrdinal(num)}function printWellsFargoReport(){var obj={};obj.policymap={};var u=document.URL.replace("report_widget","reports")+"&print=true";var url={};var urls=[];url.url={location:u,delay:15};urls.push(url);obj.policymap={credentials:{id:1},parameters:{ty:"data",t:"prnt"},prnt:{urls:urls,orientation:"P",width:800,filename:"WellsFargoReport.pdf"}};if(PEnvironment.pageName!="report_widget"){genericAlertDialog({template:"report-wf",action:"save"})}var url=PEnvironment.dataServicesUrl+"?id=1&ty=data&t=prnt";var jsonStr=JSON.stringify(obj);$("#servicesJSON").val(jsonStr);$("#cbPrintForm").submit()}ReportPins=function(){this.elm=$("#reportPins");this.smallTitle=this.elm.find(".smallTitle");this.bigTitle=this.elm.find(".bigTitle");this.dataset;this.cube;this.pageSize=50;this.pages=1;this.pinCount=0;this.place=null;this.pinType;this.buttonsEnabled;this.pagePopUp=P.instances.pagePopUp};ReportPins.prototype={load:function(placeName,datasetId,datasetType,datasetName,placeId,vertices,pinCount,pinType,placeTypeId,polysetid){var datasetObj=getActiveOverlaySetByIdAndType(datasetId,datasetType);if(datasetObj!=null){this.loadWithSet(placeName,datasetObj,placeId,vertices,pinCount,pinType,placeTypeId,polysetid)}else{var self=this;var datasetError=function(){alerter.popup("There was an error retrieving the dataset.","OK")};ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=pnt&act=g&di="+encodeURIComponent(datasetId)+"&dt="+encodeURIComponent(datasetType),success:function(response){if(response.pnt&&response.pnt[datasetId+datasetType]){self.loadWithSet(placeName,overlaySetUtil.buildOverlaySet(response.pnt[datasetId+datasetType]),placeId,vertices,pinCount,pinType,placeTypeId,polysetid)}else{datasetError()}},error:datasetError})}},loadWithSet:function(placeName,dataset,placeId,vertices,pinCount,pinType,placeTypeId,polysetid){if(isCBClone()&&dataset.children.length>0&&dataset.isPoly){dataset=dataset.children[0]}if(PEnvironment.pageName=="widget"){if(!dataset.allowDL){this.buttonsEnabled=[false,false]}else{this.buttonsEnabled=[false,true]}}else if(this.disableDownloadAndPrint(dataset.id,placeTypeId,placeId)){this.buttonsEnabled=[false,false]}else if(!dataset.allowDL){this.buttonsEnabled=[true,false]}else{this.buttonsEnabled=[true,true]}this.dataset=dataset;this.placeName=placeName;this.placeId=placeId;this.vertices=vertices;this.pinCount=pinCount;this.pages=Math.ceil(this.pinCount/this.pageSize);this.pinType=pinType;this.placeTypeId=placeTypeId;this.polysetid=polysetid;this.pagePopUp.show();var self=this;this.elm.find(".pageNav").hide();this.currentPage=0;if(vertices!=""){var verts=[];vertices=vertices.split("),(");for(var i=0;i<vertices.length;i++){var tmpVert=vertices[i].split(",");tmpVert[0]=parseFloat(tmpVert[0].indexOf("(")==0?tmpVert[0].substr(1,tmpVert[0].length):tmpVert[0]);tmpVert[1]=parseFloat(tmpVert[1].indexOf(")")!=-1?tmpVert[1].substr(0,tmpVert[1].length-1):tmpVert[1]);verts[verts.length]=new PLatLng(tmpVert[0],tmpVert[1])}this.place=new PPolygon(verts)}else if(placeId){this.place=new PPlace(placeId);this.place.typeid=placeTypeId}else{var bounds=P.instances.map.getBounds();this.place=new PPolygon(bounds);placeName="Current Map View"}this.place.label=placeName;if(polysetid)this.place.polysetid=this.polysetid;this.smallTitle.text(dataset.name+" in:");this.bigTitle.text(this.place.label);if(this.pages>1){this.elm.find(".pageNav").show();this.createPageLinks()}this.overlayset=new POverlaySet(dataset.id);this.overlayset.limit=this.pageSize;this.overlayset.offset=0;this.overlayset.type=dataset.type;this.overlayset.pinType=this.pinType;this.overlayset.noCount=true;this.overlayset.setFilters(dataset.getFilters());this.overlayset.isPoly=dataset.isPoly;this.place.getMarkersWithin(this.overlayset,function(markers){self.markers=markers;var f=function(){self.displayTable()};self.show(f);self.currentPage=0})},displayTable:function(){this.elm.find(".scrollTableContainer").html("");this.pagePopUp.loader.show();var markers=this.markers;if(markers.length>0){var $table=$("<table />",{id:"pinTable",class:"chartTable",cellpadding:1,cellspacing:1,width:"100%"});var $thead=$("<thead />");var $tbody=$("<tbody />");var tableHeaders=new Array;var tableObject={};var that=this;var buildTable=function(indObj){var indLabelAdded=false;for(var i=0;i<markers.length;i++){var marker=markers[i];var markername="marker"+i;tableObject[markername]={};tableObject[markername].marker=marker;if(indObj){tableObject[markername].placevalue=indObj[markername].placevalue;tableObject[markername].place=indObj[markername].place}for(var j=0;j<marker.attributes.length;j++){var attribute=marker.attributes[j];if(jQuery.inArray(attribute.name,tableHeaders)==-1){$thead.append("<th>"+attribute.name+"</th>");tableHeaders.push(attribute.name)}if(indObj&&!indLabelAdded){var label=indObj[markername].place.getType().getDisplayName();$thead.append("<th>"+label+"</th>");tableHeaders.push(label);var label=P.instances.map.getIndicator().getLabel();$thead.append("<th>"+label+"</th>");tableHeaders.push(label);indLabelAdded=true}var value="";if(isNumeric(attribute.value)&&attribute.unit){value+=PWebUtil.formatNumber(attribute.value,attribute.unit)}else{value+=attribute.value}tableObject[markername][attribute.name]={};tableObject[markername][attribute.name].value=value}}var $tr;for(var mname in tableObject){$tr=$("<tr />",{class:"values-row"});if(PEnvironment.pageName=="maps"||PEnvironment.pageName=="analytics"||PEnvironment.pageName=="widget"){$tr.data("marker",tableObject[mname].marker);$tr.click(function(){var elm=$(this);var m=elm.data("marker");var attr=m.attributes;var tabs=PMIdentificationPrinter.printAttributes(attr,null,m);P.instances.map.openInfoWindowTabs(m.getPoint(),tabs);that.pagePopUp.hide()})}for(var j=0;j<tableHeaders.length;j++){var found=false;var column="";if(indObj&&tableHeaders[j]==ind.getLabel()){found=true;column="<td>"+tableObject[mname].placevalue+"</td>"}else if(indObj&&tableHeaders[j]==tableObject[mname].place.getType().getDisplayName()){var label=tableObject[mname].place.getLabel();if(place.getType()==PPlaceType.CENSUSTRACT||place.getType()==PPlaceType.BLOCKGROUP){label+=", "+place.getState()}column="<td>"+label+"</td>";found=true}else{for(var aname in tableObject[mname]){if(tableHeaders[j]==aname){found=true;column="<td>"+tableObject[mname][aname].value+"</td>"}}}if(!found){column="<td class='empty'></td>"}$tr.append(column)}$tbody.append($tr)}$table.append($thead);$table.append($tbody);that.elm.find(".scrollTableContainer").html($table);that.pagePopUp.loader.hide()};var m=P.instances.map;var ind=m.getIndicator();if(productProperty.getValue("show_sites_list_indicator_column")&&this.place.isCustomOrPoly()&&!this.overlayset.isPoly&&ind){var markerplaces=[];if(ind){var loadValues=function(markerplaces){var indObj={};var period=ind.getPeriod();var cube=new PCube([ind],markerplaces,[period]);cube.loadValues(function(values){this.values=values;for(var j=0;j<markerplaces.length;j++){var markername="marker"+j;indObj[markername]={};var v=values[period][markerplaces[j].id][ind.id];if(!isNaN(v)){v=PWebUtil.formatNumber(v,ind.unit)}indObj[markername].placevalue=v;indObj[markername].place=markerplaces[j]}buildTable(indObj)})};var cnt=0;for(var i=0;i<markers.length;i++){markers[i].getPoint().getPlacesContaining(m.getLegend().getCurrentPlaceType(),null,null,function(places){var p=places[0];this.place=p;markerplaces.push(p);cnt++;if(cnt==markers.length){loadValues(markerplaces)}})}}}else{buildTable()}}else{this.elm.find(".scrollTableContainer").html("<span style='font-size: 14px;'>No Data Points available.</span>");this.pagePopUp.loader.hide()}},downloadCSV:function(){this.overlayset.format="csv";this.overlayset.offset=null;this.overlayset.limit=null;var self=this;this.place.getMarkersWithin(this.overlayset)},changePage:function(pageNum){var self=this;if(pageNum==null){pageNum=this.pages-1}if(pageNum<this.pages&&pageNum>=0){this.currentPage=pageNum;this.createPageLinks();this.pagePopUp.emptyScrollContainer(function(){self.pagePopUp.loader.show();self.overlayset.format="js";self.overlayset.offset=pageNum*self.pageSize;self.overlayset.limit=self.pageSize;self.place.getMarkersWithin(self.overlayset,function(markers){self.markers=markers;self.currentPage=pageNum;self.displayTable();self.createPageLinks()})})}},createPageLinks:function(){var currentPage=this.currentPage+1;var totalPages=this.pages;var pageNums=[];if(currentPage-1>1)pageNums.push(currentPage-1);if(currentPage>1)pageNums.push(currentPage);if(currentPage+1<totalPages)pageNums.push(currentPage+1);if(this.totalPages>20){var br=Math.ceil(totalPages/6);for(var i=1;i<6;i++){var num=br*i;if(num>currentPage+br/2)pageNums.push(num);else if(num<currentPage-br/2)pageNums.push(num)}}pageNums=pageNums.sort(function(a,b){return a-b});pageNums.unshift(1);if(pageNums[pageNums.length-1]!=totalPages)pageNums.push(totalPages);var pageLinks="";for(var i=0;i<pageNums.length;i++){if(pageNums[i]==currentPage){pageLinks+="<div class='pageLink'><a class='selectedPage'>"+pageNums[i]+"</a></div>"}else{pageLinks+="<div class='pageLink'><a href='#' onclick='P.instances.rPins.changePage("+(pageNums[i]-1)+"); return false;'>"+pageNums[i]+"</a></div>"}if(i!=pageNums.length-1&&(pageNums[i]>currentPage||pageNums[i]<currentPage-1)){pageLinks+="<div class='ellipsis'>...</div>"}}this.elm.find("#pageNums").html(pageLinks)},show:function(callback){cHeader=this.placeName;selectColumn();this.pagePopUp.changeContent(this.elm,callback,this);var self=this;var saveButton=$("<div />");if(this.buttonsEnabled[0]===true){saveButton.addClass("button save");saveButton.attr({alt:"Save",title:"Save"});saveButton.click(function(){genericAlertDialog({template:"csv",action:"save"})})}else{saveButton.addClass("button save-disabled")}if(PEnvironment.pageName=="widget"){saveButton.hide()}$("#popupButtons").append(saveButton);var downloadButton=$("<div />");if(this.buttonsEnabled[1]===true){downloadButton.addClass("button download");downloadButton.attr({alt:"Download",title:"Download"});downloadButton.click(function(){self.downloadCSV()})}else{downloadButton.addClass("button download-disabled")}$("#popupButtons").append(downloadButton)},disableDownloadAndPrint:function(id,placeTypeId,placeId){var arr=[86500,129600,130350];for(var i=0;i<arr.length;i++){if(id==arr[i]&&placeTypeId&&(placeTypeId==P_PLACETYPE_BLOCKGROUP_ID||isCensusTractTypeId(placeTypeId))){return false}else if(arr[i]==id&&(placeTypeId==95||placeTypeId==0)){var bounds=null;if(placeTypeId==0){for(var j=0;j<custom_places.length;j++){if(custom_places[j].id==placeId){bounds=custom_places[j].getBounds();break}}}else{bounds=ppolygon.getBounds()}if(bounds!=null){if(map.setCenterBoundsAndGetZoomLevelByViewPort(bounds,1e3,600)>=11){return false}else{return true}}else{return false}}else if(arr[i]==id){return true}}return false}};ReportPlaces=function(options){if(options&&options.elm){this.elm=options.elm}else{this.elm=$("#reportPlaces")}this.smallTitle=this.elm.find(".smallTitle");this.bigTitle=this.elm.find(".bigTitle");this.rows;this.eventTypes={};this.eventTypes.beforedisplay="beforedisplay";this.eventTypes.afterdisplay="afterdisplay";this.eventManager=new _eventManager;for(var ev in this.eventTypes){this.eventManager.registerEventID(ev)}this.pageSize=50;this.pages=1;this.showAllInOnePage=false;this.orderByValue=false;if(options){if(options.showAllInOnePage)this.showAllInOnePage=options.showAllInOnePage;if(options.orderByValue)this.orderByValue=options.orderByValue}if(options&&options.pagePopUp){this.pagePopUp=options.pagePopUp}else{this.pagePopUp=P.instances.pagePopUp}this.hideOnLoad=false;if(options&&options.hideOnLoad){this.hideOnLoad=options.hideOnLoad}this.pinCount=0};ReportPlaces.prototype={load:function(placeType,placeId,indId,placeTypeId,period,placeName,overlap,placeCount){var self=this;PIndicatorLoader.load([indId],function(inds){self.loadAfterLoadingIndicator(placeType,placeId,indId,placeTypeId,period,placeName,overlap,placeCount,inds[0])})},loadAfterLoadingIndicator:function(placeType,placeId,indId,placeTypeId,period,placeName,overlap,placeCount,indObj,boundaryObj){this.pagePopUp.show();var self=this;this.placeType=placeType;this.placeId=placeId;this.indId=indId;this.placeTypeId=placeTypeId;this.period=period;this.placeName=placeName;this.indName="";this.indObj=indObj;if(this.placeType.toLowerCase()=="gbp"){this.bid=session.get("bid");this.pname=session.get("pname");this.plat=session.get("plat");this.plng=session.get("plng")}this.matrixId=indObj.matrixIds[indObj.getPeriodIndex(period)];this.overlap=null;this.placeTouch=false;if(overlap=="touch"){this.placeTouch=true}else{this.overlap=overlap}this.placeCount=placeCount;if(this.showAllInOnePage){this.pages=1;this.pageSize=placeCount}else{this.pages=Math.ceil(this.placeCount/this.pageSize)}this.currentPage=0;this.elm.find(".pageNav").hide();var f=function(place,context){var self=self||context;var placewithin=new PPlace;placewithin.typeid=self.placeTypeId;self.pPlaceType=placewithin.getTypeById();if(self.placeCount==null){var selfLoad=function(count){self.load(self.placeType,self.placeId,self.indId,self.placeTypeId,self.period,self.placeName,self.overlap,count)};if(self.placeTouch){place.getPlacesIntersectingCount(self.pPlaceType,self.matrixId,null,selfLoad,self.overlap,null,this)}else{place.getPlacesWithinCount(self.pPlaceType,self.matrixId,null,selfLoad,self.overlap,null,this)}return}self.place=place;var period=self.period;self.indObj.setPeriod(period);self.indName=self.indObj.getFullLabel();self.smallTitle.text("Values per "+self.pPlaceType.getName()+":");self.bigTitle.text(self.placeName);var dataLoad=function(data){self.rows=new Array;if(self.orderByValue){var order=function(a,b){if(a["pcube"][self.period][a["id"]][self.indId]<b["pcube"][self.period][b["id"]][self.indId])return 1;if(a["pcube"][self.period][a["id"]][self.indId]>b["pcube"][self.period][b["id"]][self.indId])return-1;return 0};data.sort(order)}for(var i=0;i<data.length;i++){var label=data[i]["label"];if(self.placeTypeId==PPlaceType.CENSUSTRACT.getId()||self.placeTypeId==PPlaceType.BLOCKGROUP.getId()){label+=", "+data[i]["state"]}self.rows[i]=new Array(label,data[i]["pcube"][self.period][data[i]["id"]][self.indId])}self.show();if(self.placeCount>self.pageSize){self.elm.find(".pageNav").show();self.createPageLinks()}self.displayTable()};if(self.placeTouch){self.place.getPlacesIntersectingPage(self.pPlaceType,self.matrixId,null,dataLoad,self.pageSize,PPlaceOrder.LABEL,null,null,0,"&attr=id,label,state,pcube(("+self.indId+"),("+self.period+"))")}else{self.place.getPlacesWithinPage(self.pPlaceType,self.matrixId,null,dataLoad,self.overlap,self.pageSize,PPlaceOrder.LABEL,null,null,0,"&attr=id,label,state,pcube(("+self.indId+"),("+self.period+"))")}};if(this.placeType.toLowerCase()=="gb"){f(new PPlace(this.placeId),this)}else if(this.placeType.toLowerCase()=="gbc"){if(boundaryObj){f(boundaryObj,self)}else{polycreator.load(this.placeId,function(places){f(places[0],self)})}}else if(this.placeType.toLowerCase()=="gbp"){if(boundaryObj){f(boundaryObj,self)}else{polycreator.polyload(this.bid,this.pname,this.plat,this.plng,function(places){f(places[0],self)})}}},displayTable:function(){if(this.rows.length>0){var html="<table id='placeTable' class='chartTable' cellpadding='1' cellspacing='1' width='100%' >\n";var dataCol=1;html+="<thead><tr><th scope='col'>"+this.pPlaceType.getName()+"</th><th scope='col'>"+this.indName+"</th></tr></thead>\n";html+="<tbody>\n";for(var i=0;i<this.rows.length;i++){if(isNumeric(this.rows[i][dataCol])){this.rows[i][dataCol]=PWebUtil.formatNumber(this.rows[i][dataCol],this.indObj.unit)}else if(this.rows[i][dataCol]==null){this.rows[i][dataCol]="N/A"}html+="<tr><td scope='row'>"+this.rows[i][0]+"</td><td>"+this.rows[i][1]+"</td></tr>\n"}html+="</tbody></table>\n";var tableContainer=this.elm.find(".scrollTableContainer");tableContainer.html(html)}else{this.elm.find(".scrollTableContainer").html("No regions available.")}this.pagePopUp.loader.hide();this.eventManager.triggerEvent("afterdisplay")},changePage:function(pageNum){var self=this;if(pageNum==null){pageNum=this.pages-1}if(pageNum<this.pages&&pageNum>=0){this.pagePopUp.emptyScrollContainer(function(){self.pagePopUp.loader.show();self.currentPage=pageNum;self.createPageLinks();self.place.getPlacesWithinPage(self.pPlaceType,self.matrixId,null,function(data){self.rows=new Array;for(var i=0;i<data.length;i++){var label=data[i]["label"];if(self.placeTypeId==PPlaceType.CENSUSTRACT.getId()||self.placeTypeId==PPlaceType.BLOCKGROUP.getId()){label+=", "+data[i]["state"]}self.rows[i]=new Array(label,data[i]["pcube"][self.period][data[i]["id"]][self.indId])}self.displayTable();self.currentPage=pageNum;self.createPageLinks()},self.overlap,self.pageSize,PPlaceOrder.LABEL,null,null,pageNum*self.pageSize,"&attr=id,label,state,pcube(("+self.indId+"),("+self.period+"))")})}},createPageLinks:function(){var currentPage=this.currentPage+1;var totalPages=this.pages;var pageNums=[];if(currentPage-1>1)pageNums.push(currentPage-1);if(currentPage>1)pageNums.push(currentPage);if(currentPage+1<totalPages)pageNums.push(currentPage+1);if(this.totalPages>20){var br=Math.ceil(totalPages/6);for(var i=1;i<6;i++){var num=br*i;if(num>currentPage+br/2)pageNums.push(num);else if(num<currentPage-br/2)pageNums.push(num)}}pageNums=pageNums.sort(function(a,b){return a-b});pageNums.unshift(1);if(pageNums[pageNums.length-1]!=totalPages)pageNums.push(totalPages);var pageLinks="";for(var i=0;i<pageNums.length;i++){if(pageNums[i]==currentPage){pageLinks+="<div class='pageLink'><a class='selectedPage'>"+pageNums[i]+"</a></div>"}else{pageLinks+="<div class='pageLink'><a href='#' onclick='P.instances.rPlaces.changePage("+(pageNums[i]-1)+"); return false;'>"+pageNums[i]+"</a></div>"}if(i!=pageNums.length-1&&(pageNums[i]>currentPage||pageNums[i]<currentPage-1)){pageLinks+="<div class='ellipsis'>...</div>"}}this.elm.find("#pageNums").html(pageLinks)},downloadCSV:function(){if(this.indObj.allowDL){if(this.placeTouch){this.place.getPlacesIntersectingCSV(this.pPlaceType,self.matrixId,null,PPlaceOrder.LABEL,null,"&ind="+this.indId+"&per="+this.period)}else{this.place.getPlacesWithinCSV(this.pPlaceType,self.matrixId,null,this.overlap,PPlaceOrder.LABEL,null,"&ind="+this.indId+"&per="+this.period)}}else{alerter.popup("This dataset is not available for download.","OK")}},show:function(){cHeader=this.placeName;selectColumn();this.eventManager.triggerEvent("beforedisplay");this.pagePopUp.changeContent(this.elm,this.showDone,this);var self=this;var saveButton=$("<div />");saveButton.addClass("button save");saveButton.attr({alt:"Save",title:"Save"});saveButton.click(function(){genericAlertDialog({template:"csv",action:"save"})});if(PEnvironment.pageName!="widget"){$("#popupButtons").append(saveButton)}var downloadButton=$("<div />");if(self.indObj.allowDL){downloadButton.addClass("button download");downloadButton.attr({alt:"Download",title:"Download"});downloadButton.click(function(){self.downloadCSV()})}else{downloadButton.addClass("button download-disabled")}$("#popupButtons").append(downloadButton)},showDone:function(){if(this.hideOnLoad){this.pagePopUp.elm.hide();this.hideOnLoad=false}this.eventManager.triggerEvent("afterdisplay")},addListener:function(eventId,func){this.eventManager.registerForEvent(eventId,[],func)},removeListener:function(eventId,func){this.eventManager.deregisterForEvent(eventId,[],func)}};ReportRanks=function(options){if(options&&options.elm){this.elm=options.elm}else{this.elm=$("#reportRanks")}this.smallTitle=this.elm.find(".smallTitle");this.bigTitle=this.elm.find(".bigTitle");this.eventTypes={};this.eventTypes.beforedisplay="beforedisplay";this.eventTypes.afterdisplay="afterdisplay";this.eventManager=new _eventManager;for(var ev in this.eventTypes){this.eventManager.registerEventID(ev)}this.pageLength=21;this.position=null;if(options&&options.pagePopUp){this.pagePopUp=options.pagePopUp}else{this.pagePopUp=P.instances.pagePopUp}this.ranksLoaded};ReportRanks.prototype={load:function(place_,ind_,period_,rankValue_){this.ranksLoaded=0;if(rankValue_.rank==null){if(PEnvironment.pageName=="widget"){var placetype=place_.getType();$("#noDataAvailable").html("Data for "+placetype.getPluralName()+" is not available for this indicator. Please search for another geography.");$("#noDataAvailable").show()}this.pagePopUp.hide()}else if(this.place==place_&&this.ind==ind_&&this.period==period_){this.pagePopUp.show();this.showCount(true)}else{if(PEnvironment.pageName=="widget"){$("#noDataAvailable").hide()}this.rankValue=rankValue_;this.ind=ind_;this.place=place_;this.period=period_;var self=this;this.totalPages=Math.ceil(rankValue_.totalBoundaries/this.pageLength);this.currentPage=Math.ceil(rankValue_.position/rankValue_.totalBoundaries*this.totalPages);this.pageOffset=-10+(rankValue_.position<21?11-rankValue_.position:0);this.pagePopUp.show();var defYear=boundaryMatrix.getDisplayYearForDefinitionId(place_.getDefinitionId());defYear=defYear!=null?", "+defYear:"";this.smallTitle.text("Ranking of "+place_.getType().getPluralName()+defYear);this.bigTitle.text(ind_.getFullDisplayName());this.createPageLinks();var position=-rankValue_.position+1;var top10=new PRankingCube([ind_],[place_],[period_]);top10.setOptions(new PRankingCubeOptions({loadValues:true,loadRanks:true,listOptions:[position,10]}));top10.loadValues(function(v){if(v&&v[self.period]){v=v[self.period];var table=self.elm.find("#top10");self.fillTable.call(self,table,v,1,10)}self.showCount()});if(rankValue_.totalRanked>0)position=rankValue_.totalRanked-rankValue_.position-9;else position=rankValue_.totalBoundaries-rankValue_.position-9;var bot10=new PRankingCube([ind_],[place_],[period_]);bot10.setOptions(new PRankingCubeOptions({loadValues:true,loadRanks:true,listOptions:[position,10]}));bot10.loadValues(function(v){if(v&&v[self.period]){var start;var end;if(self.rankValue.totalRanked>0){start=self.rankValue.totalRanked-9;end=self.rankValue.totalRanked}else{start=self.rankValue.totalBoundaries-9;end=self.rankValue.totalBoundaries}v=v[self.period];var table=self.elm.find("#bot10");self.fillTable.call(self,table,v,start,end)}self.showCount()});var rankingCube=new PRankingCube([ind_],[place_],[period_]);rankingCube.setOptions(new PRankingCubeOptions({loadValues:true,loadRanks:true,listOptions:[this.pageOffset,this.pageLength]}));rankingCube.loadValues(function(v){if(v&&v[self.period]){v=v[self.period];var table=self.elm.find("#ranking_page table");var startPos=v[self.place.id][self.ind.id].position+self.pageOffset;var endPos=startPos+self.pageLength;self.fillTable.call(self,table,v,startPos,endPos,true)}self.showCount()})}},changePage:function(page){if(page>this.totalPages)page=this.totalPages;if(page<1)page=1;if(page!=this.currentPage){this.currentPage=page;this.createPageLinks();this.elm.find("#ranking_page table").empty();this.pagePopUp.loader.show();var firstPos=-this.rankValue.position+1;var newPagePos=firstPos+(page-1)*this.pageLength;if(newPagePos<firstPos)newPagePos=firstPos;var self=this;var rankingCube=new PRankingCube([this.ind],[this.place],[this.period]);rankingCube.setOptions(new PRankingCubeOptions({loadValues:true,loadRanks:true,listOptions:[newPagePos,this.pageLength]}));rankingCube.loadValues(function(v){this.v=v;if(v&&v[self.period]){v=v[self.period];var table=self.elm.find("#ranking_page table");self.pagePopUp.loader.hide();self.fillTable.call(self,table,v,self.rankValue.position+newPagePos,self.rankValue.position+newPagePos+self.pageLength)}else{}})}},createPageLinks:function(){var currentPage=this.currentPage;var totalPages=this.totalPages;var pageNums=[];if(currentPage-1>1)pageNums.push(currentPage-1);if(currentPage>1)pageNums.push(currentPage);if(currentPage+1<totalPages)pageNums.push(currentPage+1);if(this.totalPages>20){var br=Math.ceil(totalPages/6);for(var i=1;i<6;i++){var num=br*i;if(num>currentPage+br/2)pageNums.push(num);else if(num<currentPage-br/2)pageNums.push(num)}}pageNums=pageNums.sort(function(a,b){return a-b});pageNums.unshift(1);if(pageNums[pageNums.length-1]!=totalPages)pageNums.push(totalPages);var pageLinks="";for(var i=0;i<pageNums.length;i++){if(pageNums[i]==currentPage){pageLinks+="<div class='pageLink'><a class='selectedPage'>"+pageNums[i]+"</a></div>"}else{pageLinks+="<div class='pageLink'><a href='#' onclick='P.instances.rRanks.changePage("+pageNums[i]+"); return false;'>"+pageNums[i]+"</a></div>"}if(i!=pageNums.length-1&&(pageNums[i]>currentPage||pageNums[i]<currentPage-1)){pageLinks+="<div class='ellipsis'>...</div>"}}this.elm.find("#pageNums").html(pageLinks)},fillTable:function(table,v,startPos,endPos,isAllRanksTable){table.empty();if(isAllRanksTable){var thead=document.createElement("thead");var trhead=document.createElement("tr");var th=document.createElement("th");th.innerHTML="Ranking";trhead.appendChild(th);th=document.createElement("th");th.innerHTML="Name";trhead.appendChild(th);th=document.createElement("th");th.innerHTML="Value";trhead.appendChild(th);
thead.appendChild(trhead);table.append(thead)}var orderRanks=new Object;for(var bid in v){orderRanks[v[bid][this.ind.id].position]=v[bid][this.ind.id]}for(var i=startPos;i<=endPos;i++){if(orderRanks[i]){var tr=document.createElement("tr");if(i==this.rankValue.position){tr.className="selected";if(isAllRanksTable){if(this.rankValue.position>startPos+12){this.scrollElem=tr}else{this.scrollElem=null}}}var td=document.createElement("td");td.className="rank";td.innerHTML+=orderRanks[i].rank==-1?" ":orderRanks[i].rank+".";tr.appendChild(td);td=document.createElement("td");td.className="place";td.innerHTML=orderRanks[i].boundaryName;tr.appendChild(td);td=document.createElement("td");td.className="value";var val=orderRanks[i].value;if(val==null||val==this.ind.nodata)val="N/A";else if(isNumeric(val))val=PWebUtil.formatNumber(parseFloat(val),this.ind.unit);td.innerHTML=val;tr.appendChild(td);table.append(tr)}}},showCount:function(skipToShow){this.ranksLoaded++;if(skipToShow||this.ranksLoaded>=3){this.show()}},show:function(){this.eventManager.triggerEvent("beforedisplay");this.pagePopUp.changeContent(this.elm,this.showDone,this);this.pagePopUp.loader.hide();var printButton=$("<div />");printButton.addClass("button print");printButton.attr({alt:"Print",title:"Print"});printButton.click(function(){genericAlertDialog({template:"ranks",action:"print"});return false});$("#popupButtons").append(printButton)},showDone:function(){this.eventManager.triggerEvent("afterdisplay");if(this.scrollElem){this.elm.find("#ranksContainer").scrollTo($(this.scrollElem))}else{this.elm.find("#ranksContainer").scrollTo(0)}},addListener:function(eventId,func){this.eventManager.registerForEvent(eventId,[],func)},removeListener:function(eventId,func){this.eventManager.deregisterForEvent(eventId,[],func)}};ReportSectionInfo=function(cr,cont,dataset,opts){$.extend(this,cr);this.reportPlace=this.pplace;this.container=cont;this.dataset=dataset;this.types=PPlaceTypeConfig2.AGGREGATION.getAvail(dataset);this.defaultStepIsOn=true;this.defaulttype=null;var info=$("<div />");this.info=info;$(info).addClass("info");$(cont).after(info);if(opts&&opts.hideInfo){info.css("display","none")}this.sourceDiv=$("<div />");$(this.sourceDiv).addClass("source");$(info).append(this.sourceDiv);var aggcont=$("<div />");$(aggcont).addClass("aggOptions");this.aggcont=aggcont;$(info).append(aggcont);var agglist=$("<div />");$(agglist).addClass("agglist");$(info).append(agglist);this.agglist=agglist};ReportSectionInfo.prototype.update=function(hideAggs){this.updateSource();if(!hideAggs){this.updateAggregateInfo();this.updateAggregateList()}};ReportSectionInfo.prototype.updateSource=function(){var inds=this.sourceinds;var txt="";for(var i=0;i<inds.length;i++){txt+=this.sourceinds[i].getSourceList(true);if(inds.length>1&&i<inds.length-1)txt+=", "}$(this.sourceDiv).html("Source: "+txt)};ReportSectionInfo.prototype.updateAggregateInfo=function(){var pplace=this.pplace;var getplaces=this.getplaces;var cont=this.container;var func=this.func;var group=this.groupPlaceTypeAggregates;var dataset=this.dataset;var aggcont=this.aggcont;var dAggs=this.aggCube.definitionAggs;if(!this.defaulttype&&this.pplace.isAssembledCustom()){this.defaulttype=this.getplaces[0].getType();var foundtype=false;for(var i=0;i<this.types.length;i++){if(this.types[i]==this.defaulttype)foundtype=true}if(!foundtype){this.types.push(this.defaulttype)}var arr=[];for(var j=0;j<PPlaceTypeConfig.containmentOrder.length;j++){for(var i=0;i<this.types.length;i++){if(PPlaceTypeConfig.containmentOrder[j]==this.types[i]){arr.push(this.types[i])}}}PPlaceTypeConfig2.AGGREGATION.getAvail(dataset);this.types=arr}else if(group[dataset]&&group[dataset].length>0&&!this.reportPlace.isAssembledCustom())this.defaulttype=group[dataset][0].getType();$(aggcont).html("");if(!getplaces||!getplaces[0]){return}else{var div=$("<div />");var typeid=pplace.getType().id;var defid=pplace.getDefinitionId();var text="";$(div).html("Data aggregated by: "+text);$(aggcont).append(div)}};ReportSectionInfo.prototype.buildDropDown=function(){var span=$("<span />");$(this.aggcont).append(span);$(span).html("Data aggregated by: ");var select=$("<select />");var addDefault=false;var types=this.types;for(var i=0;i<types.length;i++){var currentType=types[i];var opt=$("<option />");if(this.selectedType&&this.selectedType!=this.defaulttype){addDefault=true;if(this.selectedType==currentType)$(opt).attr("selected","true")}else if(this.defaulttype==currentType){$(opt).attr("selected","true");this.selectedType=this.defaulttype}$(opt).attr("value",currentType.id);$(opt).html(currentType.getName());$(select).append(opt)}if(addDefault){var opt=$("<option />");$(opt).addClass("default");$(opt).attr("value",this.defaulttype.id);$(opt).html("Default");$(select).append(opt)}$(this.aggcont).append(select);if(this.selectedType)$(this.aggcont).append("<span class='aggTypeLabel'>"+this.selectedType.getName()+"</span>");var that=this;$(select).change(function(){that.refreshReportSection(this.value)});this.select=select};ReportSectionInfo.prototype.useDefaultStep=function(){return this.defaultStepIsOn};ReportSectionInfo.prototype.refreshReportSection=function(typeid){this.prevSelectedType=this.selectedType;var prevhtml=$(this.container).html();$(this.container).html("<div class='reportloading'>Loading...</div>");var aggtype=null;for(var i=0;i<P_PLACETYPES.length;i++){if(typeid==P_PLACETYPES[i].id)aggtype=P_PLACETYPES[i]}this.selectedType=aggtype;var boundArea=this.boundArea;var defIds=boundaryMatrix.getAllBoundaryDefinitionIdsForTypeId(aggtype.id);var that=this;boundArea.getPlacesWithin(aggtype,null,defIds,function(aggregates){if(aggregates.length==0){alertCustomRegionIsTooSmall(aggtype);$(that.container).html(prevhtml);var options=$(that.select).find("option");for(var i=0;i<options.length;i++){if(that.prevSelectedType.id==$(options[i]).attr("value")){$(options[i]).attr("selected","true");that.selectedType=that.prevSelectedType}}return}that.useAssembledPlaces=false;if(aggtype==that.defaulttype){that.defaultStepIsOn=true;that.ignorePPlace=true;if(that.pplace.isAssembledCustom())that.ignorePPlace=false}else{that.defaultStepIsOn=false;that.ignorePPlace=true}that.aggs=aggregates;that.aPlace=null;that.func(that)},50,null,null,null,"id,identifier,label,typeid,state")};ReportSectionInfo.prototype.createList=function(aggs,per,ind,showsrc){var div=$("<div />");if(aggs.length>0){var names=getAggregatedPlaceNames(aggs);var type=formatAggregatePlaceType(aggs[0].getType().getName())[1];var aggText=aggs.length+" "+type+" "}else{var names="";var aggText="0 Boundaries Found"}var txt="";if(ind&&per){per=ind.getPeriodLabel(per)}if(per){txt=per+" "}txt+="Data ";if(showsrc){txt+="for "+ind.getSourceList()+" "}$(div).html("<span class='agglist--year-src'>"+txt+"Contains:</span> "+aggText);$(this.agglist).append(div);if(aggs.length==0){return}var span=$("<span />");var show=$("<a />");$(span).addClass("toggle");$(span).html("(");$(span).append(show);$(span).append(")");$(show).html("show");$(show).addClass("hide");$(show).click(function(){if($(this).hasClass("hide")){$(this).html("hide")}else{$(this).html("show")}$(this).parent().parent().children(".names").toggleClass("hide");$(this).toggleClass("hide")});$(div).append(span);var namesDiv=$("<div />");namesDiv.html(names);$(namesDiv).addClass("names");$(namesDiv).addClass("hide");$(div).append(namesDiv)};ReportSectionInfo.prototype.updateAggregateList=function(){$(this.agglist).empty();var aggregates=this.getplaces;var periods=this.periods;if(currentReport.reportType=="e"){periods=[this.periods[0]]}var div=$("<div />");if(!aggregates||!aggregates[0]){this.createList([])}else{if(this.aggCube&&this.aggCube.useMultiMatrixAggs()&&periods){for(var i=0;i<this.sourceinds.length;i++){var ind=this.sourceinds[i];if(ind.sourcePeriods){periods=ind.sourcePeriods}var matrixList={};for(var p=0;p<periods.length;p++){var per=periods[p];var aggregates=this.aggCube.getPlacesForIndAndPeriod(ind,per);var showSrc=false;if(this.sourceinds.length>1){showSrc=true}var mId=ind.getMatrixIdForPeriod(per);if(!matrixList[mId]){matrixList[mId]={};matrixList[mId].periods=[];matrixList[mId].aggs=[]}matrixList[mId].periods.push(per);matrixList[mId].aggs=aggregates}for(var mid in matrixList){var periods=matrixList[mid].periods;var aggregates=matrixList[mid].aggs;if(periods.length>1){var perString=periods[0]+" - "+periods[periods.length-1]}else{perString=ind.getPeriodLabel(periods[0])}if(currentReport.reportType=="e"){perString=""}this.createList(aggregates,perString,ind,showSrc)}}}else{if(this.sourceinds){var ind=this.sourceinds[0]}this.createList(aggregates,per,ind)}}var aggContText=$.trim(this.aggcont.text());var aggContTextLen=aggContText.length;if(this.agglist.text().length==0&&aggContTextLen>0&&aggContText.substring(aggContTextLen-1)==":"){var innerDiv=this.aggcont.find("div");if(innerDiv.length>0){innerDiv.append(" N/A")}}};ReportSectionInfo.prototype.isRangeValueNeeded=function(ind,per){if(ind&&per&&this.aggCube){var pls=this.aggCube.getPlacesForIndAndPeriod(ind,per)}if(this.ignorePPlace||this.pplace.isAssembledCustom()||this.pplace.isCustomOrPoly()||pls&&pls.length>1)return true;else return false};ReportSectionInfo.prototype.hideAggDropDownOption=function(){this.aggcont.hide();this.agglist.hide()};ReportSectionInfo.prototype.setIgnorePPlace=function(places,pplace){if(places.length>1&&(pplace&&!pplace.isAssembledCustom())){this.ignorePPlace=true}};ReportSectionInfo.prototype.isDefIdUsed=function(defids,id){for(var i=0;i<defids.length;i++){if(id==defids[i]){return true}}return false};var reportsInitialLoad=true;var resetReportPage;var updateTrialGenerations;function reportsPageLoader(){var urlParams=getUrlParams();reportObject.hasLocation={};reportObject.place={};reportObject.currentPage=1;reportObject.radius=urlParams["radius"]||.5;reportObject.locationText={};reportObject.locationText.predefined=null;reportObject.locationText.custom=null;reportObject.locationText.radius=null;reportObject.locationText.polygon=null;reportObject.locationText.phila=null;reportObject.hasLocation.predefined=false;reportObject.hasLocation.custom=false;reportObject.hasLocation.radius=false;reportObject.hasLocation.polygon=false;reportObject.hasLocation.phila=false;printTemplate="PolicyMapMapPage";var $window=$(window);var $mainContainer=$(".report_content");var $mapContainer=$("#map");var $content_footer=$(".content__footer");var $report_location_type_header=$(".report_location_type_header");var $report_header=$(".report_header");var $report_step_selected_parent=$(".report_step_selected_parent");var $report_step_selected_step_1=$(".report_step_selected_step_1");var $report_step_selected_step_2=$(".report_step_selected_step_2");var $report_step_selected_step_3=$(".report_step_selected_step_3");var $report_step_selected_child_step_2=$(".report_step_selected_child_step_2");var $report_step_selected_child_step_3=$(".report_step_selected_child_step_3");var $report_holder=$(".report_holder");var $report_footer=$(".report_footer");var $report_action_header=$(".report_action_header");var $report_choose=$("#report_choose");var $report_preview=$("#report_preview");var $report_generate=$("#report_generate");var $report_location_selection_item=$(".report_location_selection_item");var $report_location_footer=$(".report_location_footer");var $report_location_selection_holder=$(".report_location_selection_holder");var $working_spinner=$("#working_spinner");var $navbar=$("#navbar");var $report_generate_content=$(".report_generate");var $report_toolbar=$(".report_toolbar");var $map_options=$(".map-options");var $zoomIn=$("#zoomIn");var $predefined=$("#predefined");var $radius=$("#radius");var $polygon=$("#polygon");var $custom=$("#custom");var $report_preview_button=$(".report_preview_button");var $report_back_button=$(".report_back_button");var $report_generate_button=$(".report_generate_button");var $report_button_hover_text=$(".report_button_hover_text");var $report_location_container=$(".report_location_container");var $report_spacer=$(".report_spacer");var $report_type_holder_header=$(".report_type_holder_header");var isPolygon=false;var isPradius=false;var mapInitialized=false;var $report_type_container;var $report_radius;var $report_radius_input;var $zoomControl;var $report_type_container__report_type_image__img;var $report_type_container__report_type_header;var $search_form__query;var trfSearch;var reportTypes={};var reportLocationTypeNames={predefined:"Pre-Defined Location",custom:"Custom Region",radius:"Radius",polygon:"Polygon",phila:"Philadelphia"};var options={placeholderLocation:productProperty.exists("search_location_placeholder")?productProperty.getValue("search_location_placeholder"):"Enter City, County, State, or Zip",formWidth:650,noStartOver:true,noSetLocationIcon:true,responseEvent:reportLocationBarHandler};var fixContainer=function(){if(reportObject.currentPage!=3){$mainContainer.css("height",$window.height()-$mainContainer.offset().top-$content_footer.height())}};var polygonLoader=function(callback){polycreator.polyload(urlParams["bid"],urlParams["pname"],urlParams["plat"],urlParams["plng"],function(places){var place=places[0];if(place!=null){reportObject.place["polygon"]=place;if(isPradius===true){var radius=getPolygonRadius(place);reportObject.radius=radius.size;$report_radius_input.val(reportObject.radius);$report_radius_input.change()}if(callback!=null){callback()}}else{alerter.popup("The polygon '<b>"+urlParams["pname"]+"</b>' was not found.")}})};var clearMap=function(){if(mapInitialized===true){clearLocation();P.instances.map.clearOverlays();P.instances.map.clearOverlaySets();P.instances.map.closeInfoWindow();P.instances.map.setCenter(new PLatLng(getDefaultMapLat(),getDefaultMapLng()),getDefaultMapZoom())}};var locationCheck=function(){if(reportObject.hasLocation[reportObject.locationType]===true){return true}else{if(reportObject.locationType=="predefined"){if($.trim($search_form__query.val())!=""){$(".search-form button").click();return false}}else if(reportObject.locationType=="radius"){if($.trim($search_form__query.val())!=""&&$.trim($report_radius_input.val())!=""){$(".search-form button").click();return false}}alerter.popup("Please select a location.","OK",null,null,function(){var setFocus=function(){if($search_form__query.is(":visible")){$search_form__query.focus()}};setTimeout(setFocus,200)});return false}};var pageOneState=function(){window.history.replaceState({},document.title,"/reports");$report_location_type_header.removeClass("is-hidden");$mapContainer.addClass("is-hidden");$mainContainer.css("min-height","896px");$report_header.after($mapContainer);$report_step_selected_parent.addClass("is-hidden");$report_step_selected_step_1.removeClass("is-hidden");$report_holder.show();$report_footer.removeClass("is-hidden");$report_action_header.removeClass("report_step_active simulink");$report_location_selection_item.addClass("is-hidden");$report_location_footer.append($report_location_selection_holder);$navbar.append($working_spinner);$report_generate_content.addClass("is-hidden");$report_generate_content.empty();$report_toolbar.addClass("is-hidden");$map_options.addClass("is-hidden");$working_spinner.addClass("is-hidden");$report_choose.off();$report_choose.addClass("report_step_active");$report_preview.off();$report_preview.click(reportPreviewClick);$report_generate.off();$report_generate.click(function(){reportGenerateConfirm()});PEnvironment.pageName="reports";reportObject.currentPage=1;if(mapInitialized===true){P.instances.map.enableDragging();$zoomControl.removeClass("is-hidden")}fixContainer()};var pageTwoState=function(){window.history.replaceState({},document.title,"/reports");$report_location_type_header.removeClass("is-hidden");$report_location_selection_item.addClass("is-hidden");$zoomIn.removeClass("is-hidden");$mapContainer.removeClass("is-hidden");$mapContainer.css("min-height","512px");$report_header.after($mapContainer);$report_action_header.removeClass("report_step_active");$report_preview.addClass("report_step_active");$report_holder.hide();$report_footer.addClass("is-hidden");$report_step_selected_parent.addClass("is-hidden");$report_step_selected_step_2.removeClass("is-hidden");$report_location_type_header.append($report_location_selection_holder);$report_generate_content.addClass("is-hidden");$report_generate_content.empty();$report_toolbar.addClass("is-hidden");$map_options.removeClass("is-hidden");$report_header.append($working_spinner);$mainContainer.css("min-height","732px");$working_spinner.addClass("is-hidden");$report_choose.off();$report_choose.click(reportTypeAndLocation);$report_preview.off();$report_preview.addClass("report_step_active");$report_generate.off();$report_generate.click(function(){reportGenerateConfirm()});PEnvironment.pageName="reports";reportObject.currentPage=2;$(".report_location_selection_"+reportObject.locationType).removeClass("is-hidden");$report_step_selected_child_step_2.html("Preview Report Area:"+'<img class="report_preview_image" src="/images/reports/'+reportObject.code+'-preview.png"/><span class="step_text_bolder">'+reportTypes[reportObject.code]+" by </span>"+'<img class="report_preview_image" src="/images/reports/'+reportObject.locationType+'-preview.png"/><span class="step_text_bolder">'+reportLocationTypeNames[reportObject.locationType]+"</span>");fixContainer();if(mapInitialized===true){P.instances.map.enableDragging()}};var pageThreeState=function(){$report_location_type_header.addClass("is-hidden");$mapContainer.removeClass("is-hidden");$report_holder.hide();$report_footer.addClass("is-hidden");$report_action_header.removeClass("report_step_active");$report_generate.addClass("report_step_active");$report_toolbar.removeClass("is-hidden");$report_generate_content.removeClass("is-hidden");$report_step_selected_parent.addClass("is-hidden");$report_step_selected_step_3.removeClass("is-hidden");$map_options.addClass("is-hidden");$navbar.append($working_spinner);$mainContainer.css("min-height","105px");$working_spinner.addClass("is-hidden");$report_choose.off();$report_choose.click(reportTypeAndLocation);$report_preview.off();$report_preview.click(reportPreviewClick);$report_generate.off();$report_generate.addClass("report_step_active");reportObject.currentPage=3;PEnvironment.pageName="report_generate";if(reportObject!=null&&reportObject.code!=null){$report_step_selected_child_step_3.html('Generated Report: <span class="reportname step_text_bolder"></span>')}$mainContainer.css("height",$report_header.outerHeight());if(mapInitialized===true){$zoomControl.addClass("is-hidden")}};var reportTypeContainerClick=function(){var $self=$(this);var permCode=$self.attr("permcode");if(reportAvailability(permCode)!==true){return}$report_type_container.removeClass("report_type_selected");$self.addClass("report_type_selected");$report_type_container__report_type_image__img.each(function(k,v){$(this).attr("src","/images/reports/"+$(this).attr("code")+".png")});$self.find(".report_type_image img").attr("src","/images/reports/"+$(this).attr("code")+"-selected.png");$("span.reportdescription").hide();$self.find("span.reportdescription").show();$report_type_container__report_type_header.each(function(k,v){$(this).removeClass("report_type_header_selected")});$self.find(".report_type_header").addClass("report_type_header_selected");reportObject.permcode=permCode;reportObject.code=$self.attr("code");philadelphiaFix()};var reportLocationContainerClick=function(){var $self=$(this);var id=$self.attr("id");var reportRadiusHide=true;if(id=="polygon"){if(isPradius===true||isPolygon===true){$(".report_location_selection_polygon").html('<span class="report_location_selection_text report_location_selection_intro">Selected Polygon:</span>'+'<span class="report_location_selection_text report_location_selection_name">'+urlParams["pname"]+"</span>")}else{alerter.popup("Polygons must be selected from the map to access their available reports.<br/><br/>Load a polygon dataset on the "+'<a href="/maps">maps page</a> and click the info icon <img src="/images/pins/polygon_orange.png">  to access.',"OK");return}}reportObject.locationType=id;$report_location_container.removeClass("report_location_selected");$self.addClass("report_location_selected");$(".report_location_container .report_location_image img").each(function(k,v){$(this).attr("src",$(this).attr("orig"))});$(this).find(".report_location_image img").attr("src","/images/reports/"+id+"-selected.png");$(".report_location_container .report_location_selection").each(function(k,v){$(this).removeClass("report_location_selection_selected")});$(this).find(".report_location_selection").addClass("report_location_selection_selected");$(".search-form-holder").show();$("div.search-form__type").removeClass("is-hidden");if(reportObject.locationType==="predefined"){$(".report_location_selection_predefined").append($(".search-form-holder"))}else if(reportObject.locationType==="radius"){$(".report_location_selection_radius_search_holder").append($(".search-form-holder"));trfSearch.reset();reportRadiusHide=false;$("div.search-form__type").addClass("is-hidden")}else if(reportObject.locationType==="custom"){$(".report_location_selection_custom_search_holder").after($(".search-form-holder"));$(".search-form-holder").hide()}else if(reportObject.locationType==="polygon"){}$report_location_selection_item.addClass("is-hidden");$(".report_location_selection_"+reportObject.locationType).removeClass("is-hidden");if(P.instances.search==null){$(window).one(P.events.SEARCH_BOX_INIT,function(){$(window).resize()})}if($report_radius!=null){if(reportRadiusHide==true){$report_radius.addClass("is-hidden")}else{$report_radius.removeClass("is-hidden")}}if($search_form__query!=null){if(reportObject.locationType!=null&&reportObject.locationText[reportObject.locationType]!=null){$search_form__query.val(reportObject.locationText[reportObject.locationType])}else{$search_form__query.val("")}$search_form__query.focus()}};var reportPreviewClick=function(){if(P.WKPrint.isPrintPage()===false){if(reportAvailability(reportObject.permcode)===false||locationCheck()===false){return}}if(reportObject.locationType=="radius"&&reportObject.radius&&reportObject.radius>10){alerter.popup("Please specify a valid radius (a number between 0 and 10 miles).","OK");return}pageTwoState();initializeMap();resizeMapContainer();clearMap();if(reportObject.locationType=="predefined"){var id=null;if(reportObject.placeId!=null){id=reportObject.placeId}else if(reportObject.place["predefined"]!=null&&reportObject.place["predefined"].id!=null){id=reportObject.place["predefined"].id}else{errorPopup()}selectPlace(id,true)}else if(reportObject.locationType=="radius"){if(reportObject.radius&&reportObject.radius>=10){alerter.popup("Please specify a valid radius (between 0 and 10 miles).","OK");return}if(isPradius===true){map.addOverlay(new PMarker(reportObject.place["radius"].centroid));addPolylines(P.instances.map,reportObject.place["radius"].getVertices());reportObject.radiusPoly=drawRadius(reportObject.radius,reportObject.place["radius"].centroid);P.instances.map.setCenterBounds(reportObject.radiusPoly.getBounds())}else{var latLng=new PLatLng(parseFloat(reportObject.address.y),parseFloat(reportObject.address.x));map.addOverlay(new PMarker(latLng));var poly=drawRadius(reportObject.radius,latLng);P.instances.map.setCenterBounds(poly.getBounds())}}else if(reportObject.locationType=="custom"){polyCreator.setUpPlaceAndPolylines(reportObject.place["custom"],map);map.setCenterBounds(reportObject.place["custom"].getBounds())}else if(reportObject.locationType=="polygon"){addPolylines(P.instances.map,reportObject.place["polygon"].getVertices());P.instances.map.setCenterBounds(reportObject.place["polygon"].getBounds())}};var addPlaceToReportSearchBox=function(){if(reportObject.locationType!=null&&reportObject.place[reportObject.locationType]==null){return}if(reportObject.locationType==""||reportObject.locationType==null||typeof reportObject.locationType=="undefined"){return}if($search_form__query==null){return}if(reportObject.locationText[reportObject.locationType]!=null){$search_form__query.val(reportObject.locationText[reportObject.locationType]);return}var place=reportObject.place[reportObject.locationType];var ptype=place.getType();if(ptype==PPlaceType.CENSUSTRACT){label=place.identifier;$(".search-form__type").val(place.typeid).trigger("chosen:updated").trigger("change")}else if(ptype==PPlaceType.BLOCKGROUP){label=place.identifier;$(".search-form__type").val(place.typeid).trigger("chosen:updated").trigger("change")}else if(ptype==PPlaceType.CONGRESSIONAL){label=place.label;$(".search-form__type").val(place.typeid).trigger("chosen:updated").trigger("change");var $s=$(".search-form__double-dropdown-first");$s.val($s.find("[title="+place.state+"]").val()).trigger("chosen:updated").trigger("change");trfSearch.addListener("dd_initialized",function(places){$(".search-form__congressional-district").val(place.id).trigger("chosen:updated").trigger("change")})}else if(ptype==PPlaceType.SCHOOL){label=place.label;$(".search-form__type").val(place.typeid).trigger("chosen:updated").trigger("change");var $s=$(".search-form__double-dropdown-first");$s.val($s.find("[title="+place.state+"]").val()).trigger("chosen:updated").trigger("change")}else if(ptype==PPlaceType.SLD_UPPER||ptype==PPlaceType.SLD_LOWER){label=place.label;$(".search-form__type").val(place.typeid).trigger("chosen:updated").trigger("change")}else if(ptype==PPlaceType.CBSA){label=place.label;$(".search-form__type").val(place.typeid).trigger("chosen:updated").trigger("change");trfSearch.addListener("dd_initialized",function(places){$(".search-form__cbsa").val(place.id).trigger("chosen:updated").trigger("change")})}else{label=place.label;if(ptype==PPlaceType.COUNTY_SUBDIVISION){label+=" County Subdivision"}if(place.getState()!="null"){label+=", "+place.getState()}}$search_form__query.val(label);reportObject.locationText[reportObject.locationType]=label};var populateReportPage=function(reports){$(".report_type_container").remove();for(var i=reports.length-1;i>=0;i--){var report=reports[i];var reportContainerClass="report_type_container";if(!report.enabled){reportContainerClass+=" disabled"}if(report.description==null){report.description=""}var reportHTML='<div id="report_type_'+i+'" code="'+report.code+'" permcode="'+report.permcode+'" class="'+reportContainerClass+'">'+'<div class="report_type report_type_dashed">'+"<div>"+'<div class="report_type_image report_inline_block"><img code="'+report.code+'" src="/images/reports/'+report.code+'.png"></div>'+'<div class="report_type_header report_inline_block">'+report.name+"</div>"+"</div>"+'<div class="report_type_copy_holder report_inline_block">'+'<div class="report_type_image report_inline_block">&nbsp;</div>'+'<div style="clear: both;"></div>'+'<div class="report_type_copy"><span class="reportdescription" style="display: none;">'+report.description+"</span></div>"+"</div>"+"</div>"+"</div>";var reportDiv=$(reportHTML);$report_type_holder_header.after(reportDiv)}$report_type_container=$(".report_type_container");$report_type_container__report_type_image__img=$(".report_type_container .report_type_image img");$report_type_container__report_type_header=$(".report_type_container .report_type_header");pageOneState();$report_type_container.click(reportTypeContainerClick);$report_location_container.click(reportLocationContainerClick);$report_spacer.height($(".report_type_holder").height());$report_location_container.height($predefined.height());if(urlParams["area"]!=null||urlParams["pid"]!=null){if(urlParams["area"]==null){urlParams["area"]=reportObject.locationType="predefined"}else{reportObject.locationType=urlParams["area"]}if(urlParams["type"]==null){reportObject.code="b"}else{reportObject.code=urlParams["type"]}reportObject.hasLocation[reportObject.locationType]=true;var commonCallback=function(){var innerCallback=function(){if(urlParams["lqid"]!=null||P.WKPrint.isPrintPage()===true){reportPreviewClick();reportGenerateConfirm()}else{if(reportObject.defaultLocationType!=null){reportObject.defaultLocationType.click()}}addPlaceToReportSearchBox()};if(reportsInitialLoad===false){innerCallback()}else{$(window).on("initialLoadDone",innerCallback)}};if(urlParams["area"]==="predefined"){reportObject.defaultLocationType=$predefined;if(urlParams["pid"]!=null){reportObject.placeId=urlParams["pid"];placeLoader.load([reportObject.placeId],function(places){var place=places[0];if(place!=null){reportObject.place["predefined"]=place;commonCallback()}else{alerter.popup("The place id '"+reportObject.placeId+"' could not be found.")}})}else{alerter.popup("A place id was not provided.")}}else if(urlParams["area"]==="radius"){reportObject.defaultLocationType=$radius;if(urlParams["lat"]!=null&&urlParams["lng"]!=null){reportObject.hasLocation.radius=true;reportObject.address=new PAddress(urlParams["lat"]+","+urlParams["lng"],urlParams["lng"],urlParams["lat"]);reportObject.locationText.radius=reportObject.address.y+","+reportObject.address.x;commonCallback()}else if(urlParams["location"]!=null){geocoder.getLatLng(urlParams["location"],function(PAddressObject){if(PAddressObject.x!=null&&PAddressObject.y!=null){reportObject.hasLocation.radius=true;reportObject.address=PAddressObject;reportObject.locationText.radius=urlParams["location"];commonCallback()}else{alerter.popup("The address '<b>"+reportObject.address+"'</b> could not be geocoded.")}})}else{alerter.popup("A suitable radius location was not provided.")}}else if(urlParams["area"]==="custom"){reportObject.defaultLocationType=$custom;polyCreator.loadByUser(function(places){for(var i=0;i<places.length;i++){if(places[i].id==urlParams["cpid"]){reportObject.place["custom"]=places[i];customRegionText(places[i]);commonCallback();return}}alerter.popup("Could not location the custom region")})}else if(urlParams["area"]==="polygon"){if(urlParams["pname"]==null&&urlParams["name"]!=null){urlParams["pname"]=urlParams["name"]}if(urlParams["bid"]&&urlParams["polyid"]&&urlParams["pname"]&&urlParams["plat"]&&urlParams["plng"]){isPolygon=true;reportObject.defaultLocationType=$polygon;reportObject.hasLocation.polygon=true;reportObject.locationText.polygon=urlParams["pname"];if(urlParams["area"]&&urlParams["area"]=="pradius"){isPradius=true;reportObject.defaultLocationType=$radius;reportObject.hasLocation.radius=true;reportObject.locationText.radius=urlParams["pname"]}polygonLoader(commonCallback)}else{alerter.popup("The polygon was not found.")}}}trfSearch=initializeSearchForm(options);$search_form__query=$(".search-form__query");if(reportsInitialLoad===true){reportsInitialLoad=false;var radius=reportObject.radius;$search_form__query.after($('<span class="report_radius is-hidden"><span class="report_location_selection_text report_radius_text"> Radius (Miles) </span>'+'<span class="report_radius"><input class="report_radius_input" type="text" name="report_radius_input" placeholder="'+radius+'" value="'+radius+'" size="3"></span></span>'));$report_radius=$(".report_radius");$report_radius_input=$(".report_radius_input");$(".custom-regions-holder").after('<div class="report_custom_region_name report_inline_block"/>');$search_form__query.width(500);var radiusCheck=function(){var val=$(this).val();if(val==""){val="0.5"}var valInt=parseFloat(val);if(isNaN(valInt)||valInt>=10){$(this).css("background-color","red")}else{reportObject.radius=val;$(this).css("background-color","white")}};$report_radius_input.change(radiusCheck);$report_radius_input.keyup(radiusCheck);var locationClear=function(){delete reportObject.place[reportObject.locationType];reportObject.hasLocation[reportObject.locationType]=false;if(reportObject.locationType=="predefined"){delete reportObject.placeId}else if(reportObject.locationType=="radius"){delete reportObject.address}};$search_form__query.change(locationClear);$search_form__query.keyup(locationClear);$(window).trigger("initialLoadDone")}if(reportObject.code==null){$("#report_type_0").click()
}else{$(".report_type_container[code="+reportObject.code+"]").click()}if(reportObject.locationType==null){if(reportObject.code=="phila"){}else{$predefined.click()}}else{$("#"+reportObject.locationType).click()}addPlaceToReportSearchBox();var displayTrialReportsAlert=function(){if(trialUserRemainingReports>0){alerter.popup("Reports are available on a limited basis for trial users: Generate up to "+trialUserMaxReports+" Community Profile reports.<br /><br />You currently have "+trialUserRemainingReports+" report"+(trialUserRemainingReports==1?"":"s")+" remaining.","OK")}else{subscribeAlert(null,"subscriber-max-reports")}};if(isTrial()){if(trialUserRemainingReports==null){updateTrialGenerations(function(){displayTrialReportsAlert()})}else{displayTrialReportsAlert()}}};updateTrialGenerations=function(callback){if(!isTrial()){return}ajax.call({url:"/servlets/report/?act=t",dataType:"json",success:function(count){trialUserRemainingReports=count==null||count.length==0||count[0]==null?0:count[0];if(callback!=null){callback()}},error:function(){trialUserRemainingReports=0}})};var reportTypeAndLocation=function(){clearMap();pageOneState();$("#"+reportObject.locationType).click()};var resetMap=function(){clearLocation();P.instances.map.clearOverlays();P.instances.map.clearOverlaySets();if(datasetSearch!=null){datasetSearch.reset()}if(P.instances.map.getInfoWindow()){P.instances.map.closeInfoWindow()}P.instances.map.setCenter(new PLatLng(getDefaultMapLat(),getDefaultMapLng()),getDefaultMapZoom());resizeMapContainer();$window.trigger(P.events.MAP_RESET)};var resizeMapContainer=function(){var height=window.innerHeight-$mapContainer.offset().top-$content_footer.height();$mapContainer.css("height",height);P.instances.map.kamap.resize();$window.trigger(P.events.MAP_RESIZED)};var reportGenerateConfirm=function(yesCallback,noCallback){if(isTrial()&&!P.WKPrint.isPrintPage()){alerter.popup("You are about to generate a report. This report will be counted towards your limit as a trial user.<br /><br />If you wish to view this report again, you may chose to print it once it is complete. It will remain available as a download in My PolicyMap.<br /><br />Do you wish to continue?","No","Yes",function(){if(yesCallback!=null){yesCallback()}else{reportGenerateBegin()}},function(){if(noCallback!=null){noCallback()}else{resetReportPage()}})}else if(yesCallback!=null){yesCallback()}else{reportGenerateBegin()}};var reportGenerateBegin=function(){reportObject.generateNext=true;if(locationCheck()===false){return}else{delete reportObject.generateNext}var url="/report_generate?";var urlSuffix="";var reportTrackingObject={locationType:reportObject.locationType,type:reportObject.code};if(reportObject.locationType==="predefined"){urlSuffix="type="+reportObject.code+"&area=predefined"+"&pid="+reportObject.place["predefined"].id;reportTrackingObject.pid=reportObject.place["predefined"].id}else if(reportObject.locationType==="radius"){if(isPradius===true){urlSuffix="type="+reportObject.code+"&area=pradius"+"&location="+urlParams["plat"]+","+urlParams["plng"]+"&radius="+reportObject.radius+"&lat="+urlParams["plat"]+"&lng="+urlParams["plng"]+"&bid="+urlParams["bid"]+"&polyid="+urlParams["polyid"]+"&name="+encodeURIComponent(decodeURIComponent(urlParams["pname"]))+"&plat="+urlParams["plat"]+"&plng="+urlParams["plng"];reportTrackingObject.polyid=urlParams["polyid"]}else{urlSuffix="type="+reportObject.code+"&area=radius"+"&location="+encodeURIComponent(reportObject.address.addr)+"&radius="+reportObject.radius+"&lat="+reportObject.address.y+"&lng="+reportObject.address.x;if(urlParams["did"]){urlSuffix+="&did="+urlParams["did"]}if(urlParams["dldid"]){urlSuffix+="&did="+urlParams["dldid"]}if(urlParams["lqid"]){urlSuffix+="&lqid="+urlParams["lqid"]}reportTrackingObject.location=reportObject.address.addr}reportTrackingObject.radius=reportObject.radius}else if(reportObject.locationType==="custom"){urlSuffix="type="+reportObject.code+"&area=custom"+"&cpid="+reportObject.place["custom"].id+"&name="+encodeURIComponent(reportObject.place["custom"].label);if(urlParams["lqid"]){urlSuffix+="&lqid="+urlParams["lqid"]}reportTrackingObject.pid=reportObject.place["custom"].id}else if(reportObject.locationType==="polygon"){urlSuffix="type="+reportObject.code+"&area=polygon"+"&bid="+urlParams["bid"]+"&polyid="+urlParams["polyid"]+"&name="+encodeURIComponent(decodeURIComponent(urlParams["pname"]))+"&plat="+urlParams["plat"]+"&plng="+urlParams["plng"];if(urlParams["lqid"]){urlSuffix+="&lqid="+urlParams["lqid"]}reportTrackingObject.polyid=urlParams["polyid"]}if(urlSuffix!==""){url+="&"+urlSuffix;window.history.replaceState({},document.title,"/reports?"+urlSuffix);P.instances.debug.log(P.Debug.DEBUG,"report_generate url: "+url);reportTrackingObject.url=reportObject.urlSuffix=urlSuffix;if(P.WKPrint.isPrintPage()===false){P.instances.tracking.track(P.Tracking.eventTypes.REPORT,{reportObject:reportTrackingObject})}var callback=function(data){var innerCallback=function(data){renderReport(data)};if(reportsInitialLoad===false){innerCallback(data)}else{$(window).on("initialLoadDone",innerCallback)}};ajax.call({url:url,dataType:"html",success:callback})}else{errorPopup({error:{message:"Unable to determine the report location type"}})}};var loadReportTypes=function(){return ajax.call({url:"/servlets/report/?act=l",dataType:"json",success:function(reports){for(var i=0;i<reports.length;i++){var report=reports[i];reportTypes[report.code]=report.name}if(productProperty.getValue("site_prefix")==="phila"){var philareport={enabled:true,description:'Get information related to demographics, income and poverty, safety, housing and real estate, economic conditions, childcare and education for the North Central Choice Neighborhood in Philadelphia.  This can be used for planning, analysis and reporting for the HUD Choice Neighborhoods program. <a href="/pdf/PhiladelphiaChoiceReport_NorthCentralNeighborhood.pdf" target="_new">Click here</a> to get the report.',name:"Philadelphia Choice Neighborhood Report",permcode:0,code:"phila"};reports.unshift(philareport)}return reports}})};var philadelphiaFix=function(){if(productProperty.getValue("site_prefix")!=="phila"){return}var doblock=false;var code="";try{code=$("div.report_type_container.report_type_selected").attr("code")}catch(err){console.log(err)}if(code=="phila"){doblock=true}if(doblock){$("div.report_location_holder").find("div.report_location_holder_header").addClass("phila");$("div.report_location_holder").find("div.report_location_copy").addClass("phila");$("div.report_location_holder").find("div.report_location_selection").addClass("phila");$("div.report_location_holder").find("div.report_location_container").removeClass("report_location_selected");reportLocationContainerClick();$("div.report_location_holder").find(".report_location_image img").each(function(k,v){var source=$(this).attr("src");if(source.indexOf("predefined")!=-1){$(this).attr("src","/images/reports/predefined-disabled.png")}else if(source.indexOf("radius")!=-1){$(this).attr("src","/images/reports/radius-disabled.png")}else if(source.indexOf("polygon")!=-1){$(this).attr("src","/images/reports/polygon-disabled.png")}else if(source.indexOf("custom")!=-1){$(this).attr("src","/images/reports/custom-disabled.png")}});$("#report_steps").block({message:null,overlayCSS:{backgroundColor:"#FFFFFF",opacity:0,cursor:"default"}});$("div.report_footer").block({message:null,overlayCSS:{backgroundColor:"#FFFFFF",opacity:0,cursor:"default"}});$("div.report_location_holder").block({message:null,overlayCSS:{backgroundColor:"#FFFFFF",opacity:0,cursor:"default"}})}else{$("div.report_location_holder").find("div.report_location_holder_header").removeClass("phila");$("div.report_location_holder").find("div.report_location_copy").removeClass("phila");$("div.report_location_holder").find("div.report_location_selection").removeClass("phila");$("div.report_location_holder").find(".report_location_image img").each(function(k,v){var source=$(this).attr("src");if(source.indexOf("predefined")!=-1){$(this).attr("src","/images/reports/predefined.png")}else if(source.indexOf("radius")!=-1){$(this).attr("src","/images/reports/radius.png")}else if(source.indexOf("polygon")!=-1){$(this).attr("src","/images/reports/polygon.png")}else if(source.indexOf("custom")!=-1){$(this).attr("src","/images/reports/custom.png")}});$("#report_steps").unblock();$("div.report_footer").unblock();$("div.report_location_holder").unblock()}};resetReportPage=function(){reportTypeAndLocation();$("#predefined").click();customRegionText();reportObject.place={};reportObject.locationText.predefined=null;reportObject.locationText.custom=null;reportObject.locationText.radius=null;reportObject.locationText.polygon=null;reportObject.locationText.phila=null;reportObject.hasLocation.predefined=false;reportObject.hasLocation.custom=false;reportObject.hasLocation.radius=false;reportObject.hasLocation.polygon=false;reportObject.hasLocation.phila=false};function loadReportByAreaAndType(area,type){switch(area){case"predefined":getPlace(urlParams["pid"]).then(function loadLocation(place){selectLoadedPlace(place,true);renderPredefinedLocationReport(type,place.id)},function(){alerter.popup("The place could not be loaded for this report.")});break;case"custom":getCustomRegion(urlParams["cpid"]).then(function loadCustomRegion(customRegion){initializeMap();polyCreator.setUpPlaceAndPolylines(customRegion,map);map.setCenterBounds(customRegion.getBounds());renderCustomRegionReport(type,customRegion)});break;default:renderReportForm()}}function getPlace(placeId){var $deferred=new $.Deferred;placeLoader.load([placeId],function(places){var place=places[0];if(place!=null){$deferred.resolve(place)}else{alerter.popup("The place id '"+reportObject.placeId+"' could not be found.");$deferred.reject()}});return $deferred}function getCustomRegion(customRegionId){var $deferred=new $.Deferred;polyCreator.loadByUser(function(places){var place=_.find(places,function(place){return place.id==customRegionId});if(place){$deferred.resolve(place)}else{$deferred.reject("Unable to retreive custom region")}});return $deferred}function renderPredefinedLocationReport(reportType,placeId){ajax.call({url:"/report_generate?area=predefined"+"&type="+reportType+"&pid="+placeId,dataType:"html"}).then(renderDirectReport)}function renderCustomRegionReport(reportType,customRegion){return ajax.call({url:"/report_generate?area=custom"+"&type="+reportType+"&cpid="+customRegion.id+"&name="+encodeURIComponent(customRegion.label),dataType:"html"}).then(renderDirectReport)}function renderDirectReport(data){renderReport(data);$mapContainer.css("min-height","200px");$mapContainer.height(200);$mapContainer.show();if(mapInitialized===true){P.instances.map.kamap.resize();P.instances.map.setCenter(P.instances.map.getCenter())}}function renderMinnesotaHousingReport(placeId){ajax.call({url:"/report_generate?type=mn&area=predefined"+"&pid="+placeId,dataType:"html"}).then(function(data){initializeMap();renderReport(data);$(".report_content").hide()}).fail(function(){renderReportForm()})}function renderHudReport(boundaryId,polygonId,name,lattitude,longitude){ajax.call({url:"/report_generate?type=hud&area=polygon"+"&bid="+boundaryId+"&polyid="+polygonId+"&name="+encodeURIComponent(decodeURIComponent(name))+"&plat="+lattitude+"&plng="+longitude,dataType:"html"}).then(renderDirectReport).then(function hideMapContainer(){$mapContainer.hide()}).fail(function(data,xhr,req){renderReportForm()})}function renderReportForm(){loadReportTypes().then(populateReportPage)}function renderWellsFargoReport(type,boundaryId,polygonId,name,lattitude,longitude){ajax.call({url:"/report_generate?area=polygon"+"&type="+type+"&bid="+boundaryId+"&polyid="+polygonId+"&name="+encodeURIComponent(decodeURIComponent(name))+"&plat="+lattitude+"&plng="+longitude,dataType:"html"}).then(renderDirectReport).then(function hideMapContainer(){$mapContainer.hide()}).fail(function(data,xhr,req){renderReportForm()})}function renderReport(data,fromRenderDirect){if(!fromRenderDirect){initializeMap()}pageThreeState();clearMap();var $div=$('<div class="report_generate_holder"/>');$div.html(data);$report_generate_content.append($div);$(".sectioncontent #footer").addClass("reporttext");$(".new_footer").addClass("is-hidden");$("#theMap").append($mapContainer);var thisYear=(new Date).getFullYear();$div.append($('<br class="clear"/>'+'<div class="footerbox is-hidden" style="border-top: 1px solid #ccc; margin-top: 10px">'+'<table width="100%">'+"<tr>"+"<td>"+'<div style="padding:0px 0px 15px 20px;width:102px">'+'<a href="http://www.trfund.com/" target="_blank">'+'<img src="/images/trf_logo.gif" border="0" alt="" />'+"</a>"+"</div>"+"</td>"+'<td align="center">'+'<div style="color:#9e9e9e;font-size:7.5pt; padding: 10px 0px">'+"<div>"+"<br />"+'<span style="font-size:8pt;padding:5px 5px 0px 5px; color:#9E9E9E">Toll-Free: 1-866-923-MAPS</span>'+"<br /><br />"+"<span>Copyright&nbsp;&copy;&nbsp;"+thisYear+" PolicyMap. All rights reserved.</span>"+'<br class="clear"/>'+'<div style="width:100%; text-align:center;color:#9e9e9e; font-size:7pt;">PolicyMap is a service of The Reinvestment Fund.</div>'+"</div>"+"</div>"+"</td>"+'<td align="right">'+'<div style="padding:0px 20px 15px 0; width:102px">'+'<a href="/" target="_blank">'+'<img style="margin-left:15px" src="/images/global-footer-logo-pmap.png" border="0" alt="" />'+"</a>"+"</div>"+"</td>"+"</tr>"+"</table>"+"</div>"));reportGenerateOnLoad(true);if(P.WKPrint.isPrintPage()===false){setTimeout(function(){$(".logoTD").addClass("hide-the-logo")},1e3)}if(mapInitialized===true){$("#map").css("min-height","200px");$("#map").height(200);P.instances.map.kamap.resize();P.instances.map.setCenter(P.instances.map.getCenter())}}function initializeMap(){if(mapInitialized===false){map=new PMap(document.getElementById("map"));P.instances.map.addControl(new PLargeMapControl);P.instances.map.enableDoubleClickZoom();P.instances.map.enableScrollWheelZoom();P.instances.map.disableKeyboard();P.instances.map.setCenter(new PLatLng(getDefaultMapLat(),getDefaultMapLng()),getDefaultMapZoom());$zoomControl=$("#zoomControl");mapInitialized=true}}if(reportsInitialLoad===true){$window.on("resize",fixContainer);$report_preview_button.on("click",reportPreviewClick);$report_preview_button.hover(function(){$report_button_hover_text.text("Preview Report Area")},function(){$report_button_hover_text.text("")});$report_back_button.on("click",reportTypeAndLocation);$report_back_button.hover(function(){$report_button_hover_text.text("Choose Report Type and Location")},function(){$report_button_hover_text.text("")});$(".report_location_selection_custom").on("show",function(){$(".report_location_selection_custom .custom-regions-menu").css("top",$(".report_location_selection_custom").offset().bottom);$(".report_location_selection_custom .custom-regions-menu").css("left",$(".report_location_selection_custom").offset().left)});$report_generate_button.off();$report_generate_button.on("click",function(){reportGenerateConfirm()});$(".map-options__clear-location").click(function(event){event.preventDefault();clearLocationAlert()});$(".map-options__reset").click(function(){var text="Are you sure you want to clear any data layers or sites currently displayed and start over at the default view of the US?";alerter.popup(text,"No","Yes",resetMap)});$(".custom-region-button, .custom-regions__create").click(function(){toggleCustomRegion()});PEvent.addListener(polycreator,"addpoly",function(points){polycreator.showSaveInfoWindow(points[0])});PEvent.addListener(polycreator,"savepoly",function(places){polycreator.addSavedPoly(places)});$("toolbar-icon--save").click(function(){genericAlertDialog({template:"report",action:"save"})});$("toolbar-icon--print").click(function(){printReport()});$(".custom-regions__create").hide();$window.on(P.events.LOGGED_IN,reportsPageLoader);$window.on(P.events.LOGGED_OUT,reportsPageLoader)}if(isSubscriber()&&urlParams["type"]){var doNotLoadReport=function(){urlParams={};$mainContainer.removeClass("is-hidden");renderReportForm()};var loadReport=function(){reportGenerateConfirm(function(){switch(urlParams["type"]){case"hud":renderHudReport(urlParams["bid"],urlParams["polyid"],urlParams["pname"],urlParams["plat"],urlParams["plng"]);break;case"mn":renderMinnesotaHousingReport(urlParams["pid"]);break;case"wellsfargo":case"wf_demographic":case"wf_housing":case"wf_education":case"wf_jobseconomy":renderWellsFargoReport(urlParams["type"],urlParams["bid"],urlParams["polyid"],urlParams["pname"],urlParams["plat"],urlParams["plng"]);break;default:loadReportByAreaAndType(urlParams["area"],urlParams["type"])}},function(){doNotLoadReport()})};if(isTrial()){var checkAvailableReports=function(){if(trialUserRemainingReports>0){loadReport()}else{doNotLoadReport()}};if(trialUserRemainingReports==null){updateTrialGenerations(function(){checkAvailableReports()})}else{checkAvailableReports()}}else{loadReport()}}else{renderReportForm()}}function reportLocationBarHandler(arg,search,doNotDoIt){delete reportObject.placeId;delete reportObject.address;if(arg instanceof Array){arg=arg[0]}if(arg instanceof PAddress&&arg.errorCode===-2){alerter.popup('"<b>'+arg.addr+'</b>" could not be geocoded.',"OK");return}if(reportObject.locationType=="predefined"){if(arg instanceof PAddress){alerter.popup("Please specify an area, not an address.","OK");return}if(arg instanceof PPlace&&arg.getType()==PPlaceType.COUNTRY||search=="autosuggest"&&arg=="country"){alerter.popup("Reports cannot be generated for the United States.","OK");return}}if(reportObject.locationType=="radius"){if(!(arg instanceof PAddress)){alerter.popup("Please specify a street address, not an area.","OK");return}}if(arg instanceof PPlace){reportObject.place[reportObject.locationType]=arg;reportObject.locationText[reportObject.locationType]=arg.label}else if(arg instanceof PAddress){reportObject.address=arg;reportObject.locationText[reportObject.locationType]=arg.addr}else if(typeof arg=="number"){reportObject.placeId=arg;placeLoader.load([arg],function(places){var place=places[0];if(reportObject.locationType==="custom"){customRegionText(place)}reportObject.place[reportObject.locationType]=place})}else{alerter.popup("The location search did not return any results. Please try again.","OK");return}if(reportObject.locationType==="custom"){customRegionText(arg)}reportObject.hasLocation[reportObject.locationType]=true;if(doNotDoIt==null){if(reportObject.generateNext){delete reportObject.generateNext;$(".report_generate_button").click()}else{$(".report_preview_button_main").click()}}}function customRegionText(place){if(place!=null){$(".report_custom_region_name").html('<span class="report_location_selection_text report_location_selection_intro">Selected Custom Region:</span>'+'<span class="report_location_selection_text report_location_selection_name">'+place.label+"</span>")}else{$(".report_custom_region_name").empty()}}function reportAvailability(perm){if(perm==null){alerter.popup("Please select a report type.","OK");return false}else if(perm==1){if(!productProperty.getValue("auto_login")){subscribeAlert()}return false}else if(perm==2){alerter.popup("This report is not available.","OK");return false}else if(perm==3){alerter.popup("This report is custom and not available.","OK");return false}else if(perm==4){subscribeAlert();return false}else if(perm==5){subscribeAlert(null,"subscriber-max-reports");return false}return true}function getPolygonRadius(place){var polycenter=place.getCentroid();var farthestDistance=0;var polyverts=place.getVertices();for(var i=0;i<polyverts.length;i++){var points=polyverts[i];for(var j=0;j<points.length;j++){if(polycenter.distanceFrom(points[j])>farthestDistance){farthestDistance=polycenter.distanceFrom(points[j])}}}var miles=Math.ceil(farthestDistance/804.672)/2;var radius=new Object;radius.lat=Math.round(polycenter.lat()*1e4)/1e4;radius.lng=Math.round(polycenter.lng()*1e4)/1e4;radius.size=miles;return radius}function reportWidgetOnLoad(){if($("#container").length>0){$(".button_save").remove();reportGenerateOnLoad();if(P.WKPrint.isPrintPage()===true){}else if(getUrlParams().type!=="wf_demographic"){$("#areasummary").parent().prepend('<a onclick="printWidgetReport()"><div id="printreport" class="print-report-button"></div></a>');$(".reporttext").next().next().after('<a onclick="printWidgetReport()"><div id="printreport" class="print-report-button"></div></a>')}}}function handleNotificationPrint(response){if($.isArray(response)&&response.length>1){var code=response[0];if(code==307){setWindowLocation(response[1],false)}else if(code==202){alerter.popup(response[1])}else{alerter.popup("There was an error processing the request")}}}function printWidgetReport(){if(currentReport.reportType=="mn1"||currentReport.reportType=="mn2"){P.instances.wkprint.setFileName("Minnesota Housing Finance Agency Report - "+$(".reportname").text()+" - ",true);P.instances.wkprint.setOrientation(P.WKPrint.PORTRAIT);P.instances.wkprint.setPrintCallback(handleNotificationPrint);P.instances.wkprint.printThisPage();return}else if(currentReport.reportType=="hud"){P.instances.wkprint.setFileName("NSP Neighborhood Change Report - "+$("div.HudNICName").text()+" - ",true);P.instances.wkprint.setOrientation(P.WKPrint.PORTRAIT);P.instances.wkprint.setPrintCallback(handleNotificationPrint);P.instances.wkprint.printThisPage();return}if(ajax.activeRequests){alerter.popup("Please wait until the report finishes loading before printing.","OK");return}var template;if(isCompTypeReport()){template="WidgetHudReportPage"}else{template="WidgetReportPage"}var parms="http://"+template+"/?html="+encodeURIComponent("<html>"+document.body.parentNode.innerHTML+"</html>");var mapParms="lat="+encodeURIComponent(map.getCenter().lat());mapParms+="&long="+encodeURIComponent(map.getCenter().lng());mapParms+="&scale="+encodeURIComponent(map.getScale());mapParms+="&imgwidth="+encodeURIComponent($("#map").width());mapParms+="&imgheight="+encodeURIComponent($("#map").height());var mapLayers=map.getCurrentMapType().getMapLayers();if(mapLayers!=null&&mapLayers.length>0){mapParms+="&layers=";var layerCount=0;for(var i=0;i<mapLayers.length;i++){var curLayer=mapLayers[i];if(curLayer.display){mapParms+=encodeURIComponent(curLayer.name+",");layerCount++}}if(layerCount>0){mapParms=mapParms.slice(0,-3)}}var getParms=getUrlParams();if(getParms.cpid){mapParms+="&cpid="+getParms.cpid}else{if(getParms.area=="polygon"||getParms.area=="pradius"){mapParms+="&bid="+getParms.bid+"&pname="+encodeURIComponent(getParms.name)+"&plat="+getParms.plat+"&plng="+getParms.plng}if(getParms.pid||getParms.radius&&getParms.location){var boundary=new Array(new Object);if(getParms.pid){mapParms+="&ps=";boundary[0].id=getParms.pid}else if(getParms.radius&&getParms.location){mapParms+="&rs=";var locPoint=new PMarker(map.radiuscenter).getPoint();boundary[0].radius=getParms.radius;boundary[0].lat=locPoint.lat();boundary[0].lng=locPoint.lng()}boundary[0].f=new Object;boundary[0].f.r=243;boundary[0].f.g=161;boundary[0].f.b=46;boundary[0].f.a=178;mapParms+=encodeURIComponent(MochiKit.Base.serializeJSON(boundary))}}parms+="&mparms="+encodeURIComponent(mapParms);if(isCompTypeReport()){parms+="&hudparms="+encodeURIComponent(currentReport.hudmaps)}$("#widgetprint").attr("action",PEnvironment.widgetPrintUrl+"?sid="+getParms["sid"]);$("#p_act").val("print");$("#p_type").val("pdf");$("#p_template").val(template);$("#p_parms").val(parms);$("#p_reporttype").val(currentReport.reportType);$("#widgetprint").submit()}var SearchFormAutoComplete=function($form,typeId,$textbox,$stateDropdown){this.typeId=typeId;this.placeTypeCode;this.$textbox=$textbox;this.$stateDropdown=$stateDropdown;var self=this;var autoCompleteCache={};this.limitStates="";if(productProperty.exists("search_limit_states")){this.limitStates="&ls="+productProperty.getValue("search_limit_states")}this.placeTypeCodes={};this.placeTypeCodes[P_PLACETYPE_STATE_ID]="st";this.placeTypeCodes[P_PLACETYPE_COUNTY_ID]="co";this.placeTypeCodes[P_PLACETYPE_CITY_ID]="c";this.placeTypeCodes[P_PLACETYPE_COUNTY_SUBDIVISION]="cs";this.placeTypeCodes[P_PLACETYPE_SCHOOL_ID]="s";this.placeTypeCodes[P_PLACETYPE_CENSUSTRACT_ID]="ct";this.placeTypeCodes[P_PLACETYPE_BLOCKGROUP_ID]="bg";if(this.placeTypeCodes[this.typeId]){this.placeTypeCode=this.placeTypeCodes[this.typeId]}else{this.placeTypeCode="p"}this.$textbox.autocomplete({source:function(request,response){var query=request.term;var placeState=self.placeTypeCode==="s"?"&st="+self.$stateDropdown.children("option:selected").attr("title"):"";if(self.placeTypeCode=="p"){if(/^\d+.*\s/.test(query)){self.closeAutoComplete();return}}var queryCacheKey=query+"_"+placeState;if(queryCacheKey in autoCompleteCache){response(autoCompleteCache[queryCacheKey]);return}ajax.call({url:PEnvironment.autosuggestUrl+"?rid=1&t=p&s="+encodeURIComponent(query)+"&pt="+self.placeTypeCode+placeState+self.limitStates,dataType:"json",success:function(data){var results=[];for(i=0;i<data.results.length;i++){results.push(new PMultiDefinitionBoundary(data.results[i]))}autoCompleteCache[queryCacheKey]=results;response(results)}})},select:function(event,ui){if(_.contains(self.placeTypeCodes,self.placeTypeCode)||self.placeTypeCode=="p"){var item=ui.item;if(PEnvironment.pageName=="reports"){self.$textbox.blur();if(item.typeId==1){reportLocationBarHandler("country","autosuggest");return}}var bid=item.getBoundaryIdForCurrentMatrix();if(bid!=null){if(PEnvironment.pageName=="reports"){reportLocationBarHandler(bid,"autosuggest")}else{selectPlace(bid,true)}}}else{$form.submit()}},appendTo:"#header div",open:function(){}}).data("ui-autocomplete")._renderItem=function(ul,item){var $li=$("<li>");var yearString=item.getYearsAsString();if(yearString!=""){yearString+=" boundary"}$li.append('<a style="position: relative">'+item.value+" ("+item.getType().getCustomDisplayName()+')<span class="l-pull-right">'+yearString+"</span></a>");return $li.appendTo(ul)};this.$textbox.autocomplete("widget").removeClass("ui-corner-all").addClass("ui-corner-bottom");this.closeAutoComplete=function(){self.$textbox.autocomplete("close")};$(window).resize(this.closeAutoComplete);this.destroy=function(){$(window).off("resize",self.closeAutoComplete);this.$textbox.autocomplete("destroy")}};var SearchFormBuilder=function(){};SearchFormBuilder.prototype.makeForm=function(type,$form,formElements,eventManager,options){var self=this;var defaultState=options.defaultState;var form;var boundaryType=parseInt(type,10);if(boundaryType==P_PLACETYPE_CENSUSTRACT_ID||boundaryType==P_PLACETYPE_BLOCKGROUP_ID){form=new FipsSearch($form,type,formElements.$textbox,eventManager,options)}else if(boundaryType==P_PLACETYPE_CONGRESSIONAL_ID){form=new DoubleDropdownSearch($form,formElements.$firstDropdown,formElements.$secondDropdown,eventManager,options);this.populateDropdownWithStates(formElements.$firstDropdown,defaultState);formElements.$firstDropdown.change(function(){populateCongressionalDropdown();formElements.$firstDropdown.next().trigger("chosen:updated");form.updateWidthOfFluidElement()});var populateCongressionalDropdown=function(){var state=formElements.$firstDropdown.children("option:selected").text();geocoder.getPlace(state,function(places){var $optionsArray=[];for(var i=0;i<places.length;i++){if(state==="Kansas"&&places[i].getState()==="AR"){continue}var $option=$("<option />");$option.val(places[i].id);$option.text(places[i].getLabel().replace(state+"'s ",""));$optionsArray.push($option)}self.populateDropdown(formElements.$secondDropdown,$optionsArray);form.eventManager.triggerEvent("dd_initialized",places)},200,1,PPlaceType.CONGRESSIONAL,null,null,null,"id,label")};populateCongressionalDropdown()}else if(boundaryType==P_PLACETYPE_SENATE_ID){form=new SingleDropdownSearch($form,formElements.$firstDropdown,eventManager,options);placeLoader.loadType(PPlaceType.SENATE,PPlaceOrder.STATE_CANONICALNAME,function(places){var $optionsArray=[];var defaultSenator=null;for(var i=0;i<places.length;i++){var $option=$("<option />");$option.val(places[i].id);$option.text(places[i].getLabel());if(defaultSenator==null&&places[i].getState()===options.defaultState.abbreviation){defaultSenator=places[i].id}$optionsArray.push($option)}self.populateDropdown(formElements.$firstDropdown,$optionsArray,defaultSenator)})}else if(boundaryType==P_PLACETYPE_SCHOOL_ID){form=new SchoolSearch($form,formElements.$firstDropdown,formElements.$textbox,eventManager,options);this.populateDropdownWithStates(formElements.$firstDropdown,defaultState)}else if(boundaryType==P_PLACETYPE_SLD_UPPER_ID){form=new TripleDropdownSearch($form,formElements.$firstDropdown,formElements.$secondDropdown,formElements.$thirdDropdown,eventManager,options);this.populateDropdownWithStates(formElements.$firstDropdown,defaultState);this.populateDropdown(formElements.$secondDropdown,[$("<option value="+P_PLACETYPE_SLD_UPPER_ID+">Upper House Districts</option>"),$("<option value="+P_PLACETYPE_SLD_LOWER_ID+">Lower House Districts</option>")]);formElements.$firstDropdown.change(function(){populateStateDistrictDropdown();formElements.$firstDropdown.next().trigger("chosen:updated");form.updateWidthOfFluidElement()});formElements.$secondDropdown.change(function(){populateStateDistrictDropdown();formElements.$secondDropdown.next().trigger("chosen:updated");form.updateWidthOfFluidElement()});var populateStateDistrictDropdown=function(){var stateText=formElements.$firstDropdown.children("option:selected").text();var placeType=parseInt(formElements.$secondDropdown.val(),10)===P_PLACETYPE_SLD_UPPER_ID?PPlaceType.SLD_UPPER:PPlaceType.SLD_LOWER;geocoder.getPlace(stateText,function(stateplaces){var state=stateplaces[0];if(stateplaces.length>1){for(var j=0;j<stateplaces.length;j++){if(stateplaces[j].getLabel()===stateText&&stateplaces[j].country==="United States"){state=stateplaces[j]}}}state.getPlacesWithin(placeType,null,null,function(places){var $optionsArray=[];for(var i=0;i<places.length;i++){if(stateText==="Kansas"&&places[i].getState()==="AR"){continue}var $option=$("<option />");$option.val(places[i].id);$option.text(places[i].getLabel());$optionsArray.push($option)}self.populateDropdown(formElements.$thirdDropdown,$optionsArray);form.eventManager.triggerEvent("dd_initialized",places)},5,205,PPlaceOrder.IDENTIFIER,null,"id,label")},200,1,[PPlaceType.STATE])};populateStateDistrictDropdown()}else if(boundaryType==P_PLACETYPE_CBSA_ID){form=new DoubleDropdownSearch($form,formElements.$firstDropdown,formElements.$secondDropdown,eventManager,options);form.submit=function(){var pmdb=this.$secondDropdown.find("option:selected").data("pmdb");var bid=pmdb.getBoundaryIdForCurrentMatrix();var self=this;placeLoader.load([bid],function(places){self.eventManager.triggerEvent("response",places,self)})};this.populateDropdownWithStates(formElements.$firstDropdown,defaultState);formElements.$firstDropdown.change(function(){populateCBSADropdown();formElements.$firstDropdown.next().trigger("chosen:updated");form.updateWidthOfFluidElement()});var populateCBSADropdown=function(){actuallyPopulateDropdown=function(cbsas,metros){var $optionsArray=[];var $optGroup=$("<optgroup />");var $option;$optGroup.attr("label","CBSAs");$optionsArray.push($optGroup);for(var i=0;i<cbsas.length;i++){var pmdb=new PMultiDefinitionBoundary(cbsas[i]);$option=$("<option />");$option.data("pmdb",pmdb);$option.text(pmdb.name+" ("+pmdb.getYearsAsString()+")");$optGroup.append($option)}if(metros.length>0){$optGroup=$("<optgroup />");$optGroup.attr("label","Metro Divisions");$optionsArray.push($optGroup);for(i=0;i<metros.length;i++){var pmdb=new PMultiDefinitionBoundary(metros[i]);$option=$("<option />");$option.data("pmdb",pmdb);$option.text(pmdb.name+" ("+pmdb.getYearsAsString()+")");$optGroup.append($option)}}self.populateDropdown(formElements.$secondDropdown,$optionsArray);var places=cbsas.concat(metros);form.eventManager.triggerEvent("dd_initialized",places)};var stateAbbr=formElements.$firstDropdown.children("option:selected").attr("title");
if(stateAbbr=="DC"){var cbsas=[{name:"Washington-Arlington-Alexandria, DC-VA-MD-WV Metro Area",typeId:58,bounds:[{bid:2066104,defId:105,year:"2003"},{bid:3579094,defId:125,year:"2013"}]}];var metros=[{name:"Washington-Arlington-Alexandria, DC-VA-MD-WV Metro Division",typeId:60,bounds:[{bid:2066170,defId:107,year:"2003"},{bid:3580037,defId:127,year:"2013"}]}];actuallyPopulateDropdown(cbsas,metros)}else{placeLoader.loadStateAllType(stateAbbr,PPlaceType.CBSA,function(cbsas){placeLoader.loadStateAllType(stateAbbr,PPlaceType.MD,function(metros){actuallyPopulateDropdown(cbsas,metros)})})}};populateCBSADropdown()}else if(boundaryType==P_PLACETYPE_STATE_ID||boundaryType==P_PLACETYPE_COUNTY_ID||boundaryType==P_PLACETYPE_COUNTY_SUBDIVISION||boundaryType==P_PLACETYPE_CITY_ID){var customLabels={};if(productProperty.exists("search_boundary_type_custom_labels")){customLabels=productProperty.getValue("search_boundary_type_custom_labels")}var placeType=null;for(var i=0;i<P_PLACETYPES.length;i++){if(P_PLACETYPES[i].id==boundaryType){placeType=P_PLACETYPES[i];break}}if(placeType==null){throw"Place type id "+boundaryType+" not found."}var placeholder="Enter "+(customLabels[boundaryType]||placeType.name);form=new LocationSearch($form,formElements.$textbox,eventManager,options,[placeType],placeholder)}else if(boundaryType==P_PLACETYPE_CB_COUNCIL_ID){form=new DoubleDropdownSearch($form,formElements.$firstDropdown,formElements.$secondDropdown,eventManager,options);this.populateDropdown(formElements.$firstDropdown,[$("<option value="+P_PLACETYPE_CB_COUNCIL_ID+">2000</option>"),$("<option value="+P_PLACETYPE_CB_COUNCIL_2016_ID+">2016</option>")]);formElements.$firstDropdown.change(function(){populateCouncilDistricts();formElements.$firstDropdown.next().trigger("chosen:updated");form.updateWidthOfFluidElement()});var populateCouncilDistricts=function(){var districtType=getPlaceTypeById(formElements.$firstDropdown.children("option:selected").val());self.populateDropdownWithType(districtType,PPlaceOrder.CAST_IDENTIFIER,formElements.$secondDropdown)};populateCouncilDistricts()}else if(boundaryType==P_PLACETYPE_PHILA_NEIGHBORHOOD_14_ID){form=new SingleDropdownSearch($form,formElements.$firstDropdown,eventManager,options);this.populateDropdownWithType(PPlaceType.PHILA_NEIGHBORHOOD_14,PPlaceOrder.CANONICALNAME,formElements.$firstDropdown)}else if(boundaryType==P_PLACETYPE_CB_PLANNING_ID){form=new SingleDropdownSearch($form,formElements.$firstDropdown,eventManager,options);this.populateDropdownWithType(PPlaceType.CB_PLANNING,PPlaceOrder.CANONICALNAME,formElements.$firstDropdown)}else if(boundaryType==P_PLACETYPE_PHILA_RCO_ID){form=new SingleDropdownSearch($form,formElements.$firstDropdown,eventManager,options);this.populateDropdownWithType(PPlaceType.PHILA_RCO,PPlaceOrder.CANONICALNAME,formElements.$firstDropdown)}else if(boundaryType==P_PLACETYPE_PHILA_POLICE_ID){form=new SingleDropdownSearch($form,formElements.$firstDropdown,eventManager,options);this.populateDropdownWithType(PPlaceType.PHILA_POLICE,PPlaceOrder.CAST_IDENTIFIER,formElements.$firstDropdown)}else if(boundaryType==P_PLACETYPE_PHILA_WARD_ID){form=new SingleDropdownSearch($form,formElements.$firstDropdown,eventManager,options);this.populateDropdownWithType(PPlaceType.PHILA_WARD,PPlaceOrder.CAST_IDENTIFIER,formElements.$firstDropdown)}else if(boundaryType==P_PLACETYPE_PHILA_CATCHMENT_ES_ID){form=new DoubleDropdownSearch($form,formElements.$firstDropdown,formElements.$secondDropdown,eventManager,options);this.populateDropdown(formElements.$firstDropdown,[$("<option value="+P_PLACETYPE_PHILA_CATCHMENT_ES_ID+">Elementary School</option>"),$("<option value="+P_PLACETYPE_PHILA_CATCHMENT_MS_ID+">Middle School</option>"),$("<option value="+P_PLACETYPE_PHILA_CATCHMENT_HS_ID+">High School</option>")]);formElements.$firstDropdown.change(function(){populateSchoolCatchmentAreas();formElements.$firstDropdown.next().trigger("chosen:updated");form.updateWidthOfFluidElement()});var populateSchoolCatchmentAreas=function(){var catchmentType=getPlaceTypeById(formElements.$firstDropdown.children("option:selected").val());self.populateDropdownWithType(catchmentType,PPlaceOrder.CANONICALNAME,formElements.$secondDropdown)};populateSchoolCatchmentAreas()}else if(boundaryType==P_PLACETYPE_WP_ZIP_ID){form=new SingleDropdownSearch($form,formElements.$firstDropdown,eventManager,options);this.populateDropdownWithType(PPlaceType.WP_ZIP,PPlaceOrder.CAST_IDENTIFIER,formElements.$firstDropdown)}else if(boundaryType==P_PLACETYPE_CSI_NEIGHBORHOOD_ID){form=new SingleDropdownSearch($form,formElements.$firstDropdown,eventManager,options);this.populateDropdownWithType(PPlaceType.CSI_NEIGHBORHOOD,PPlaceOrder.CANONICALNAME,formElements.$firstDropdown)}else if(boundaryType==P_PLACETYPE_AW_NEIGHBORHOOD_ID){form=new SingleDropdownSearch($form,formElements.$firstDropdown,eventManager,options);this.populateDropdownWithType(PPlaceType.AW_NEIGHBORHOOD,PPlaceOrder.CANONICALNAME,formElements.$firstDropdown)}else if(boundaryType==P_PLACETYPE_PHILA_CATCHMENT_ES_ID){form=new SingleDropdownSearch($form,formElements.$firstDropdown,eventManager,options);this.populateDropdownWithType(PPlaceType.PHILA_CATCHMENT_ES,PPlaceOrder.CANONICALNAME,formElements.$firstDropdown)}else{form=new LocationSearch($form,formElements.$textbox,eventManager,options)}return form};SearchFormBuilder.prototype.populateDropdown=function($dropdown,$optionsArray,defaultValue){$dropdown.empty();$dropdown.append($optionsArray);if(defaultValue!=null){$dropdown.val(defaultValue)}$dropdown.trigger("chosen:updated")};SearchFormBuilder.prototype.populateDropdownWithType=function(placeType,placeOrder,$dropdown,defaultValue){var self=this;placeLoader.loadType(placeType,placeOrder,function(places){var $optionsArray=[];for(var i=0;i<places.length;i++){var $option=$("<option />");$option.val(places[i].id);$option.text(places[i].getLabel());$optionsArray.push($option)}self.populateDropdown($dropdown,$optionsArray,defaultValue)})};SearchFormBuilder.prototype.populateDropdownWithStates=function($dropdown,defaultState){this.populateDropdown($dropdown,searchStates.getOptions(),defaultState.id)};var SearchForm=function($form,$formElements,eventManager,options){this.$form=$form;this.formElements=$formElements||[];this.eventManager=eventManager;this.options=options||{};this.$fluidWidthElement;this.errorMessages=[];if(!this.options.formWidth||!_.isNumber(this.options.formWidth)){this.options.formWidth=760}};SearchForm.prototype.bindEvents=function(){this.bindResizeEvent()};SearchForm.prototype.show=function(){var promises=[];var self=this;$.each(this.formElements,function(key,$elem){if($elem.is("select")){promises.push($elem.next().show().promise())}else{promises.push($elem.show().promise())}});$.when.apply(self,promises).done($.proxy(self.updateWidthOfFluidElement,self))};SearchForm.prototype.bindResizeEvent=function(){$(window).resize($.proxy(this.updateWidthOfFluidElement,this))};SearchForm.prototype.hide=function(){$.each(this.formElements,function(key,$elem){if($elem.is("select")){$elem.next().hide()}else{$elem.hide()}})};SearchForm.prototype.destroy=function(){$(window).off("resize",this.bindResizeEvent);$.each(this.formElements,function(key,$elem){if($elem.is("select")){$elem.off("change")}else{$elem.off()}});this.hide()};SearchForm.prototype.isValid=function(){$.each(this.formElements,function(key,$elem){if($elem.is("input:text")&&$elem.val().replace(/^\s+|\s+$/g)===""||$elem.val()==="0"||$elem.val()===""){return false}});return true};SearchForm.prototype.resetChosenWidth=function($dropdown){var $chosenDropdown=$dropdown.next();$chosenDropdown.css("width","auto");var $chosenContents=$chosenDropdown.find(".chosen-drop");$chosenContents.width(Math.max($chosenDropdown.width(),220))};SearchForm.prototype.updateWidthOfFluidElement=function(){var formPadding=41;var $fluidElement=this.$fluidWidthElement.is("select")?this.$fluidWidthElement.next():this.$fluidWidthElement;var self=this;if(this.$form.height()>$fluidElement.height()*1.5){$fluidElement.width(0);self.updateWidthOfFluidElement()}else{var elementLeftOffset=$fluidElement.position().left;var elementPaddingAndBorder=$fluidElement.outerWidth()-$fluidElement.width();var newWidth=this.options.formWidth-formPadding-elementLeftOffset-elementPaddingAndBorder;$fluidElement.width(newWidth);var $fluidElementResults=$fluidElement.find(".chosen-drop");if($fluidElementResults.length>0){$fluidElementResults.width(newWidth)}}};SearchForm.prototype.submit=function(){if(this.$form!==undefined){this.$form.submit()}};SearchForm.prototype.displayAlert=function(text){alerter.popup(text,"OK")};SearchForm.prototype.getErrorMessages=function(){return this.errorMessages};SearchForm.prototype.getLastErrorMessage=function(){return this.errorMessages[this.errorMessages.length-1]};var SearchStates=function(){this.states=[{name:"Alabama",id:1,abbreviation:"AL"},{name:"Alaska",id:2,abbreviation:"AK"},{name:"Arizona",id:4,abbreviation:"AZ"},{name:"Arkansas",id:5,abbreviation:"AR"},{name:"California",id:6,abbreviation:"CA"},{name:"Colorado",id:8,abbreviation:"CO"},{name:"Connecticut",id:9,abbreviation:"CT"},{name:"Delaware",id:10,abbreviation:"DE"},{name:"District of Columbia",id:11,abbreviation:"DC"},{name:"Florida",id:12,abbreviation:"FL"},{name:"Georgia",id:13,abbreviation:"GA"},{name:"Hawaii",id:15,abbreviation:"HI"},{name:"Idaho",id:16,abbreviation:"ID"},{name:"Illinois",id:17,abbreviation:"IL"},{name:"Indiana",id:18,abbreviation:"IN"},{name:"Iowa",id:19,abbreviation:"IA"},{name:"Kansas",id:20,abbreviation:"KS"},{name:"Kentucky",id:21,abbreviation:"KY"},{name:"Louisiana",id:22,abbreviation:"LA"},{name:"Maine",id:23,abbreviation:"ME"},{name:"Maryland",id:24,abbreviation:"MD"},{name:"Massachusetts",id:25,abbreviation:"MA"},{name:"Michigan",id:26,abbreviation:"MI"},{name:"Minnesota",id:27,abbreviation:"MN"},{name:"Mississippi",id:28,abbreviation:"MS"},{name:"Missouri",id:29,abbreviation:"MO"},{name:"Montana",id:30,abbreviation:"MT"},{name:"Nebraska",id:31,abbreviation:"NE"},{name:"Nevada",id:32,abbreviation:"NV"},{name:"New Hampshire",id:33,abbreviation:"NH"},{name:"New Jersey",id:34,abbreviation:"NJ"},{name:"New Mexico",id:35,abbreviation:"NM"},{name:"New York",id:36,abbreviation:"NY"},{name:"North Carolina",id:37,abbreviation:"NC"},{name:"North Dakota",id:38,abbreviation:"ND"},{name:"Ohio",id:39,abbreviation:"OH"},{name:"Oklahoma",id:40,abbreviation:"OK"},{name:"Oregon",id:41,abbreviation:"OR"},{name:"Pennsylvania",id:42,abbreviation:"PA"},{name:"Rhode Island",id:44,abbreviation:"RI"},{name:"South Carolina",id:45,abbreviation:"SC"},{name:"South Dakota",id:46,abbreviation:"SD"},{name:"Tennessee",id:47,abbreviation:"TN"},{name:"Texas",id:48,abbreviation:"TX"},{name:"Utah",id:49,abbreviation:"UT"},{name:"Vermont",id:50,abbreviation:"VT"},{name:"Virginia",id:51,abbreviation:"VA"},{name:"Washington",id:53,abbreviation:"WA"},{name:"West Virginia",id:54,abbreviation:"WV"},{name:"Wisconsin",id:55,abbreviation:"WI"},{name:"Wyoming",id:56,abbreviation:"WY"}];this.stateOptions=null};SearchStates.prototype.getByFIPS=function(fips){return _.find(this.states,function(curState){return curState.id==fips})};SearchStates.prototype.getByAbbreviation=function(abbreviation){return _.find(this.states,function(curState){return curState.abbreviation==abbreviation})};SearchStates.prototype.getOptions=function(){if(this.stateOptions==null){var self=this;this.stateOptions=[];limitStates=null;if(productProperty.exists("search_limit_states")){limitStates=productProperty.getValue("search_limit_states").split(",");_.each(limitStates,function(stateAbbr,i){limitStates[i]=stateAbbr.toLowerCase()})}_.each(this.states,function(state){if(limitStates==null||$.inArray(state.abbreviation.toLowerCase(),limitStates)!=-1){var $option=$("<option />");$option.val(state.id);$option.attr("title",state.abbreviation);$option.text(state.name);self.stateOptions.push($option)}})}return this.stateOptions};var DoubleDropdownSearch=function($form,$firstDropdown,$secondDropdown,eventManager,options){SearchForm.call(this,$form,[$firstDropdown,$secondDropdown],eventManager,options);var self=this;this.$firstDropdown=$firstDropdown;this.$secondDropdown=$secondDropdown;this.$fluidWidthElement=this.$secondDropdown;this.resetChosenWidth($firstDropdown);this.resetChosenWidth($secondDropdown);$firstDropdown.empty();$firstDropdown.trigger("chosen:updated");$secondDropdown.empty();$secondDropdown.trigger("chosen:updated");this.bindEvents();this.submit=function(){placeLoader.load([self.$secondDropdown.val()],function(places){self.eventManager.triggerEvent("response",places,self)})};if(!options.noAutoSubmit){$secondDropdown.change(function(){self.submit()})}};DoubleDropdownSearch.prototype=new SearchForm;var FipsSearch=function($form,typeId,$textbox,eventManager,options){SearchForm.call(this,$form,[$textbox],eventManager,options);this.typeId=parseInt(typeId,10);this.$textbox=$textbox;this.$textbox.val("");if(options.placeholderFips){this.placeholder=options.placeholderFips}else{this.placeholder=this.typeId===P_PLACETYPE_CENSUSTRACT_ID?"Enter full FIPS code of census tract":"Enter full FIPS code of block group"}this.$textbox.attr("placeholder",this.placeholder);this.$fluidWidthElement=this.$textbox;var self=this;var autoComplete=new SearchFormAutoComplete($form,this.typeId,this.$textbox,null);this.bindEvents();this.show();this.isValid=function(){var isValid=true;var query=this.$textbox.val();if(this.typeId===P_PLACETYPE_CENSUSTRACT_ID&&query.length!==11){this.errorMessages.push("FIPS ID is too short.  Expected length 11, got:"+query.length);isValid=false}else if(this.typeId===P_PLACETYPE_BLOCKGROUP_ID&&query.length!==12){this.errorMessages.push("FIPS ID is too short.  Expected length 12, got:"+query.length);isValid=false}if(isNaN(parseInt(query,10))){this.errorMessages.push("FIPS ID is not numeric");isValid=false}return isValid};this.submit=function(){var definitions=getBoundaryMatrixDefinitionIds(this.typeId);var query=self.$textbox.val();if(definitions.length>=1){submitFipsQuery(query,definitions)}else{self.displayAlert("Unable to perform FIPS search.")}};function submitFipsQuery(query,definitions){var callback=function(places){if(places.length>0){self.eventManager.triggerEvent("response",places,self)}else{fipsNotFoundAlert(query)}};placeLoader.loadFIPS(query,definitions,{ord:1},callback)}function fipsNotFoundAlert(query){self.displayAlert('Location "<b>'+query+"</b>\" was not found. For help finding census tracts and block groups, <a class='pagelinks' href='"+PEnvironment.blogUrl+"?p=3580' target='_blank'>click here</a>.")}function getBoundaryMatrixDefinitionIds(typeId){var definitionIds=[];var matrixIds=boundaryMatrix.getMatrixOrder(true);var addedDefs=[];for(var i=0;i<matrixIds.length;i++){try{var def=boundaryMatrix.getDefinitionIdForTypeId(typeId,matrixIds[i]);if(addedDefs[def]==null){definitionIds.push(def);addedDefs[def]=true}}catch(e){}}return definitionIds}this.destroy=function(){autoComplete.destroy();SearchForm.prototype.destroy.call(this)}};FipsSearch.prototype=new SearchForm;var LocationSearch=function($form,$textbox,eventManager,options,placeTypes,placeholder){SearchForm.call(this,$form,[$textbox],eventManager,options);var self=this;this.$textbox=$textbox;if(placeTypes!=null){this.placeTypes=placeTypes}else if(options.placeTypes){this.placeTypes=options.placeTypes}if(placeholder!=null){this.placeholder=placeholder}else if(options.placeholderLocation){this.placeholder=options.placeholderLocation}else{this.placeholder="Enter Address, City, County, State, or Zip"}this.$textbox.attr("placeholder",this.placeholder);this.$textbox.val("");this.$fluidWidthElement=$textbox;autoCompleteType=0;if(this.placeTypes&&$.isArray(this.placeTypes)&&this.placeTypes.length==1){autoCompleteType=this.placeTypes[0].getId()}var autoComplete=new SearchFormAutoComplete($form,autoCompleteType,this.$textbox,null);this.bindEvents();this.show();this.submit=function(){var query=self.$textbox.val();var matches=/^(-?\d+(\.\d+)?),(-?\d+(\.\d+)?)$/.exec(query);if(matches){var lat=parseFloat(matches[1]);var lng=parseFloat(matches[3]);if(lat>=90||lat<=-90||lng>=180||lng<=-180){self.displayAlert('"<b>'+query+'</b>" is not a valid latitude/longitude.');return}var address=new PAddress(lat+","+lng,lng,lat);self.eventManager.triggerEvent("response",address,self)}else{var placetypes;if(query.toLowerCase().indexOf(" county subdivision")!==-1){query=query.toLowerCase().replace(" county subdivision","");placetypes=[PPlaceType.COUNTY_SUBDIVISION]}else{placetypes=self.placeTypes}var o=P.CloneOptions;if(isCBClone()&&o.search_string_addon&&!/^[0-9]{5}$/.test(query)){var t=o.search_string_addon;var a=t.split(" ");if(query.toLowerCase().indexOf(a[0])==-1){query+=", "+t}else if(query.toLowerCase().indexOf(t)||query.toLowerCase().indexOf(a[0]+", "+a[1])){query+=", "+a[1]}}if(query.replace(/^\s+|\s+$/g,"")!==""){geocoder.getPlace(query,function(places){if(places.length>0){autoComplete.closeAutoComplete();self.eventManager.triggerEvent("response",places,self)}else{geocoder.getLocations(query,function(address){self.eventManager.triggerEvent("response",address,self)})}},5,PPlaceOrder.POPULATION,placetypes,null,null,null,null,true)}}};this.destroy=function(){autoComplete.destroy();SearchForm.prototype.destroy.call(this)}};LocationSearch.prototype=new SearchForm;var SchoolSearch=function($form,$statesDropdown,$textbox,eventManager,options){SearchForm.call(this,$form,[$statesDropdown,$textbox],eventManager,options);var self=this;this.$statesDropdown=$statesDropdown;this.$statesDropdown.val(this.options.defaultState);this.$statesDropdown.trigger("chosen:updated");this.$textbox=$textbox;this.$textbox.val("");if(options.placeholderSchool){this.placeholder=options.placeholderSchool}else{this.placeholder='e.g., "Springfield Unified"'}this.$textbox.attr("placeholder",this.placeholder);this.$fluidWidthElement=this.$textbox;this.$statesDropdown.next().css("width","auto");var autoComplete=new SearchFormAutoComplete($form,P_PLACETYPE_SCHOOL_ID,this.$textbox,this.$statesDropdown);var placeType=PPlaceType.SCHOOL;this.bindEvents();this.show();this.$statesDropdown.change(function(){self.updateWidthOfFluidElement()});this.submit=function(){var stateText=this.$statesDropdown.children("option:selected").text();var query=self.$textbox.val()+", "+stateText;geocoder.getPlace(query,function(places){if(places.length>0){self.eventManager.triggerEvent("response",places,self)}else{var content='Location "<b>'+self.$textbox.val()+'</b>" not found.';alerter.popup(content,"OK")}},5,PPlaceOrder.POPULATION,placeType)};this.destroy=function(){autoComplete.destroy();SearchForm.prototype.destroy.call(this)}};SchoolSearch.prototype=new SearchForm;var SingleDropdownSearch=function($form,$dropdown,eventManager,options){SearchForm.call(this,$form,[$dropdown],eventManager,options);var self=this;this.$dropdown=$dropdown;this.$fluidWidthElement=this.$dropdown;this.resetChosenWidth($dropdown);$dropdown.empty();$dropdown.trigger("chosen:updated");this.bindEvents();this.submit=function(){placeLoader.load([this.$dropdown.val()],function(places){self.eventManager.triggerEvent("response",places,self)})};if(!options.noAutoSubmit){$dropdown.change(function(){self.submit()})}};SingleDropdownSearch.prototype=new SearchForm;var TripleDropdownSearch=function($form,$firstDropdown,$secondDropdown,$thirdDropdown,eventManager,options){SearchForm.call(this,$form,[$firstDropdown,$secondDropdown,$thirdDropdown],eventManager,options);var self=this;this.$firstDropdown=$firstDropdown;this.$secondDropdown=$secondDropdown;this.$thirdDropdown=$thirdDropdown;this.$fluidWidthElement=this.$thirdDropdown;this.resetChosenWidth($firstDropdown);this.resetChosenWidth($secondDropdown);this.resetChosenWidth($thirdDropdown);$firstDropdown.empty();$firstDropdown.trigger("chosen:updated");$secondDropdown.empty();$secondDropdown.trigger("chosen:updated");$thirdDropdown.empty();$thirdDropdown.trigger("chosen:updated");this.bindEvents();this.submit=function(){placeLoader.load([self.$thirdDropdown.val()],function(places){self.eventManager.triggerEvent("response",places,self)})};if(!options.noAutoSubmit){$thirdDropdown.change(function(){self.submit()})}};TripleDropdownSearch.prototype=new SearchForm;function displaySenators(aggregates,places){var USSenators=[{AL:"Jeff Sessions (R-AL)"},{AL:"Richard C. Shelby (R-AL)"},{AK:"Daniel Sullivan (R-AK)"},{AK:"Lisa Murkowski (R-AK)"},{AZ:"Jeff Flake (R-AZ)"},{AZ:"John McCain (R-AZ)"},{AR:"Tom Cotton (R-AR)"},{AR:"John Boozman (R-AR)"},{CA:"Barbara Boxer (D-CA)"},{CA:"Dianne Feinstein (D-CA)"},{CO:"Michael F. Bennet (D-CO)"},{CO:"Cory Gardner (R-CO)"},{CT:"Christopher Murphy (D-CT)"},{CT:"Richard Blumenthal (D-CT)"},{DE:"Christopher A. Coons (D-DE)"},{DE:"Thomas R. Carper (D-DE)"},{FL:"Marco Rubio (R-FL)"},{FL:"Bill Nelson (D-FL)"},{GA:"Johnny Isakson (R-GA)"},{GA:"David Perdue (R-GA)"},{HI:"Mazie K. Hirono (D-HI)"},{HI:"Brian Schatz (D-HI)"},{ID:"James E. Risch (R-ID)"},{ID:"Mike Crapo (R-ID)"},{IL:"Mark Kirk (R-IL)"},{IL:"Richard J. Durbin (D-IL)"},{IN:"Daniel Coats (R-IN)"},{IN:"Joe Donnelly (D-IN)"},{IA:"Joni Ernst (R-IA)"},{IA:"Chuck Grassley (R-IA)"},{KS:"Pat Roberts (R-KS)"},{KS:"Jerry Moran (R-KS)"},{KY:"Rand Paul (R-KY)"},{KY:"Mitch McConnell (R-KY)"},{LA:"David Vitter (R-LA)"},{LA:"Bill Cassidy (R-LA)"},{ME:"Susan M. Collins (R-ME)"},{ME:"Angus S. King Jr. (I-ME)"},{MD:"Benjamin L. Cardin (D-MD)"},{MD:"Barbara A. Mikulski (D-MD)"},{MA:"Ed Markey (D-MA)"},{MA:"Elizabeth Warren (D-MA)"},{MI:"Debbie Stabenow (D-MI)"},{MI:"Gary Peters (D-MI)"},{MN:"Amy Klobuchar (D-MN)"},{MN:"Al Franken (D-MN)"},{MS:"Roger F. Wicker (R-MS)"},{MS:"Thad Cochran (R-MS)"},{MO:"Claire McCaskill (D-MO)"},{MO:"Roy Blunt (R-MO)"},{MT:"Jon Tester (D-MT)"},{MT:"Steve Daines (R-MT)"},{NE:"Ben Sasse (R-NE)"},{NE:"Deb Fischer (R-NE)"},{NV:"Dean Heller (R-NV)"},{NV:"Harry Reid (D-NV)"},{NH:"Jeanne Shaheen (D-NH)"},{NH:"Kelly Ayotte (R-NH)"},{NJ:"Robert Menendez (D-NJ)"},{NJ:"Cory Booker (D-NJ)"},{NM:"Tom Udall (D-NM)"},{NM:"Martin Heinrich (D-NM)"},{NY:"Kirsten E. Gillibrand (D-NY)"},{NY:"Charles E. Schumer (D-NY)"},{NC:"Thom Tillis (R-NC)"},{NC:"Richard Burr (R-NC)"},{ND:"John Hoeven (R-ND)"},{ND:"Heidi Heitkamp (D-ND)"},{OH:"Sherrod Brown (D-OH)"},{OH:"Rob Portman (R-OH)"},{OK:"James Lankford (R-OK)"},{OK:"James M. Inhofe (R-OK)"},{OR:"Jeff Merkley (D-OR)"},{OR:"Ron Wyden (D-OR)"},{PA:"Robert P. Casey, Jr (D-PA)"},{PA:"Patrick J. Toomey (R-PA)"},{RI:"Sheldon Whitehouse (D-RI)"},{RI:"Jack Reed (D-RI)"},{SC:"Tim Scott (R-SC)"},{SC:"Lindsey Graham (R-SC)"},{SD:"John Thune (R-SD)"},{SD:"Mike Rounds (R-SD)"},{TN:"Bob Corker (R-TN)"},{TN:"Lamar Alexander (R-TN)"},{TX:"John Cornyn (R-TX)"},{TX:"Ted Cruz (R-TX)"},{UT:"Mike Lee (R-UT)"},{UT:"Orrin G. Hatch (R-UT)"},{VT:"Bernard Sanders (I-VT)"},{VT:"Patrick J. Leahy (D-VT)"},{VA:"Mark R. Warner (D-VA)"},{VA:"Tim Kaine (D-VA)"},{WA:"Maria Cantwell (D-WA)"},{WA:"Patty Murray (D-WA)"},{WV:"Shelley Moore Capito (R-WV)"},{WV:"Joe Manchin III (D-WV)"},{WI:"Ron Johnson (R-WI)"},{WI:"Tammy Baldwin (D-WI)"},{WY:"John Barrasso (R-WY)"},{WY:"Michael B. Enzi (R-WY)"}];var states=[];var hash={};for(var i=0;i<aggregates.length;i++)hash[aggregates[i].getState()]=true;for(value in hash)states.push(value);if(states.length==0||states.length==1&&states[0]=="null"){var s=getState(places);states=[s.state]}var sendiv=document.getElementById("senators");sendiv.style.color="";sendiv.className="districttext";var senHtml="";for(var j=0;j<states.length;j++){for(var i=0;i<USSenators.length;i++){if(USSenators[i][states[j]]){senHtml+=USSenators[i][states[j]]+", "}}}sendiv.innerHTML=senHtml.substring(0,senHtml.length-2)}jQuery(document).bind("keydown","Ctrl+Shift+space",function(){if(!P.constants.isKeyboardAccessOn){initKeyboardAccessibility();P.constants.isKeyboardAccessOn=true}else{P.constants.isKeyboardAccessOn=false}});function initKeyboardAccessibility(){var $tabs=$(".taxonomy__tabs").find("a");$tabs.attr("href","javscript:void(0)");var majorTools={};majorTools.options=[];majorTools.options.push($("#textOnlyLink"));var links=[];links.push(jQuery("#searchboxtabs").find("a"));links.push(jQuery("#nav").find("a"));if(jQuery("#ind_menu_widget").css("display")!="none"&&jQuery("#widgetcolumn").css("display")!="none")links.push(jQuery("#ind_menu_widget").find("a"));links.push(jQuery("#legend").find("a"));if(jQuery("#addsites").css("display")!="none"&&jQuery("#widgetcolumn").css("display")!="none")links.push(jQuery("#addsites").find("a"));for(var j=0;j<links.length;j++){for(var i=0;i<links[j].length;i++){if(jQuery(links[j][i]).attr("href")){majorTools.options.push(links[j][i]);break}}}var $mapLink=$("#tab_maps").find("a").first();if($mapLink.length>0){majorTools.options.push($mapLink)}var $tax=$(".taxonomy__tabs").find("a").first();if($tax.length>0){majorTools.options.push($tax)}var $mapLayers=$("#mapOptionsLayer");if($mapLayers.length>0){majorTools.options.push($mapLayers)}var $mapLayers=$(".map-options__map-boundaries");if($mapLayers.length>0){majorTools.options.push($mapLayers)}majorTools.index=0;if($mapLink.length>0){$mapLink.focus()}else{$mapLink.focus()}if(map){$(document).bind("keydown","Ctrl+up",function(){map.zoomIn()});$(document).bind("keydown","Ctrl+down",function(){map.zoomOut()})}$(document).bind("keydown","Ctrl+right",function(){majorTools.index++;if(majorTools.index>majorTools.options.length-1){majorTools.index=0}majorTools.options[majorTools.index].focus()});$(document).bind("keydown","Ctrl+left",function(){majorTools.index--;if(majorTools.index<0){majorTools.index=majorTools.options.length-1}$(majorTools.options[majorTools.index]).focus()});$(document).bind("keydown","Shift+right",function(event){var focused=$(":focus");var $tabs=$(".taxonomy__tab").find("a");$tabs.each(function(index){if($(this).is(":focus")){var num=index+1;if(index==$tabs.length-1){num=0}var tab=$tabs[num];$(tab).focus();return false}if(index==$tabs.length-1){$tabs.first().focus()}})});$(document).bind("keydown","Shift+left",function(event){var focused=$(":focus");var $tabs=$(".taxonomy__tab").find("a");$tabs.each(function(index){if($(this).is(":focus")){var num=index-1;if(index==0){num=$tabs.length-1}var tab=$tabs[num];$(tab).focus();return false}if(index==$tabs.length-1){$tabs.first().focus()}})});$(document).bind("keydown","space",function(){var f=$(":focus");if(f.is(":checked")){f.removeAttr("checked")}else{f.attr("checked","true")}})}function subscribeOnLoad(){var publicText="Includes updated data related to crime, mortgage originations, demographics, health, jobs and more from public sources including Census, FBI, IRS, HHS or CDC.";var licensedText="Includes data from third-party private providers such as home sale statistics, school performance scores and transit lines.";var mapChartsText="Basic subscribers can create interactive maps and charts of all public data.  Standard and Premium subscribers gain access to licensed data for mapping and charts as well as customization tools for creating unique data ranges, color ramps, custom drawing/aggregations, and overlay of boundaries like congressional districts.";var reportsText="Generate on-the-fly market reports for cities, counties, zip codes, political districts, areas you draw or build on the map, or a radius around an address.";var threeLayerMapsText="Use 3-layer maps to find areas on a map that match up to 3 criteria and generate a list of resulting places.";var dataDownloadText="Download public datasets in excel format for use in your own work.";var selfServeText="Upload unlimited number of address files using the self-service data loader.  There is no limit.";var fullServeText="Premium subscribers can also send us up to 5,000 addresses or 5 thematic datasets to upload.  Full-serve includes any cleaning or filtering of data as requested.";var uploadShareText="Share any of the data you upload with anyone, anywhere. Share as interactive maps, JPEGs, PNGs or PDFs.";var interactiveMapsText="Premium subscription price includes the delivery of a widget for your website.  Widgets can be purchased by standard subscribers at an additional $500 each per year.";var privateLabelText="Site licenses can display your logo and your data &ndash; making it a perfect private label GIS tool.";var hoverElems=[{id:"public-column1",text:publicText},{id:"public-column2",text:publicText},{id:"public-column3",text:publicText},{id:"public-column4",text:publicText},{id:"public-column5",text:publicText},{id:"licensed-column2",text:licensedText},{id:"licensed-column3",text:licensedText},{id:"licensed-column4",text:licensedText},{id:"licensed-column5",text:licensedText},{id:"map-charts-column1",text:mapChartsText},{id:"map-charts-column2",text:mapChartsText},{id:"map-charts-column3",text:mapChartsText},{id:"map-charts-column4",text:mapChartsText},{id:"map-charts-column5",text:mapChartsText},{id:"reports-column2",text:reportsText},{id:"reports-column3",text:reportsText},{id:"reports-column4",text:reportsText},{id:"reports-column5",text:reportsText},{id:"mapping-analytics-column2",text:threeLayerMapsText},{id:"mapping-analytics-column3",text:threeLayerMapsText},{id:"mapping-analytics-column4",text:threeLayerMapsText},{id:"mapping-analytics-column5",text:threeLayerMapsText},{id:"data-download-column2",text:dataDownloadText},{id:"data-download-column3",text:dataDownloadText},{id:"data-download-column4",text:dataDownloadText},{id:"data-download-column5",text:dataDownloadText},{id:"self-serve-column2",text:selfServeText},{id:"self-serve-column3",text:selfServeText},{id:"self-serve-column4",text:selfServeText},{id:"self-serve-column5",text:selfServeText},{id:"full-serve-column3",text:fullServeText},{id:"full-serve-column4",text:fullServeText},{id:"full-serve-column5",text:fullServeText},{id:"upload-share-column2",text:uploadShareText},{id:"upload-share-column3",text:uploadShareText},{id:"upload-share-column4",text:uploadShareText},{id:"upload-share-column5",text:uploadShareText},{id:"interactive-maps-column3",text:interactiveMapsText},{id:"interactive-maps-column4",text:interactiveMapsText},{id:"interactive-maps-column5",text:interactiveMapsText},{id:"private-label-column5",text:privateLabelText}];for(var i=0;i<hoverElems.length;i++){var elem=$("#"+hoverElems[i].id);elem.addClass("has-hover");var text=hoverElems[i].text;elem.poshytip({content:text,className:"tip-pricing",showTimeout:1,alignTo:"target",alignX:"center",offsetY:5,fade:true,slide:false,allowTipHover:false})}}var SVGDocument=null;var toolTip=null;var tipBox=null;var tipText=null;var tipDesc=null;var lastElement=null;var hoverIsClicked=false;var currentClick=null;var theA=null;function hoverInit(doc){SVGDocument=doc;tipBox=SVGDocument.getElementById("tipBox");tipText=SVGDocument.getElementById("tipText");tipDesc=SVGDocument.getElementById("tipDesc");toolTip=SVGDocument.getElementById("toolTip");infoBubble=SVGDocument.getElementById("infoBubble")}function hoverShow(evt){var targetElement=evt.target;if(lastElement!=targetElement&&!hoverIsClicked){var targetDesc=targetElement.getElementsByTagName("desc").item(0);var theText=targetDesc.firstChild.nodeValue;var SVGDocument=targetElement.ownerDocument;var tipBox=SVGDocument.getElementById("tipBox");var tipText=SVGDocument.getElementById("tipText");var tipDesc=SVGDocument.getElementById("tipDesc");var toolTip=SVGDocument.getElementById("toolTip");var infoBubble=SVGDocument.getElementById("infoBubble");targetElement.setAttribute("stroke-opacity","1");while(tipDesc.firstChild){tipDesc.removeChild(tipDesc.firstChild)}var a=SVGDocument.createElement("a");a.setAttribute("xlink:href","http://wikipedia.org/"+theText);a.setAttribute("target","_blank");var text=SVGDocument.createTextNode(theText);a.appendChild(text);tipDesc.appendChild(text);tipDesc.appendChild(a);tipDesc.setAttributeNS(null,"display","inline");var outline=tipText.getBBox();var centerx=targetElement.getAttribute("centerx");var centery=targetElement.getAttribute("centery");var xPos=parseInt(centerx)+10;var yPos=parseInt(centery)-Number(outline.height)-10;
tipBox.setAttributeNS(null,"width",Number(outline.width)+20);tipBox.setAttributeNS(null,"height",Number(outline.height)+10);toolTip.setAttributeNS(null,"transform","translate("+(xPos-10)+","+(yPos-70)+")");toolTip.setAttributeNS(null,"visibility","visible");infoBubble.setAttributeNS(null,"width",Number(outline.width)+20);infoBubble.setAttributeNS(null,"height",Number(outline.height)+10);infoBubble.setAttributeNS(null,"transform","translate("+(xPos-40)+","+(yPos-110)+") scale (.3)");infoBubble.setAttributeNS(null,"visibility","visible");lastElement=targetElement}}function hoverHide(evt){if(!hoverIsClicked){var SVGDocument=evt.target.ownerDocument;var toolTip=SVGDocument.getElementById("toolTip");var infoBubble=SVGDocument.getElementById("infoBubble");evt.target.setAttribute("stroke-opacity","0");toolTip.setAttributeNS(null,"visibility","hidden");infoBubble.setAttributeNS(null,"visibility","hidden");lastElement=null}}function hoverClick(evt){hoverIsClicked=!hoverIsClicked;if(hoverIsClicked==false){if(currentClick!=evt){hoverHide(currentClick);hoverShow(evt)}currentClick=null}else{currentClick=evt}evt.stopPropagation()}function bubbleClick(evt){evt.stopPropagation()}function tablesPageLoader(){function initializeGlobals(){resetCubeQueue();P.instances.wkprint.setOrientation(P.WKPrint.LANDSCAPE);$chartDiv=$("#chart");P.instances.chart=new PChart($chartDiv[0]);var tableoptions=new PTableOptions;tableoptions.disableToggles=true;P.instances.table=new PTable(document.getElementById("table"),tableoptions,chart);P.instances.table.setCalculationColumn("mean");P.instances.pagePopUp=new PopUp;P.instances.rPlaces=new ReportPlaces;P.instances.rPins=new ReportPins;P.instances.rRanks=new ReportRanks;var $mapDiv=$("<div />");$mapDiv.attr("id","map");$mapDiv.css({width:"100%",height:"450px",position:"absolute",display:"none"});$chartDiv.parent().append($mapDiv);map=new PMap($mapDiv[0]);PPlaceTypeConfig.PLEGEND=new PPlaceTypeConfig;PPlaceTypeConfig.PLEGEND.zooms[0]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[3]=[PPlaceType.COUNTY,PPlaceType.CITY];PPlaceTypeConfig.PLEGEND.zooms[5]=PPlaceType.SCHOOL;PPlaceTypeConfig.PLEGEND.zooms[6]=PPlaceType.ZIP;PPlaceTypeConfig.PLEGEND.zooms[7]=PPlaceType.COUNTY_SUBDIVISION;PPlaceTypeConfig.PLEGEND.zooms[9]=PPlaceType.CENSUSTRACT;PPlaceTypeConfig.PLEGEND.zooms[12]=PPlaceType.BLOCKGROUP;printTemplate="PolicyMapMapPage";pmToolbar=new Toolbar;pmToolbar.disable("email","(Not Available)");pmToolbar.disable("embed","(Not Available)");pmToolbar.disable("download","(Not Available)")}function updateTableTitleAndLegendHeader(indicator){if(typeof indicator==="object"){var label=indicator.getFullLabel();var more=indicator.getDescription();var sources=indicator.getSources();$tableTitle.find(".title").text(label);$indicatorLegend.find(".legend__title__content").text(indicator.displayName);$indicatorLegend.find(".legend__title").show();if(sources.length>1){more+=" (See data directory for "+indicator.getSourceList(true)+".)"}else if(sources.length===1){var sourceURL=indicator.getSourceURL(sources[0]);if(sourceURL!==null){more+=" <a class='dataLink' target='_blank' href='"+sourceURL+"'>(see data directory)</a>";$indicatorLegend.find(".legend__title__source__content").html("<a class='dataLink' target='_blank' href='"+sourceURL+"'>"+sources[0].name+"</a>").show()}else{$indicatorLegend.find(".legend__title__source").hide()}}$(".content__header__additional-info__content p").html(more);$tableTitle.slideDown()}else{hideContentHeader()}}function updateLegendTrendCheckbox(indicator){var $trendCheckContainer=$("#legend__trend-toggle");$trendCheckContainer.empty();var allPeriods=indicator.getPeriods().slice();allPeriods.sort(function(a,b){return a<b?-1:1});var periods=[];for(var i=0;i<allPeriods.length;i++){if(allowPeriod(indicator,allPeriods[i])){periods.push(allPeriods[i])}}if(!indicator.areTrendsAllowed()){$trendCheckContainer.text("Not available");return}else if(periods.length<2){$trendCheckContainer.text("Only one year available");return}var $trendCheck=$("<input />");$trendCheck.attr({id:"legend__trend-check",type:"checkbox"});if(P.instances.chart.inTrendChart()){$trendCheck.attr("checked",true)}$trendCheck.change(function(){if($(this).is(":checked")){var placeCount=global_places.length;var bgCount=0;for(var i=0;i<placeCount;i++){if(global_places[i].getType()==PPlaceType.BLOCKGROUP){bgCount++}}if(bgCount>0){alerter.popup("Trend charts are not available for block groups. For an explanation of why block groups can't show in trend charts, <a href='http://www.policymap.com/blog/2013/11/arent-trend-charts-available-block-groups/' target='_blank'>click here</a>.","OK")}if(bgCount==placeCount){$(this).attr("checked",null)}else{P.instances.pagePopUp.hide();$("#legend__year-select").attr("disabled",true);$("#legend__month-select").attr("disabled",true);$("#legend__quarter-select").attr("disabled",true);setTablesPeriod(periods,true)}}else{$("#legend__year-select").attr("disabled",null);$("#legend__month-select").attr("disabled",null);$("#legend__quarter-select").attr("disabled",null);setTablesPeriod([legend.getIndicator().getPeriod()],true)}});var $trendCheckLabel=$("<label />");$trendCheckLabel.attr("for","legend__trend-check");$trendCheckLabel.text(periods[0].toUpperCase()+" - "+periods[periods.length-1].toUpperCase());$trendCheckContainer.append($trendCheck);$trendCheckContainer.append($trendCheckLabel)}function updateOverlaySetsInSession(){session.put("o",overlaySetUtil.getSetIds(P.instances.table.getOverlaySets(),"old"));session.put("dlo",overlaySetUtil.getSetIds(P.instances.table.getOverlaySets(),"dl"))}function toggleTableTitleAdditionalInfo(){if($tableHeaderToggle.hasClass("is-maximized")){$tableHeaderToggle.removeClass("is-maximized");$(".content__header__additional-info__content").slideUp()}else{$tableHeaderToggle.addClass("is-maximized");$(".content__header__additional-info__content").slideDown()}}function initializeLegend(){legend=widget=new PTRFIndicatorLegend(P.instances.map,P.instances.map.getLegend(),{enableToggle:true,enableShade:false,enableBreaks:false});var legendContainer=new PLegendContainer($indicatorLegend);legend.addListener("refresh",legendContainer.show,legendContainer);legend.addListener("clear",legendContainer.hide,legendContainer);legend.addListener("changed",updateTableTitleAndLegendHeader);var trfLegendIndicators=new TrfLegendIndicators($indicatorLegend);indToggle=legend.getIndicatorToggle();indToggle.addListener("refresh",trfLegendIndicators.refresh,trfLegendIndicators);indToggle.addListener("clear",trfLegendIndicators.clear,trfLegendIndicators);legendContainer.init()}function initializeCustomRegions(){polygonOptions=new PPolyCreatorOptions;polygonOptions.poly.weight=1;polygonOptions.poly.opacity=.5;polyCreator=polycreator=new PPolyCreator(polygonOptions);polyCreator.boundaryWidget=new PPolyCreatorBoundaryWidget(polyCreator);polyCreator.circleWidget=new PPolyCreatorCircleWidget(polyCreator);polyCreator.assembleInfoWidget=new PPolyCreatorAssembleInfoWidget(polyCreator);trfCustomRegions=new TrfCustomRegionsMenu(polyCreator,session);trfCustomRegions.once("change",function loadRegionFromSession(){if(session.get("cp")&&isSubscriber()){_.each(session.get("cp"),function(customRegionId){trfCustomRegions.addCustomRegionById(customRegionId)})}})}function loadTableFromSession(){session.checkUrl();var urlParms=getUrlParams();if((urlParms["cp"]!=null||urlParms["bid"]!=null&&urlParms["pname"]!=null&&urlParms["plat"]!=null&&urlParms["plng"]!=null)&&urlParms["ps"]==null){session.remove("ps")}if(session.get("i")){selectIndicators(session.get("i"))}if(session.get("o")||session.get("dlo")){var promises=[];if(session.get("o")){oids=session.get("o").toString().split(",");_.each(oids,function(oid){promises.push(getOverlaySet(oid,"old"))})}if(session.get("dlo")){dloids=session.get("dlo").toString().split(",");_.each(dloids,function(dloid){promises.push(getOverlaySet(dloid,"dl"))})}$.when.apply($,promises).then(function(){P.instances.table.clearOverlaySets();for(var i=0;i<arguments.length;i++){if(arguments[i]!=null){P.instances.table.addOverlaySet(arguments[i])}}})}var btid;if(session.get("agg")){btid=session.get("agg")}if(btid){for(var i=0;i<P_PLACETYPES.length;i++){if(P_PLACETYPES[i].id==btid){aggPlaceType=P_PLACETYPES[i];break}}}var loadCustom=false;var loadPoly=false;if(session.get("cp")&&custom_places.length==0&&isSubscriber()){loadCustom=true;onLoadRefreshCube(1)}if(session.get("bid")&&session.get("pname")&&session.get("plat")&&session.get("plng")&&ppolygon==null){loadPoly=true;onLoadRefreshCube(1)}if(loadCustom){polycreator.load(session.get("cp"),function(places){if(places.length>0){polycreator.addCustomRegionForTable(places,true);onLoadRefreshCube(0,places)}})}if(loadPoly){polycreator.polyload(session.get("bid"),session.get("pname"),session.get("plat"),session.get("plng"),function(places){if(places[0]){onLoadRefreshCube(0,places)}})}else{session.remove("bid");session.remove("pname");session.remove("plat");session.remove("plng")}if(session.get("chp")){addPlaceType(session.get("chp"));session.remove("chp")}else if(session.get("ps")||session.get("p")){var ps=session.get("ps")?session.get("ps"):"";ps+=session.get("p")&&ps.indexOf(session.get("p"))<0?(ps.length>0?",":"")+session.get("p"):"";addPlaceType(ps)}if(session.get("period")){var periods=session.get("period").split(",");if(periods.length>1){setTablesPeriod(periods)}}var nn=function(foo){return foo!=null};if(nn(urlParms["rpl1"])&&nn(urlParms["rpl2"])&&nn(urlParms["rpl3"])&&nn(urlParms["rpl4"])&&nn(urlParms["rpl5"])&&nn(urlParms["rpl6"])){var rpl10=50;if(nn(urlParms["rpl10"])){rpl10=urlParms["rpl10"]}P.instances.rPlaces.load(urlParms["rpl1"],urlParms["rpl2"],urlParms["rpl3"],urlParms["rpl4"],urlParms["rpl5"],urlParms["rpl6"],rpl10,urlParms["rpl8"])}else if(nn(urlParms["rpp1"])&&nn(urlParms["rpp2"])&&nn(urlParms["rpp3"])&&nn(urlParms["rpp4"])&&nn(urlParms["rpp5"])){var rpp9="old";if(nn(urlParms["rpp9"])){rpp9=urlParms["rpp9"]}P.instances.rPins.load(urlParms["rpp1"],urlParms["rpp2"],rpp9,urlParms["rpp3"],urlParms["rpp4"],urlParms["rpp5"],urlParms["rpp6"],null,urlParms["rpp8"])}var hideTablesWizard=getSession("hideTablesWizard");if(hideTablesWizard==1){}else{$wizard.fadeIn("slow")}}var debug=new P.Debug;debug.override("MPL");var $window=$(window);var $indicatorLegend=$(".legend--tables");var $tableHeaderToggle=$(".content__header__additional-info__toggle");var $tableTitle=$(".content__header");var $wizard=$(".wizard");var indToggle;var legendContainer;var trfLegendIndicators;var trfLegendBreaks;var trfLegendShadeBy;var indicatorShade;var polygonOptions;var polyCreator;var trfCustomRegions;initializeSearchForm();initializeGlobals();initializeLegend();initializeCustomRegions();$tableHeaderToggle.click(toggleTableTitleAdditionalInfo);$(".content__header .title").click(toggleTableTitleAdditionalInfo);$(".content__header__additional-info__close").click(function(){$tableHeaderToggle.removeClass("is-maximized");$(".content__header__additional-info__content").slideUp()});$(".legend__indicators select").chosen({disable_search_threshold:15,width:"142px"});$(".content__header__close-icon").click(function(){clearTableData()});$(".map-options__reset").click(resetMapAlert);$(".map-options__clear-location").click(function(event){event.preventDefault();clearLocationAlert()});PEvent.addListener(polyCreator,"addpoly",function(points){polyCreator.showSaveInfoWindow(points[0])});function hideContentHeader(){$(".content__header").slideUp()}search.addListener("response",function(places){setTablesPlaces(places,search.getSearchString())});$(window).on(P.events.LOGGED_IN,function(){refreshCube()});resizeChartTable();$(window).resize(function(){resizeChartTable()});var tempMap={};tempMap.getIndicator=function(){if(global_indicators.length>0){return global_indicators[0]}else{return null}};var taxonomyMenu=new TaxonomyMenu($(".taxonomy"),$(".taxonomy-menu"),debug,tempMap);taxonomyMenu.on("show",function(){trfCustomRegions.hide()});taxonomyMenu.once("change",function(){loadTableFromSession()});trfCustomRegions.on("show",function(){taxonomyMenu.hide()});P.instances.table.addListener("setindicator",function(indicator){updateTableTitleAndLegendHeader(indicator);updateLegendTrendCheckbox(indicator);var favorites=taxonomyMenu.getFavorites();if(favorites!=null){favorites.updateFavoritesIcon()}taxonomyMenu.hide()});P.instances.table.addListener("removeindicator",function(){hideContentHeader();taxonomyMenu.resetActiveRootNodes()});P.instances.table.addListener("addoverlayset",function(){updateOverlaySetsInSession()});P.instances.table.addListener("removeoverlayset",function(){updateOverlaySetsInSession()});P.instances.table.addListener("clearoverlaysets",function(){updateOverlaySetsInSession()});legend.addListener("clear",function(){hideContentHeader()});PEvent.addListener(window,"beforeunload",function(){session.save()});$window.unload(function(){PUnload()});$("#wizard_on").click(function(){$(this).hide();$wizard.fadeIn("slow");deleteSession("hideTablesWizard")});$("#wizard_get_started").click(function(){if($wizard.find(".wizard__form__checkbox").attr("checked")){setSession("hideTablesWizard",1)}$wizard.fadeOut();$("#wizard_on").show()})}function resizeChartTable(){var div=$("#chartTable");var pos=getObjectPosition(div[0]);var width=$(window).width();var newWidth=width-pos[0]-40}function onLoadRefreshCube(add,places){if(add>0){onLoadCounter=onLoadCounter+add}else if(add==0){onLoadCounter=onLoadCounter-1;for(var i=0;i<places.length;i++){onLoadPlaces.push(places[i])}if(onLoadCounter<=0){onLoadCounter=0;refreshCubeQueue(onLoadPlaces)}}}function clearTableData(){P.instances.table.clear();P.instances.chart.clear();legend.clear();P.instances.pagePopUp.hide();global_indicators=[];clearHideSimilarBox();$("#aggFootnote").hide();session.remove("i");if(global_indicators.length<=0&&global_places.length>0){P.instances.table.cube=new PCube([],global_places,[]);P.instances.table.refresh()}resetChart();P.instances.table.eventManager.triggerEvent("removeindicator")}function clearHideSimilarBox(){var similarBox=$("#similarBox");similarBox.slideUp(null,function(){similarBox.text("")})}function displaySimilarBox(html){var similarBox=$("#similarBox");similarBox.html(html);similarBox.slideDown()}function addPlaceType(id){clearHideSimilarBox();placeLoader.load([id],function(places){if(places.length==0)alert('Place "'+id+'" not found');if(places.length>0){session.remove("place");refreshCubeQueue(places)}})}function setTablesPlaces(candidatePlaces,searchString){var places=[];if(searchString){if(candidatePlaces)for(var i=0;i<candidatePlaces.length;++i){if(candidatePlaces[i].getLabel().toLowerCase().indexOf(searchString.toLowerCase())==0){places.push(candidatePlaces[i])}}for(var i=0;i<candidatePlaces.length;++i){if(candidatePlaces[i].getLabel().toLowerCase().indexOf(searchString.toLowerCase())!=0){places.push(candidatePlaces[i])}}}else{places=candidatePlaces}var html=null;clearHideSimilarBox();if(places instanceof PAddress){alerter.popup("No data available for addresses.","OK");return}else{var l=places.length;var full=places;places=[];var p;for(var i=0;i<l;i++){p=full[i];if(p.country=="United States"){places.push(p)}}if(places.length==0){var sstr=search.getSearchString();alerter.popup('Location "<b>'+(sstr&&sstr!=""?sstr:session.placeName)+'</b>" not found.',"OK");return}else if(places.length>1){var html=createPlacesDiv(places);displaySimilarBox(html);refreshCubeQueue([places[0]])}else{refreshCubeQueue([places[0]])}}}function setTablesPeriod(periods){var chartoptions=new PChartOptions;var tableoptions=P.instances.table.options;if(periods.length>1){chartoptions.xAxis=PChartOptions.PERIOD;chartoptions.group=PChartOptions.PLACE;chartoptions.type=PChartOptions.LINE;tableoptions.row=PTableOptions.PLACE;tableoptions.displayPeriods=true}else{tableoptions.row=PTableOptions.INDICATOR;tableoptions.displayPeriods=false}if(periods.length>15)P.instances.chart.container.style.width=40*periods.length+"px";else P.instances.chart.container.style.width="600px";P.instances.chart.setOptions(chartoptions);while(global_periods.length>0)global_periods.pop();for(var i=0;i<periods.length;i++)global_periods.push(periods[i]);legend.refresh();refreshCube()}function getAggregatePlaceTypes(indicator,period,place){var placeTypes=[];if(place!=null){var zoomLevel=map.setCenterBoundsAndGetZoomLevelByViewPort(place.getBounds(),1e3,450);var aggRule=null;if(indicator!=null){var perIndex=null;if(period!=null){perIndex=indicator.getPeriodIndex(period)}if(perIndex==null||perIndex===false){perIndex=indicator.curPerIndex}aggRule=indicator.aggregationRules[perIndex]}placeTypes=PPlaceTypeConfig2.AGGREGATION.getBestFitOut(zoomLevel,aggRule)}return placeTypes}function refreshCubeQueue(places,sites,indicator){if(places!=null&&places instanceof Array){for(var i=0;i<places.length;i++){var curPlace=places[i];var addToQueue=true;for(var j=0;j<cubeQueue.places.length;j++){if(cubeQueue.places[j].getID()==curPlace.getID()){addToQueue=false;break}}if(addToQueue){cubeQueue.places.push(curPlace)}}}if(sites!=null&&sites instanceof Array){for(var i=0;i<sites.length;i++){var curSite=sites[i];var addToQueue=true;for(var j=0;j<cubeQueue.sites.length;j++){if(cubeQueue.sites[j].id==curSite.id&&cubeQueue.sites[j].type==curSite.type){addToQueue=false;break}}if(addToQueue){cubeQueue.sites.push(curSite)}}}if(indicator!=null){cubeQueue.indicator=indicator}if(!refreshCubeRunning){loadCubeQueue()}}function loadCubeQueue(){if(cubeQueue.indicator!=null){global_indicators.pop();global_indicators.push(cubeQueue.indicator);if(global_periods.length>1){var periodCopy=new Array;var periods=cubeQueue.indicator.getPeriods();for(var i=0;i<periods.length;i++){periodCopy[i]=periods[i]}setTablesPeriod(periodCopy.sort(function(a,b){return a<b?-1:1}))}else{setTablesPeriod([cubeQueue.indicator.getPeriod()])}legend.refresh();P.instances.table.eventManager.triggerEvent("setindicator",cubeQueue.indicator);cubeQueue.indicator=null}else if(cubeQueue.places.length>0){for(var i=0;i<cubeQueue.places.length;i++){if(cubeQueue.places[i].getType()==PPlaceType.CUSTOM){custom_places.push(cubeQueue.places[i])}else if(cubeQueue.places[i].getType()==PPlaceType.POLYGON){ppolygon=cubeQueue.places[i]}else{global_places.push(cubeQueue.places[i]);updateSessionPlaces()}}cubeQueue.places=[];refreshCube()}else if(cubeQueue.sites.length>0){for(var i=0;i<cubeQueue.sites.length;i++){P.instances.table.addOverlaySet(cubeQueue.sites[i])}cubeQueue.sites=[];P.instances.table.refreshOverlaySets()}}function updateSessionPlaces(){var pids=[];for(var i=0;i<global_places.length;i++){if(global_places[i].getType()!=PPlaceType.CUSTOM&&global_places[i].getType()!=PPlaceType.POLYGON){pids.push(global_places[i].id)}}if(pids.length>0){session.put("ps",pids.join(","));session.put("p",pids[pids.length-1])}else{session.remove("ps");session.remove("p")}}function updatePlacesForIndicatorMatrix(callback){if(global_indicators==null||global_indicators[0]==null){callback();return}var indicator=global_indicators[0];var matrixId=indicator.matrixIds[indicator.curPerIndex];var boundIds=[];var defIds=[];var gpMapping=[];for(var i=0;i<global_places.length;i++){var currentPlace=global_places[i];var placeType=currentPlace.getType();if(placeType!=PPlaceType.CUSTOM&&placeType!=PPlaceType.POLYGON){var defId;try{defId=boundaryMatrix.getDefinitionIdForTypeId(placeType.getId(),matrixId)}catch(e){continue}if(defId==currentPlace.getDefinitionId()){continue}var boundId=currentPlace.getID();if($.inArray(boundId,boundIds)==-1){boundIds.push(boundId)}if($.inArray(defId,defIds)==-1){defIds.push(defId)}gpMapping[boundId]=i}}if(boundIds.length<1){callback();return}placeLoader.loadOneToOne(boundIds,defIds,true,false,function(mappings){var swappedBoundaries={};var popupOpen=P.instances.pagePopUp&&P.instances.pagePopUp.elm&&P.instances.pagePopUp.elm.is(":visible");for(var i=0;i<boundIds.length;i++){var boundId=boundIds[i];swappedBoundaries[boundId]=false;for(var j=0;j<mappings[boundId].length;j++){var currentMapping=mappings[boundId][j];if(boundaryMatrix.isDefinitionIdInMatrix(currentMapping.getDefinitionId(),matrixId)){var placeType=currentMapping.getType();if(placeType==PPlaceType.BLOCKGROUP||placeType==PPlaceType.CENSUSTRACT&&currentMapping.getIdentifier()!=global_places[gpMapping[boundId]].getIdentifier()||currentMapping.getLabel()!=global_places[gpMapping[boundId]].getLabel()){break}global_places[gpMapping[boundId]]=currentMapping;swappedBoundaries[boundId]=true;if(popupOpen){if(P.instances.rRanks&&P.instances.rRanks.place&&P.instances.rRanks.place.getID()==boundId){P.instances.rRanks.place=currentMapping}if(P.instances.rPlaces&&(P.instances.rPlaces.place&&P.instances.rPlaces.place.getID()==boundId||P.instances.rPlaces.placeId&&P.instances.rPlaces.placeId==boundId)){P.instances.rPlaces.place=currentMapping;P.instances.rPlaces.placeId=currentMapping.getID();P.instances.rPlaces.placeName=P.instances.table.getPlaceLabel(currentMapping)}if(P.instances.rPins&&(P.instances.rPins.place&&P.instances.rPins.place.getID()==boundId||P.instances.rPins.placeId&&P.instances.rPins.placeId==boundId)){P.instances.rPins.place=currentMapping;P.instances.rPins.placeId=currentMapping.getID();P.instances.rPins.placeName=P.instances.table.getPlaceLabel(currentMapping)}}}}}if(popupOpen){for(boundId in swappedBoundaries){if(swappedBoundaries[boundId]==false){closePlacePopup(boundId)}}}updateSessionPlaces();callback()})}function refreshCubePlaces(){if(P.instances.table.options.displayPeriods==false&&isSubscriber()&&!isTrial()){P.instances.table.rankRow=null;rankingCube=new PRankingCube(global_indicators,global_places,global_periods);rankingCube.setOptions(new PRankingCubeOptions({loadValues:false,loadRanks:true}));rankingCube.loadValues(function(v){this.loading=false;this.values=v;P.instances.table.refreshRanks(true)})}var trendChart=P.instances.chart&&P.instances.chart.inTrendChart();var placesToLoad;if(trendChart){placesToLoad=placesWithoutBlockGroups(global_places)}else{placesToLoad=global_places}cube=new PCube(global_indicators,placesToLoad,global_periods);PEvent.addListener(cube,"remove",cubeRemoveListener);if(cube.places.length>0){cube.loadValues(function(values){this.values=values;cubeLoadValuesCommon(this);P.instances.chart.setData(this);P.instances.table.setData(this);P.instances.chart.refresh();P.instances.table.refresh();rotateLabels();refreshCubeFinished()},{includeMappings:trendChart})}else{refreshCubeFinished()}if(!session.get("i")){var tmpCube=new PCube([],global_places,[]);PEvent.addListener(tmpCube,"remove",cubeRemoveListener);P.instances.table.setData(tmpCube);P.instances.table.refresh()}}function refreshCubeAggregatePlaces(agg_places){var aggCount=0;var aggTotal=agg_places.length*global_periods.length;for(var i=0;i<agg_places.length;i++){var curAggPlace=agg_places[i];if(global_indicators&&global_indicators.length>0){var curInd=global_indicators[0];for(var j=0;j<global_periods.length;j++){var curPeriod=global_periods[j];var curMatrixId=curInd.matrixIds[curInd.getPeriodIndex(curPeriod)];var aggregatePlaceTypes=[];if(aggPlaceType){aggregatePlaceTypes=[aggPlaceType]}else{aggregatePlaceTypes=getAggregatePlaceTypes(curInd,curPeriod,curAggPlace).slice(0);if(curAggPlace.isAssembledCustom()){var firstBoundary=curAggPlace.getAssembledPlaces()[0];var type=firstBoundary.getType();var defId=firstBoundary.getDefinitionId();if(type!=PPlaceType.ZIP&&curInd.hasPlaceType(type,curPeriod)&&boundaryMatrix.isDefinitionIdInMatrix(defId,curMatrixId)){var typeIndex=null;for(var k=0;k<aggregatePlaceTypes.length;k++){if(aggregatePlaceTypes[k]==type){typeIndex=k;break}}if(typeIndex!=null){if(typeIndex!=0){aggregatePlaceTypes.splice(typeIndex,1);aggregatePlaceTypes.unshift(type)}}else{aggregatePlaceTypes.unshift(type)}}}}if(aggregatePlaceTypes.length>0){aggData.values[curAggPlace.id]={};aggData.types[curAggPlace.id]={};var aggregateValuesAllComplete=function(){var trendChart=P.instances.chart&&P.instances.chart.inTrendChart();var placesToLoad;if(trendChart){placesToLoad=placesWithoutBlockGroups(global_places)}else{placesToLoad=global_places}cube=new PCube(global_indicators,placesToLoad,global_periods);PEvent.addListener(cube,"remove",cubeRemoveListener);cube.loadValues(function(values){this.values=values;cubeLoadValuesCommon(this);if(P.instances.table.options.displayPeriods==false&&isSubscriber()&&!isTrial()){P.instances.table.rankRow=null;rankingCube=new PRankingCube(global_indicators,global_places,global_periods);rankingCube.setOptions(new PRankingCubeOptions({loadValues:false,loadRanks:true}));rankingCube.loadValues(function(v){this.loading=false;this.values=v;P.instances.table.refreshRanks(true)})}for(aggDataPlaceId in aggData.values){for(aggDataPeriod in aggData.values[aggDataPlaceId]){this.values[aggDataPeriod][aggDataPlaceId][this.indicators[0].id]=aggData.values[aggDataPlaceId][aggDataPeriod]}}P.instances.chart.setData(this);P.instances.table.setData(this);P.instances.chart.refresh();P.instances.table.refresh();rotateLabels();refreshCubeFinished()},{includeMappings:trendChart})};var aggregate=function(aggregatePlaces,aggPlace,aggPeriod){var customcube=new PCube(global_indicators,aggregatePlaces,[aggPeriod]);customcube.loadValues(function(customvalues){this.values=customvalues;var aggregatePlaceType=this.places[0].getType();if($.inArray(aggPlace,global_places)==-1){global_places.push(aggPlace)}var cpvalue=null;var allowVal=true;var ltvIndicators=[9589402,9589355];for(var k=0;k<ltvIndicators.length;k++){if(this.indicators[0].id==ltvIndicators[k]){allowVal=false}}if(allowVal){var curAgg=new Object;curAgg.type=aggregatePlaceType;curAgg.touch=false;aggData.types[aggPlace.id][this.periods[0]]=curAgg}var isAggregatable=this.indicators[0].isDataAggregatable();if(allowVal&&isAggregatable){if(this.places.length<=500){cpvalue=this.getSumOfPlacesNullCheck(this.indicators[0],this.periods[0]);if(cpvalue==null){cpvalue="<span class='unable'>Unable to aggregate by "+aggregatePlaceType.getName()+"; data coverage is incomplete</span>"}}else{cpvalue="<span class='unable'>Unable to aggregate by "+aggregatePlaceType.getName()+"; exceeds maximum of 500 boundaries</span>"}}else if(this.indicators[0].measurement=="percent"){cpvalue="<span class='unable'>Aggregated values N/A for percentages</span>"}else{cpvalue="<span class='unable'>Aggregated values N/A for this data type</span>"}aggData.values[aggPlace.id][this.periods[0]]=cpvalue;aggCount++;if(aggCount==aggTotal){aggregateValuesAllComplete()}})};var displayFirstSuccessfulAggregate=function(k,aggPlace,aggPlaceTypes,aggPeriod,aggMatrixId){var polyplace=aggPlace;if(k<aggPlaceTypes.length){if(curInd.getPeriods()[curInd.curPerIndex]=="2000"&&curInd.containsSource(/census/i,true)&&aggPlaceTypes[k]==PPlaceType.ZIP){displayFirstSuccessfulAggregate(k+1,aggPlace,aggPlaceTypes,aggPeriod,aggMatrixId)}else{var overlap=curInd.overlapPercentages[curInd.curPerIndex];if(overlap==null){overlap=50}polyplace.getAggregateCount(aggPlaceTypes[k],aggMatrixId,null,function(count){if(count>0){polyplace.getAggregates(aggPlaceTypes[k],aggMatrixId,null,function(aggregates){aggregate(aggregates,aggPlace,aggPeriod)},overlap,null,null,null,null,null,null,50,"id,label,typeid,centroid,bounds,area,state,country")}else{displayFirstSuccessfulAggregate(k+1,aggPlace,aggPlaceTypes,aggPeriod,aggMatrixId)}},overlap)}}else{var cpvalue="<span class='unable'>";if(aggPlaceType){cpvalue+="Unable to aggregate by "+aggPlaceType.getName()+"; more than 50% of each boundary exists outside region"}else{cpvalue+="Area too small for aggregation"}cpvalue+="</span>";aggData.values[aggPlace.id][aggPeriod]=cpvalue;var curAgg=new Object;curAgg.type=aggPlaceTypes[aggPlaceTypes.length-1];curAgg.touch=true;aggData.types[aggPlace.id][aggPeriod]=curAgg;if($.inArray(aggPlace,global_places)==-1){global_places.push(aggPlace)}aggCount++;if(aggCount==aggTotal){aggregateValuesAllComplete()}}};displayFirstSuccessfulAggregate(0,curAggPlace,aggregatePlaceTypes,curPeriod,curMatrixId)}}}else{if($.inArray(aggPlace,global_places)==-1){global_places.push(aggPlace)}P.instances.table.cube=new PCube([],global_places,[]);P.instances.table.refresh();rotateLabels();refreshCubeFinished()}}$("#aggFootnote").show()}function cubeLoadValuesCommon(theCube){if(theCube.periods.length>15){P.instances.chart.container.style.cssFloat="left";P.instances.chart.container.style.styleFloat="left"}else{P.instances.chart.container.style.cssFloat="none";P.instances.chart.container.style.styleFloat="none"}var printlink=document.getElementById("printLink");if(!printlink)var printlink=document.getElementById("saveLink");var indid=theCube.indicators[0].id;var unemp=[9841100,9841103,9841108,9841101];var buildperm=[9845550,9845551,9845552,9845553,9845554,9845555,9845557,9845558,9845560,9845561,9845562,9845563,9845564,9845566,9845567,9845570,9845571];var indids=unemp.concat(buildperm);var disablePrint=false;for(var i=0;i<indids.length;i++){if(indids[i]==indid)disablePrint=true}if(theCube.periods.length>1&&disablePrint){}else{}}function refreshCube(){refreshCubeRunning=true;resetAggData();if(global_indicators[0]&&global_periods[0]){var continueCubeRefresh=function(){var idArray=[];for(var i=0;i<global_places.length;i++){if(isTablesAggregatePlaceType(global_places[i].getType())){idArray.push(global_places[i].getID())}}if(idArray.length>0){var ids=idArray.join(",");ajax.call({url:PEnvironment.indicatorUrl+"?id="+global_indicators[0].getID()+"&bid="+ids+"&per="+global_periods.join(","),context:this,success:function(values){var agg_places=[];for(var i=0;i<global_places.length;i++){if(isTablesAggregatePlaceType(global_places[i].getType())){var periodCount=0;for(var j=0;j<global_periods.length;j++){if(values[global_periods[j]][global_places[i].id][global_indicators[0].id]==null){periodCount++;if(periodCount==global_periods.length){agg_places.push(global_places.splice(i,1)[0]);i--}}}}else if(global_places[i].isCustomOrPoly()){global_places.splice(i,1);i--}}if(custom_places.length>0){for(var i=0;i<custom_places.length;i++){agg_places.push(custom_places[i])}}if(ppolygon){agg_places.push(ppolygon)}if(agg_places.length>0){refreshCubeAggregatePlaces(agg_places)}else{refreshCubePlaces()}}})}else{var agg_places=[];for(var i=0;i<global_places.length;i++){if(global_places[i].isCustomOrPoly()){global_places.splice(i,1);i--}}if(custom_places.length>0){for(var i=0;i<custom_places.length;i++){agg_places.push(custom_places[i])}}if(ppolygon){agg_places.push(ppolygon)}if(agg_places.length>0){refreshCubeAggregatePlaces(agg_places)}else if(global_places.length>0){refreshCubePlaces()}else{if(global_indicators[0]&&global_periods[0]){cube=new PCube(global_indicators,[],global_periods);P.instances.table.setData(cube);P.instances.table.refresh()}refreshCubeFinished()}}};if(P.instances.chart&&P.instances.chart.inTrendChart()){continueCubeRefresh()}else{updatePlacesForIndicatorMatrix(continueCubeRefresh)}}else{if(custom_places.length>0||ppolygon){for(var i=0;i<global_places.length;i++){if(global_places[i].isCustomOrPoly()){global_places.splice(i,1);i--}}for(var i=0;i<custom_places.length;i++){global_places.push(custom_places[i])}if(ppolygon){global_places.push(ppolygon)}}var tmpCube=new PCube([],global_places,[]);PEvent.addListener(tmpCube,"remove",cubeRemoveListener);P.instances.table.setData(tmpCube);P.instances.table.refresh();refreshCubeFinished()}}function refreshCubeFinished(){if(cubeQueue.places.length>0||cubeQueue.sites.length>0){loadCubeQueue()}else{refreshCubeRunning=false;updateChartNotes()}}function placesWithoutBlockGroups(places){var newPlaces=[];for(var i=0;i<global_places.length;i++){if(global_places[i].getType()!=PPlaceType.BLOCKGROUP){newPlaces.push(global_places[i])}}return newPlaces}function updateChartNotes(onlyClear){$("#chartNotes .note").hide();if(onlyClear!=null&&onlyClear===true){return}if(P.instances.chart&&P.instances.chart.inTrendChart()){for(var i=0;i<global_places.length;i++){if(global_places[i].getType()==PPlaceType.BLOCKGROUP){$("#blockGroupNote").show();break
}}if(cube==null){return}periodLoop:for(var i=0;i<cube.periods.length;i++){var curPeriod=cube.periods[i];for(var j=0;j<cube.places.length;j++){var curPlaceType=cube.places[j].getType();if(curPlaceType==PPlaceType.CUSTOM||curPlaceType==PPlaceType.POLYGON){continue}var curPlaceId=cube.places[j].getID();for(var k=0;k<cube.indicators.length;k++){var curIndId=cube.indicators[k].getID();if(cube.valueBoundaries[curPeriod]&&cube.valueBoundaries[curPeriod][curPlaceId]&&cube.valueBoundaries[curPeriod][curPlaceId][curIndId]==null){$("#boundaryChangeNote").show();break periodLoop}}}}}}function cubeRemoveListener(elem){if(elem instanceof PPlace){closePlacePopup(elem.id);if(elem.getType()==PPlaceType.CUSTOM){removeFromCustomPlacesArray(elem);polycreator.removeCustomRegionFromTable(elem)}else if(elem.getType()==PPlaceType.POLYGON){resetChartsPolygonPlace()}for(var i=0;i<global_places.length;i++){if(global_places[i]==elem){global_places.splice(i,1)}}var ids=[];for(var i=0;i<global_places.length;i++){var curPlace=global_places[i];if(curPlace.getType()!=PPlaceType.CUSTOM&&curPlace.getType()!=PPlaceType.POLYGON){ids.push(curPlace.getID())}}updateSessionPlaces();if(ppolygon==null&&custom_places.length<1){$("#aggFootnote").hide()}}if(cube&&cube.periods.length>15){var width=P.instances.chart.container.style.width;P.instances.chart.container.style.width=parseFloat(width)-40+"px"}else{P.instances.chart.container.style.cssFloat="none";P.instances.chart.container.style.styleFloat="none"}if(global_places.length==0){resetChart();if(global_indicators.length==0){P.instances.table.clear()}}updateChartNotes()}function closePlacePopup(placeId){if(P.instances.rRanks&&P.instances.rRanks.place&&P.instances.rRanks.place.getID()==placeId||P.instances.rPlaces&&(P.instances.rPlaces.place&&P.instances.rPlaces.place.getID()==placeId||P.instances.rPlaces.placeId&&P.instances.rPlaces.placeId==placeId)||P.instances.rPins&&(P.instances.rPins.place&&P.instances.rPins.place.getID()==placeId||P.instances.rPins.placeId&&P.instances.rPins.placeId==placeId)){P.instances.pagePopUp.hide()}}function resetChart(){var chartDiv=$("#chart");chartDiv.html("<img src='/images/sample_chart.gif' />")}function nextAvailablePlaceType(availPlaceTypes,currentPlaceType){var childType=null;if(currentPlaceType){var indPlaceTypes=orderPlaceTypes(availPlaceTypes);var allowPlaceType=function(id){var arr=[PPlaceType.CITY.id,PPlaceType.CBSA.id,PPlaceType.CONGRESSIONAL.id,PPlaceType.SLD_UPPER.id,PPlaceType.SLD_LOWER.id,PPlaceType.MD.id];for(var i=0;i<arr.length;i++){if(id==arr[i])return false}return true};for(var l=0;l<indPlaceTypes.length;l++){if(comparePlaceType(currentPlaceType,indPlaceTypes[l])<0&&allowPlaceType(indPlaceTypes[l].id)){childType=indPlaceTypes[l];break}else if(currentPlaceType==indPlaceTypes[l]&&l<indPlaceTypes.length-1&&allowPlaceType(indPlaceTypes[l+1].id)){childType=indPlaceTypes[l+1];break}}}return childType}function isTablesAggregatePlaceType(type,includeCustomPoly){if(includeCustomPoly==true&&(type==PPlaceType.CUSTOM||type==PPlaceType.POLYGON)){return true}for(var i=0;i<tablesAggPlaceTypes.length;i++){if(tablesAggPlaceTypes[i]==type){return true}}return false}function rotateLabels(){var periods=P.instances.table&&P.instances.table.cube&&P.instances.table.cube.getPeriods?P.instances.table.cube.getPeriods():"";var aPeriods=new String(periods).split(",");if(aPeriods.length<=1&&P.instances.table.cube.getPlaces().length>4){$(".xLabel").css({"writing-mode":"tb-rl","max-height":"100px"});var elms=$(".xLabel");var maxHeight=0;for(var i=0;i<elms.length;i++)maxHeight=maxHeight>$(elms[i]).height()?maxHeight:$(elms[i]).height();if(maxHeight>50)$("#chart").height($("#chart").height()+maxHeight-50)}}function selectColumn(col){var trs=$("#table tr");var ths=$("#table th");var tds=$("#table td");if(col==null&&cHeader!=null){ths.each(function(i){if($(this).find("div:last").html()==cHeader){col=i;return false}})}if(col!=null){cHeader=$(ths[col]).find("div:last").html();ths.addClass("non-selected-column");tds.addClass("non-selected-column");trs.each(function(){$(this.cells[col]).removeClass("non-selected-column")})}}function unselectColumn(){cHeader=null;$("#table th, #table td").removeClass("non-selected-column","")}function resetChartsCustomPlace(){custom_places=[];polycreator.reset()}function resetChartsPolygonPlace(){ppolygon=null;session.remove("bid")}function resetAggData(){aggData={values:{},types:{}}}function removeFromCustomPlacesArray(place){var placeId=place.getID();for(var i=0;i<custom_places.length;i++){if(custom_places[i].getID()==placeId){custom_places.splice(i,1);break}}}function isNumeric(sText){if(sText){var ValidChars="-0123456789.e+";var IsNumber=true;var Char;for(var i=0;i<sText.length&&IsNumber==true;i++){Char=sText.charAt(i);if(ValidChars.indexOf(Char)==-1){IsNumber=false}}return IsNumber}}function resetTables(){P.instances.table.clear();P.instances.table.clearOverlaySets();P.instances.chart.clear();legend.clear();P.instances.pagePopUp.hide();global_places=[];global_indicators=[];global_periods=[];rankingCube=null;resetCubeQueue();resetChartsCustomPlace();resetChartsPolygonPlace();resetAggData();session.removeAllRelevant();resetChart();updateChartNotes(true);$("#aggFootnote").hide();clearHideSimilarBox();refreshCubeRunning=false;P.instances.table.eventManager.triggerEvent("removeindicator")}function resetCubeQueue(){cubeQueue={places:[],sites:[],indicator:null}}var Taxonomy=function(_nodes,_type){var nodes=_nodes;var type=_type;var rootNodes=_.filter(nodes,function(node){return node.parent_node_id===null});var self=this;this.setNodes=function(_nodes){nodes=_nodes;rootNodes=_.filter(nodes,function(node){return node.parent_node_id===null})};this.getNode=function(nodeId){return nodes[nodeId]};this.getRootNodes=function(){return rootNodes};this.getRootNodeIdByLabel=function(label){var rootNode=_.find(rootNodes,function(node){return node.label.toLowerCase()===_.unescape(label.toLowerCase())});if(rootNode===void 0){return false}return rootNode.node_id};this.getNodeIdsByIndicatorId=function(indicatorId){return _.chain(nodes).filter(function(node){return _.contains(node.indicator_ids,indicatorId)}).map(function(node){return node.node_id}).value()};this.setType=function(_type){type=_type};this.getType=function(){return type};this.isLayersTaxonomy=function(){return type!=null&&type==P.constants.TAXONOMY_TYPE_LAYERS};this.isPointsTaxonomy=function(){return type!=null&&type==P.constants.TAXONOMY_TYPE_POINTS};this.getGeoBoundaryId=function(nodeId){return nodes[nodeId].geo_boundary_id};this.exists=function(nodeId){return nodes[nodeId]!==void 0};this.hasIndicators=function(nodeId){return nodes[nodeId].indicator_ids!==null};this.getIndicators=function(nodeId){return nodes[nodeId].indicator_ids};this.hasDataset=function(nodeId){return nodes[nodeId].dataset_id!==null};this.getDataset=function(nodeId){return nodes[nodeId].dataset_id};this.hasData=function(nodeId){if(self.isLayersTaxonomy()){return self.hasIndicators(nodeId)}else if(self.isPointsTaxonomy()){return self.hasDataset(nodeId)}else{return null}};this.getData=function(nodeId){if(self.isLayersTaxonomy()){return self.getIndicators(nodeId)}else if(self.isPointsTaxonomy()){return self.getDataset(nodeId)}else{return null}};this.getChildrenOfNode=function(nodeId){if(nodes[nodeId]===void 0){return[]}else{return _.map(nodes[nodeId].children,function(childId){return nodes[childId]})}};this.getChildrenOfNodeWithInlineChildren=function(nodeId){var children=self.getChildrenOfNode(nodeId);for(var i=children.length-1;i>=0;i--){if(children[i].disposition==="inline"){children.splice.apply(children,[i+1,0].concat(self.getChildrenOfNode(children[i].node_id)))}}return children};this.getPathToNodeId=function(nodeId){function buildPath(nodeId,childPath){var path=nodes[nodeId].label.replace(/"/g,"'");if(childPath!==""){path+=" > "+childPath}if(nodes[nodeId].parent_node_id!==null){return buildPath(nodes[nodeId].parent_node_id,path)}else{return path}}return buildPath(nodeId,"")};this.getRootNodeOfIndicatorId=function(indicatorId){var rootNodeId=_.chain(self.getNodeIdsByIndicatorId(indicatorId)).first().value();return self.getRootNodeOfNodeId(rootNodeId)};this.getRootNodeOfNodeId=function(nodeId){var currentNode=self.getNode(nodeId);if(currentNode.parent_node_id===null){return currentNode}else{return self.getRootNodeOfNodeId(currentNode.parent_node_id)}};this.getAllChildrenOfNodeId=function(nodeId){function getChildrenRecursive(nodeId,children){children.push(nodes[nodeId]);_.each(self.getChildrenOfNode(nodeId),function(child){getChildrenRecursive(child.node_id,children)});return children}return _.tail(getChildrenRecursive(nodeId,[]))}};var TaxonomyMenu=function(_$taxonomyTabsContainer,$taxonomyMenuContainer,_logger,_map){var TAXONOMY_ID_PREFIX="taxonomy-node-id_";var TAXONOMY_MENU_COLUMN_HEIGHT=433;var TAXONOMY_MENU_COLUMN_WIDTH=228;var SUB_MENU_TIMEMOUT_DELAY=500;var MAX_NUM_SUBMENUS=2;var MAX_NUM_PROMOTIONAL_LINKS=3;var MAX_NUM_QUICK_ANSWERS=2;var MAX_NUM_QUICK_ANALYSES=2;var PROMOTIONAL_LINK_MAX_LINE_NUMBERS=2;var TAXONOMY_TYPE_LAYERS=P.constants.TAXONOMY_TYPE_LAYERS;var TAXONOMY_TYPE_POINTS=P.constants.TAXONOMY_TYPE_POINTS;var SUB_MENU_HIDE_EVENT="taxonomyDataLayersSubMenuHide";var logger=_logger;var map=_map;var $taxonomyTabsContainer=_$taxonomyTabsContainer;var $taxonomyRootItems=$(".taxonomy__tab");var $taxonomyMenu=$taxonomyMenuContainer;var $elementsToShadeOnTaxonomyMenuShow=$(".content__header, .content__breadcrumbs, #map, #googleMap");var $overlay=$(".taxonomy-menu__overlay");var $taxonomyMenuPadding=$(".taxonomy-menu__padding");var taxonomyMenuClass="taxonomy-menu";var myDataMenuClass="my-data-menu";var myDataLabel="My Data";var customMyDataLabel=null;if(productProperty.exists("my_data_tab_label")){customMyDataLabel=productProperty.getValue("my_data_tab_label")}else{customMyDataLabel=dnf.getName("myDataTab")}var customMyDataLabelInTaxonomy=false;var currentActiveNodeId;var myUploadedData;var myPointSets;var $myUploadedDataContainer=$(".my-data-menu__uploaded-data__content");var myUploadedDataTemplate;var $myUploadedDataHeader;var $myUploadedDataItems;if($myUploadedDataContainer.length>0){myUploadedDataTemplate=_.template($("#js-my-data-menu__uploaded-data__content__template").html());$myUploadedDataHeader=$(".my-data-menu__uploaded-data__item-header");$myUploadedDataItems=$(".my-data-menu__uploaded-data__item")}var myUploadedDataSortColumn="created";var isMyUploadedDataSortedByAscending=false;var dataSharedWithMe;var $dataSharedWithMeContainer=$(".my-data-menu__shared-data__content");var dataSharedWithMeTemplate;var $dataSharedWithMeHeader;var $dataSharedWithMeItems;if($dataSharedWithMeContainer.length>0){dataSharedWithMeTemplate=_.template($("#js-my-data-menu__shared-data__content__template").html());$dataSharedWithMeHeader=$(".my-data-menu__shared-data__item-header");$dataSharedWithMeItems=$(".my-data-menu__shared-data__item")}var dataSharedWithMeSortColumn="created";var isDataSharedWithMeSortedByAscending=false;var dataByMeOrOthers;var $dataByMeOrOthersContainer=$(".my-data-menu__me-others__content");var dataByMeOrOthersTemplate;var $dataByMeOrOthersHeader;var $dataByMeOrOthersItems;if($dataByMeOrOthersContainer.length>0){dataByMeOrOthersTemplate=_.template($("#js-my-data-menu__me-others__content__template").html());$dataByMeOrOthersHeader=$(".my-data-menu__me-others__item-header");$dataByMeOrOthersItems=$(".my-data-menu__me-others__item")}var dataByMeOrOthersSortColumn="created";var isDataByMeOrOthersSortedByAscending=false;var $myDataMenuPadding=$(".my-data-menu__padding");var $myDataMenu=$("."+myDataMenuClass);var $myDataMenuDataLayers=$("."+myDataMenuClass+" .taxonomy-menu__data-layers");var $myDataMenuDataPoints=$("."+myDataMenuClass+" .taxonomy-menu__data-points");var taxonomy=new Taxonomy(null,TAXONOMY_TYPE_LAYERS);var $dataLayers=$("."+taxonomyMenuClass+" .taxonomy-menu__data-layers");var dataLayersColumnClass="taxonomy-menu__data-layers__column";var dataLayersColumnListItemSelector=".taxonomy-menu__data-layers__column li";var pinTaxonomy=new Taxonomy(null,TAXONOMY_TYPE_POINTS);var $dataPoints=$("."+taxonomyMenuClass+" .taxonomy-menu__data-points");var dataPointsColumnClass="taxonomy-menu__data-points__column";var dataPointsColumnListItemSelector=".taxonomy-menu__data-points__column li";var dataTemplate=_.template($("#js-taxonomy-menu__data__template").html());var subMenu;var subMenuClass="taxonomy-menu__data__submenu";var subscriberSharedDataTemplate=_.template($("#js-taxonomy-menu__shared-data__content__template").html());var $subscriberSharedDataContainer=$(".taxonomy-menu__shared-data__content");var trfSharedPointSetsTaxonomy=new Taxonomy;var $trfSharedDataItems=$subscriberSharedDataContainer.find(".taxonomy-menu__shared-data__trf__content li");var userSharedPointSets;var $userSharedDataItems=$subscriberSharedDataContainer.find(".taxonomy-menu__shared-data__user__content li");var taxonomyQuickAnswers;var taxonomyQuickAnalyses;var quickAnswersTemplate;var quickAnalysesTemplate;var $quickAnswersContainer=$(".taxonomy-menu__quick-answers__container");if($quickAnswersContainer.length>0){quickAnswersTemplate=_.template($("#js-taxonomy-menu__quick-answers__template").html());quickAnalysesTemplate=quickAnswersTemplate}var promotionalLinksTemplate=_.template($("#js-taxonomy-menu__promotional-links__template").html());var $promotionalLinksContainer=$(".taxonomy-menu__promotional-links__container");var $promotionalLinksAnchors=$(".taxonomy-menu__promotional-link a");var promotionalLinks;var favorites=null;var $favoritesContainer=$(".my-data-menu__favorites__content");if($favoritesContainer.length>0){var favorites=new TrfFavorites(taxonomy,$(".content__header__favorites-toggle"),logger)}else{$(".content__header__favorites-toggle").remove()}var BANNERS_DIRECTORY="/images/PolicyMap/menu_banners/";var $banner=$(".taxonomy-menu__promotional-data__banner");var bannersImageNames={demographics:"demographics.png",education:"education.jpg","federal guidelines":"federal.jpg",health:"health.jpg",housing:"housing.jpg","incomes & spending":"income_spending.jpg",economy:"jobs.jpg",lending:"lending.jpg","quality of life":"qualityoflife.jpg",analytics:"analytics.jpg"};var $currentRootNode;var $activeRootNode;var self=this;setLayerPointColumnWidths();initSubMenus();if(!productProperty.getValue("auto_login")||session.get("_userid")!=null){refreshData()}if($overlay.length===0){$overlay=$('<div class="taxonomy-menu__overlay is-hidden"></div>');$taxonomyMenu.before($overlay)}if($taxonomyMenuPadding.length===0){$taxonomyMenuPadding=$('<div class="taxonomy-menu__padding is-hidden"></div>');$taxonomyMenu.before($taxonomyMenuPadding)}if($myDataMenuPadding.length===0){$myDataMenuPadding=$('<div class="my-data-menu__padding is-hidden"></div>');$myDataMenu.before($myDataMenuPadding)}this.getFavorites=function(){return favorites};$overlay.click(function(){var $selectedRootItems=$taxonomyRootItems.filter(".is-selected");if($selectedRootItems.length>0){$selectedRootItems.removeClass(".is-selected");self.hide()}});$(window).on(P.events.GOOGLE_MAP_LOADED,function(){$elementsToShadeOnTaxonomyMenuShow=$(".content__header, .content__breadcrumbs, #map, #googleMap")});$(window).on(P.events.LOGGED_IN,function(){logger.log(P.Debug.INFO,"taxonomy login detected");refreshData();self.resetActiveRootNodes()});$(window).on(P.events.LOGGED_OUT,function(){logger.log(P.Debug.INFO,"taxonomy logout detected");refreshData();self.resetActiveRootNodes()});function refreshData(){function getTaxonomyData(){function successCallback(data){if(data!==void 0&&data.responseCode===200){taxonomy.setNodes(data.tax.taxonomy);logger.log(P.Debug.INFO,"taxonomy initialized");ria=data.tax.ria;globalIndListBubble=data.tax.my_globalTabsInds;logger.log(P.Debug.INFO,"ria array initialized")}}function failureCallback(){logger.log(P.Debug.ERROR,"Taxonomy Error: Unable to get url: "+PEnvironment.dataServicesUrl+"?id=1&ty=data&t=tax&act=i")}return ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=tax&act=i",success:successCallback,error:failureCallback})}function getPinTaxonomyData(){return ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=tax&act=p",success:function(data){if(data!==void 0&&data.responseCode===200){pinTaxonomy.setNodes(data.tax.taxonomy);logger.log(P.Debug.INFO,"pin taxonomy initialized");trfSharedPointSetsTaxonomy.setNodes(data.tax.trf);logger.log(P.Debug.INFO,"trf shared point sets initialized");myPointSets=data.tax.mine;logger.log(P.Debug.INFO,"my point sets initialized");dataSharedWithMe=data.tax.shared;logger.log(P.Debug.INFO,"my shared point sets initialized");userSharedPointSets=data.tax.public;logger.log(P.Debug.INFO,"publicly shared point sets initialized")}}})}function getQuickAnswersData(){if(PEnvironment.pageName==="analytics"){return ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=qa&act=ga",success:function(data){if(data!==void 0){taxonomyQuickAnalyses=data.qa;logger.log(P.Debug.INFO,"quick analyses initialized")}}})}else{return ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=qa&act=gm",success:function(data){if(data!==void 0){taxonomyQuickAnswers=data.qa;logger.log(P.Debug.INFO,"quick answers initialized")}}})}}function getPromotionalLinks(){return ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=wp&act=cat",success:function(data){if(data!==void 0){promotionalLinks=_.pluck(data.wp.posts,"post");logger.log(P.Debug.INFO,"promotional links initialized")}}})}hideTaxonomyMenu();hideMyDataMenu();$taxonomyTabsContainer.addClass("is-shaded");$.when(getTaxonomyData(),getPinTaxonomyData(),getQuickAnswersData(),getPromotionalLinks()).done(function(){if(favorites){favorites.updateFavorites()}renderMyUploadedData();renderDataSharedWithMe();renderDataByMeOrOthers();logger.log(P.Debug.INFO,"TaxonomyMenu data is refreshed");$taxonomyTabsContainer.removeClass("is-shaded");$taxonomyMenu.trigger("change")})}function renderMyUploadedData(){var taxonomyNodeId=null;var pinTaxonomyNodeId=null;if(customMyDataLabel!=null){taxonomyNodeId=taxonomy.getRootNodeIdByLabel(customMyDataLabel);pinTaxonomyNodeId=pinTaxonomy.getRootNodeIdByLabel(customMyDataLabel)}if(!taxonomyNodeId||!pinTaxonomyNodeId){taxonomyNodeId=taxonomy.getRootNodeIdByLabel(myDataLabel);pinTaxonomyNodeId=pinTaxonomy.getRootNodeIdByLabel(myDataLabel)}else{customMyDataLabelInTaxonomy=true}var dataLayers=taxonomy.getChildrenOfNode(taxonomyNodeId);var dataPoints=pinTaxonomy.getChildrenOfNode(pinTaxonomyNodeId);if($myDataMenu.find(".taxonomy-menu__data-layers").length>0){renderData(dataLayers,$myDataMenu,TAXONOMY_TYPE_LAYERS,myDataLabel)}if($myDataMenu.find(".taxonomy-menu__data-points").length>0){renderData(dataPoints,$myDataMenu,TAXONOMY_TYPE_POINTS,myDataLabel)}if($myUploadedDataContainer.length==0){return}myUploadedData=myPointSets.concat(dataLayers).concat(dataPoints);myUploadedData=_.sortBy(myUploadedData,function(myUploadedDataSet){var column;var day,month,year,date;switch(myUploadedDataSortColumn){case"name":column=myUploadedDataSet.label;break;case"type":column=myUploadedDataSet.type;break;case"author":column=myUploadedDataSet.owner_first+" "+myUploadedDataSet.owner_last;break;case"access":column=myUploadedDataSet.permission;break;default:if(myUploadedDataSet.created){myUploadedDataSortColumn="created";date=myUploadedDataSet.created.split("/");day=date[1];month=date[0];year=date[2];column=new Date(year+"-"+month+"-"+day).getTime()}else{return""}}return column});if(!isMyUploadedDataSortedByAscending){myUploadedData.reverse()}$myUploadedDataContainer.html(myUploadedDataTemplate({pointSets:myUploadedData,sortColumn:myUploadedDataSortColumn,isAscendingSort:isMyUploadedDataSortedByAscending,isPublicUser:isPublicUser()}));$myUploadedDataHeader=$($myUploadedDataHeader.selector);$myUploadedDataItems=$($myUploadedDataItems.selector);bindMyUploadedData(myUploadedData)}function bindMyUploadedData(myUploadedData){var $headers=$myUploadedDataHeader.find("th");$headers.filter(":lt(3)").click(function sortByHeader(event){var columnName=$.trim($(this).text().toLowerCase());event.preventDefault();if(myUploadedDataSortColumn===columnName){isMyUploadedDataSortedByAscending=!isMyUploadedDataSortedByAscending}else{myUploadedDataSortColumn=columnName;isMyUploadedDataSortedByAscending=true}renderMyUploadedData()});disableWheelScrollPropogation(".my-data-menu__uploaded-data__data");$myUploadedDataItems.each(function(index){var $self=$(this);var $name=$self.children(".my-data-menu__uploaded-data__name");var $edit=$self.find(".my-data-menu__uploaded-data__edit a");var $download=$self.find(".my-data-menu__uploaded-data__download a");var isPointSet=$self.children(".my-data-menu__data-type").hasClass("my-data-menu__data-type--pointset");$name.click(function toggleData(event){event.preventDefault();var node=myUploadedData[index];if(node.denied_access||!node.has_access){subscribeAlert(null,"subscriber-uploaded-data");return}if(isPointSet){toggleMyUploadedDataPointSet($self,node.dataset_id,node.type)}else{toggleMyUploadedDataLayer($self,node.node_id)}hideMyDataMenu()});$edit.click(function(event){event.preventDefault();var node=myUploadedData[index];if(node.denied_access||!node.has_access){subscribeAlert(null,"subscriber-uploaded-data")}else{setWindowLocation("/dataloader?di="+node.dataset_id)}});$download.click(function(event){event.preventDefault();var node=myUploadedData[index];if(node.denied_access||!node.has_access){subscribeAlert(null,"subscriber-uploaded-data")}else{setWindowLocation(PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=dl&di="+node.dataset_id)}})})}function renderDataSharedWithMe(){if($dataSharedWithMeContainer.length==0){return}dataSharedWithMe=_.sortBy(dataSharedWithMe,function(sharedPointSet){var column;var day,month,year,date;switch(dataSharedWithMeSortColumn){case"name":column=sharedPointSet.label;break;case"type":column=sharedPointSet.type;break;case"author":column=myUploadedDataSet.owner_first+" "+myUploadedDataSet.owner_last;break;case"access":column=myUploadedDataSet.permission;break;default:if(sharedPointSet.created){dataSharedWithMeSortColumn="created";date=sharedPointSet.created.split("/");day=date[1];month=date[0];year=date[2];column=new Date(year+"-"+month+"-"+day).getTime()}else{return""}}return column});if(!isDataSharedWithMeSortedByAscending){dataSharedWithMe.reverse()}$dataSharedWithMeContainer.html(dataSharedWithMeTemplate({dataSharedWithMe:dataSharedWithMe,sortColumn:dataSharedWithMeSortColumn,isAscendingSort:isDataSharedWithMeSortedByAscending,isSiteLicense:PEnvironment.isSiteLicense,isPublicUser:isPublicUser(),isAutoLoginUser:isAutoLoginUser()}));if($dataSharedWithMeContainer.children().length<1){var $parent=$dataSharedWithMeContainer.parent();$parent.find(".my-data-menu__header-icon, .taxonomy-menu__header_content").hide()}else{var $parent=$dataSharedWithMeContainer.parent();$parent.find(".my-data-menu__header-icon, .taxonomy-menu__header_content").show()}$dataSharedWithMeHeader=$($dataSharedWithMeHeader.selector);$dataSharedWithMeItems=$($dataSharedWithMeItems.selector);bindDataSharedWithMe()}function bindDataSharedWithMe(){var $headers=$dataSharedWithMeHeader.find("th");$headers.click(function(event){var columnName=$.trim($(this).text().toLowerCase());event.preventDefault();if(dataSharedWithMeSortColumn===columnName){isDataSharedWithMeSortedByAscending=!isDataSharedWithMeSortedByAscending}else{dataSharedWithMeSortColumn=columnName;isDataSharedWithMeSortedByAscending=true}renderDataSharedWithMe()});$dataSharedWithMeItems.each(function(index){var $pointSet=$(this);var $name=$pointSet.find(".my-data-menu__shared-data__name");var $download=$pointSet.find(".my-data-menu__shared-data__download a");$name.click(function(event){event.preventDefault();var node=dataSharedWithMe[index];if($(this).hasClass("is-active")){removeOverlaySet(node.dataset_id,node.type);$(this).removeClass("is-active")}else{addOverlaySet(node.dataset_id,node.type);$(this).addClass("is-active")}hideMyDataMenu()});$download.click(function(event){event.preventDefault();var node=dataSharedWithMe[index];if(node.download){setWindowLocation(PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=dl&di="+node.dataset_id)}})})}function renderDataByMeOrOthers(){if($dataByMeOrOthersContainer.length==0){return}dataByMeOrOthers=myPointSets.concat(dataSharedWithMe);dataByMeOrOthers=_.sortBy(dataByMeOrOthers,function(pointSet){var column;var day,month,year,date;switch(dataSharedWithMeSortColumn){case"name":column=pointSet.label;break;case"type":column=pointSet.type;break;case"author":column=myUploadedDataSet.owner_first+" "+myUploadedDataSet.owner_last;break;case"access":column=myUploadedDataSet.permission;break;default:if(pointSet.created){dataSharedWithMeSortColumn="created";date=pointSet.created.split("/");day=date[1];month=date[0];year=date[2];column=new Date(year,month,day).getTime()}else{return""}}return column});if(!isDataByMeOrOthersSortedByAscending){dataByMeOrOthers.reverse()}$dataByMeOrOthersContainer.html(dataByMeOrOthersTemplate({dataByMeOrOthers:dataByMeOrOthers,sortColumn:dataByMeOrOthersSortColumn,isAscendingSort:isDataByMeOrOthersSortedByAscending,isPublicUser:isPublicUser()}));$dataByMeOrOthersHeader=$($dataByMeOrOthersHeader.selector);$dataByMeOrOthersItems=$($dataByMeOrOthersItems.selector);bindDataByMeOrOthers()}function bindDataByMeOrOthers(){var $headers=$dataByMeOrOthersHeader.find("th");$headers.click(function(event){var columnName=$.trim($(this).text().toLowerCase());event.preventDefault();if(dataByMeOrOthersSortColumn===columnName){isDataByMeOrOthersSortedByAscending=!isDataByMeOrOthersSortedByAscending}else{dataByMeOrOthersSortColumn=columnName;isDataByMeOrOthersSortedByAscending=true}renderDataByMeOrOthers()});$dataByMeOrOthersItems.each(function(index){var $pointSet=$(this);var $name=$pointSet.find(".my-data-menu__me-others__name");var $download=$pointSet.find(".my-data-menu__me-others__download a");$name.click(function(event){event.preventDefault();var node=dataByMeOrOthers[index];if(node.denied_access||!node.has_access){subscribeAlert(null,"subscriber-uploaded-data");return}if($(this).hasClass("is-active")){removeOverlaySet(dataByMeOrOthers[index].dataset_id,dataByMeOrOthers[index].type);$(this).removeClass("is-active")}else{addOverlaySet(dataByMeOrOthers[index].dataset_id,dataByMeOrOthers[index].type);$(this).addClass("is-active")}hideMyDataMenu()});$download.click(function(event){event.preventDefault();var node=dataByMeOrOthers[index];if(node.denied_access||!node.has_access){subscribeAlert(null,"subscriber-uploaded-data")}else if(node.download){setWindowLocation(PEnvironment.dataServicesUrl+"?id=1&ty=data&t=dl&act=dl&di="+node.dataset_id)}})})}function toggleMyUploadedDataPointSet($element,datasetId,datasetType){if($element.hasClass("is-active")){removeOverlaySet(datasetId,datasetType);$element.removeClass("is-active")}else{addOverlaySet(datasetId,datasetType);$element.addClass("is-active")}}function toggleMyUploadedDataLayer($element,nodeId){if($element.hasClass("is-active")){var text="Are you sure you want to clear the data layer currently displayed?";alerter.popup(text,"No","Yes",function(){$element.removeClass("is-active")})}else{if(selectNodeByIdAndType(nodeId,TAXONOMY_TYPE_LAYERS)){$element.addClass("is-active")}else{logger.log(P.Debug.ERROR,"Unable to select Node: "+nodeId)}}}function renderData(nodes,$menu,type,rootLabel){var leftNodes=nodes;var rightNodes=[];var nodesWithBreak;var dataColumnClass;var curTaxonomy;if(type==TAXONOMY_TYPE_LAYERS){dataColumnClass=dataLayersColumnClass;curTaxonomy=taxonomy}else if(type==TAXONOMY_TYPE_POINTS){dataColumnClass=dataPointsColumnClass;curTaxonomy=pinTaxonomy}var $dataColumns=$menu.find("."+dataColumnClass);var $leftDataColumn=$dataColumns.filter(":eq(0)");var $rightDataColumn=$dataColumns.filter(":eq(1)");var singleColumn=$rightDataColumn.length==0;if(singleColumn){$leftDataColumn.addClass("scroll-column")}else{var $tempDataColumn=$("#js-"+dataColumnClass+"--temp");if($tempDataColumn.length===0){var newDiv=document.createElement("div");newDiv.id="js-"+dataColumnClass+"--temp";newDiv.className=dataColumnClass+" taxonomy-menu__data__temp-column";newDiv.style.visibility="hidden";newDiv.style.position="fixed";newDiv.style.bottom="-"+TAXONOMY_MENU_COLUMN_HEIGHT+"px";$("body").append(newDiv);$tempDataColumn=$($tempDataColumn.selector)}nodesWithBreak=_.filter(leftNodes,function(node){return node.disposition==="inline break"||node.disposition==="break"});if(_.size(nodesWithBreak)===0||P.constants.isKeyboardAccessOn){$tempDataColumn.html(dataTemplate({nodes:leftNodes,idPrefix:TAXONOMY_ID_PREFIX,taxonomy:curTaxonomy,rootLabel:rootLabel,firstColumn:false,isKeyboardAccessOn:P.constants.isKeyboardAccessOn}));if(P.constants.isKeyboardAccessOn){$("."+dataColumnClass).css("overflow","scroll")}else{while($tempDataColumn.children("ul").height()>=TAXONOMY_MENU_COLUMN_HEIGHT){rightNodes.unshift(leftNodes.pop());$tempDataColumn.html(dataTemplate({nodes:leftNodes,idPrefix:TAXONOMY_ID_PREFIX,taxonomy:curTaxonomy,rootLabel:rootLabel,firstColumn:false,isKeyboardAccessOn:P.constants.isKeyboardAccessOn}))}}}else{var leftNodesCount=leftNodes.length;for(var i=0;i<leftNodesCount;i++){var node=leftNodes[i];if(node.disposition==="inline break"||node.disposition==="break"){rightNodes=leftNodes.splice(i,leftNodesCount-i);break}}}}$leftDataColumn.html(dataTemplate({nodes:leftNodes,idPrefix:TAXONOMY_ID_PREFIX,taxonomy:curTaxonomy,rootLabel:rootLabel,firstColumn:true,isKeyboardAccessOn:P.constants.isKeyboardAccessOn}));if(!singleColumn){$rightDataColumn.html(dataTemplate({nodes:rightNodes,idPrefix:TAXONOMY_ID_PREFIX,taxonomy:curTaxonomy,rootLabel:rootLabel,firstColumn:false,isKeyboardAccessOn:P.constants.isKeyboardAccessOn}))}var allNodes=singleColumn?leftNodes:leftNodes.concat(rightNodes);disableNodesAndHeaders(allNodes,curTaxonomy);bindDataEventHandlers($menu,type)}function renderSubscriberSharedData(trfSharedPointSets,userSharedPointSets,rootLabel){$subscriberSharedDataContainer.html(subscriberSharedDataTemplate({trfSharedPointSets:trfSharedPointSets,userSharedPointSets:userSharedPointSets,rootLabel:rootLabel}));$trfSharedDataItems=$($trfSharedDataItems.selector);$trfSharedDataItems.each(function(index){$(this).click(function(event){event.preventDefault();var pointset=trfSharedPointSets[index];addOverlaySet(pointset.dataset_id,pointset.type);hideTaxonomyMenu()})});$userSharedDataItems=$($userSharedDataItems.selector);$userSharedDataItems.each(function(index){$(this).click(function(event){event.preventDefault();var pointset=userSharedPointSets[index];addOverlaySet(pointset.dataset_id,pointset.type);hideTaxonomyMenu()})})}function renderPromotionalLinks(title,nodeId){var promotionalLinksForNode=_.chain(promotionalLinks).filter(function(promotionalLink){return promotionalLink.node_id===nodeId}).first(MAX_NUM_PROMOTIONAL_LINKS).value();$promotionalLinksContainer.html(promotionalLinksTemplate({title:title,promotionalLinks:promotionalLinksForNode}));$promotionalLinksAnchors=$($promotionalLinksAnchors.selector);truncatePromotionalLinksText(promotionalLinksForNode)}function truncatePromotionalLinksText(promotionalLinks){var linkWords;var fontSize;var wordCount;var truncatedTitles=[];var $tempPromotionalLinksContainer=$("#js-"+$promotionalLinksContainer.selector.substring(1)+"--temp");if($tempPromotionalLinksContainer.length===0){var newDiv=document.createElement("div");newDiv.id=$tempPromotionalLinksContainer.selector.substring(1);newDiv.className=$promotionalLinksContainer.selector.substring(1);newDiv.style.visibility="hidden";newDiv.style.position="fixed";newDiv.style.bottom="-1000px";newDiv.style.width=TAXONOMY_MENU_COLUMN_WIDTH+"px";$("body").append(newDiv);$tempPromotionalLinksContainer=$($tempPromotionalLinksContainer.selector)}$tempPromotionalLinksContainer.html(promotionalLinksTemplate({title:"temp",promotionalLinks:promotionalLinks}));$tempPromotionalLinksContainer.find($promotionalLinksAnchors.selector).each(function(){var $self=$(this);
fontSize=Math.floor(parseInt($self.css("font-size").replace("px",""),10));linkWords=$self.text().split(" ");wordCount=linkWords.length;while($self.height()>fontSize*1.5*PROMOTIONAL_LINK_MAX_LINE_NUMBERS){linkWords.pop();$self.text(linkWords.join(" ")+"...")}if(linkWords.length===wordCount){truncatedTitles.push($self.text())}else{truncatedTitles.push(linkWords.join(" ")+"...")}});$promotionalLinksAnchors.each(function(index){$(this).text(truncatedTitles[index])})}function bindRootMenu(){$taxonomyRootItems.each(function(index){var $self=$(this);var label=$(this).text();var nodeId=taxonomy.getRootNodeIdByLabel(label);var trfSharedPointSetsNodeId=trfSharedPointSetsTaxonomy.getRootNodeIdByLabel(label);$self.off("click");$self.click(function(e){e.preventDefault();$("."+dataLayersColumnClass+", ."+dataPointsColumnClass).removeClass("is-selected");var nodes,pinSets;if($self.hasClass("is-selected")){$(this).removeClass("is-selected");if($self.hasClass("taxonomy__tab--my-data")){hideMyDataMenu()}else{hideTaxonomyMenu()}}else{$self.siblings().removeClass("is-selected").removeClass("is-active");$self.addClass("is-selected");$currentRootNode=$self;if($self.hasClass("taxonomy__tab--my-data")){if(nodeId){showMyDataMenu();if(P.constants.isKeyboardAccessOn){$("."+myDataMenuClass).find("button").first().focus()}}else{$self.removeClass("is-selected")}}else{if(nodeId){nodes=taxonomy.getChildrenOfNode(nodeId);if(P.constants.isKeyboardAccessOn){nodes=taxonomy.getAllChildrenOfNodeId(nodeId)}renderData(nodes,$taxonomyMenu,TAXONOMY_TYPE_LAYERS,label);var pinNodeId=pinTaxonomy.getRootNodeIdByLabel(label);pinNodes=pinTaxonomy.getChildrenOfNode(pinNodeId);if(P.constants.isKeyboardAccessOn){pinNodes=pinTaxonomy.getAllChildrenOfNodeId(pinNodeId)}renderData(pinNodes,$taxonomyMenu,TAXONOMY_TYPE_POINTS,label);renderSubscriberSharedData(trfSharedPointSetsTaxonomy.getChildrenOfNode(trfSharedPointSetsNodeId),userSharedPointSets[index],label);renderPromotionalLinks(label,nodeId);if(PEnvironment.pageName==="analytics"){renderQuickAnalyses(label)}else if(PEnvironment.pageName==="maps"){renderQuickAnswers(label)}renderBanner(label);showTaxonomyMenu();if(P.constants.isKeyboardAccessOn){$("."+dataLayersColumnClass).find("button").first().focus()}}else{$self.removeClass("is-selected")}}}})})}function setLayerPointColumnWidths(){$dataLayers.width($("."+taxonomyMenuClass+" ."+dataLayersColumnClass).length*(TAXONOMY_MENU_COLUMN_WIDTH+1));$dataPoints.width($("."+taxonomyMenuClass+" ."+dataPointsColumnClass).length*(TAXONOMY_MENU_COLUMN_WIDTH+1));$myDataMenuDataLayers.width($("."+myDataMenuClass+" ."+dataLayersColumnClass).length*(TAXONOMY_MENU_COLUMN_WIDTH+1));$myDataMenuDataPoints.width($("."+myDataMenuClass+" ."+dataPointsColumnClass).length*(TAXONOMY_MENU_COLUMN_WIDTH+1))}function initSubMenus(){var taxonomies={};taxonomies[TAXONOMY_TYPE_LAYERS]=taxonomy;taxonomies[TAXONOMY_TYPE_POINTS]=pinTaxonomy;var currentSubmenu,prevSubmenu;for(var depth=1;depth<=MAX_NUM_SUBMENUS;depth++){currentSubmenu=new DataSubMenu(depth,taxonomies,prevSubmenu);if(depth===1){subMenu=currentSubmenu}if(prevSubmenu!==void 0){prevSubmenu.setChildMenu(currentSubmenu)}prevSubmenu=currentSubmenu}}this.on=function(event,callback){$taxonomyMenu.on(event,callback)};this.once=function(event,callback){$taxonomyMenu.one(event,callback)};this.hide=function(){hideMyDataMenu();hideTaxonomyMenu()};this.setActiveRootNodeByIndicatorId=function(indicatorId){var rootNode=taxonomy.getRootNodeOfIndicatorId(indicatorId);if(rootNode!==void 0){$taxonomyRootItems.each(function(){if(_.unescape($(this).text().toLowerCase())===rootNode.label.toLowerCase()){$activeRootNode=$(this);$activeRootNode.addClass("is-active")}})}};function showMyDataMenu(){$elementsToShadeOnTaxonomyMenuShow.addClass("is-faded");$myDataMenu.slideDown("fast");$taxonomyMenu.slideUp("fast");$taxonomyMenuPadding.slideUp("fast");$myDataMenuPadding.slideDown("fast");$overlay.show();$taxonomyMenu.trigger("show")}function hideMyDataMenu(){$myDataMenu.slideUp({duration:"fast",complete:function(){$elementsToShadeOnTaxonomyMenuShow.removeClass("is-faded");$taxonomyRootItems.removeClass("is-selected");refreshActiveRootNode()}});$myDataMenuPadding.slideUp("fast");$overlay.hide()}function showTaxonomyMenu(){$elementsToShadeOnTaxonomyMenuShow.addClass("is-faded");$taxonomyMenuPadding.slideDown("fast");$myDataMenuPadding.slideUp("fast");$taxonomyMenu.slideDown("fast");$myDataMenu.slideUp("fast");$overlay.show();$taxonomyMenu.trigger("show")}function hideTaxonomyMenu(){$taxonomyMenu.slideUp({duration:"fast",complete:function(){$elementsToShadeOnTaxonomyMenuShow.removeClass("is-faded");$taxonomyRootItems.removeClass("is-selected");refreshActiveRootNode()}});$(".taxonomy-menu__padding").slideUp("fast");$overlay.hide()}function refreshActiveRootNode(){if($activeRootNode!==void 0&&$activeRootNode!==null){$activeRootNode.addClass("is-active")}}this.resetActiveRootNodes=function(){if($activeRootNode!==void 0&&$activeRootNode!==null){$activeRootNode.removeClass("is-active");$activeRootNode=null}};function parseIdAttribute(idString){var nodeId;if(idString===void 0){return false}nodeId=parseInt(idString.substring(TAXONOMY_ID_PREFIX.length,idString.length),10);return nodeId>0?nodeId:false}function setIndicator(node){var isTeaser=node.display&&!node.has_access;var geoBoundaryId=node.geo_boundary_id;logger.log(P.Debug.INFO,"Attempting to select nodeId: "+node.node_id);if(isTeaser){if(node.teaserMessage){teaseIndicators(node.teaserMessage);logger.log(P.Debug.DEBUG,"teaserMessage: "+node.teaserMessage)}else{teaseIndicators();logger.log(P.Debug.ERROR,"NodeId: "+node.node_id+" has no permissions set")}}else if(!node.denied_access&&node.has_access){if(node.default_indicator){selectIndicators.apply(this,[node.default_indicator])}else{selectIndicators.apply(this,node.indicator_ids)}logger.log(P.Debug.INFO,"Selected nodeId: "+node.node_id);if(geoBoundaryId){selectPlace(geoBoundaryId)}}else{logger.log(P.Debug.ERROR,"NodeId: "+node.node_id+" has no permissions set")}return!isTeaser}function selectNodeByIdAndType(nodeId,type){if(type==TAXONOMY_TYPE_LAYERS){selectLayerNode(taxonomy.getNode(nodeId))}else if(type==TAXONOMY_TYPE_POINTS){selectPointNode(pinTaxonomy.getNode(nodeId))}}function selectLayerNode(node){if(setIndicator(node)){currentActiveNodeId=node.node_id;if(favorites){favorites.setCurrentFavoriteNodeId(node.node_id)}if(PEnvironment.pageName!=="analytics"){$activeRootNode=$currentRootNode;$activeRootNode.addClass("is-active")}return true}return false}function selectPointNode(node){if(node.denied_access||!node.has_access){teaseIndicators()}else{addOverlaySet(node.dataset_id,node.type);hideMyDataMenu();hideTaxonomyMenu()}}function bindDataEventHandlers($menu,type){var dataColumnSelector;var curTaxonomy;if(type==TAXONOMY_TYPE_LAYERS){dataColumnSelector=dataLayersColumnClass;curTaxonomy=taxonomy}else if(type==TAXONOMY_TYPE_POINTS){dataColumnSelector=dataPointsColumnClass;curTaxonomy=pinTaxonomy}var dataColumnListItemSelector="."+dataColumnSelector+" li";if(P.constants.isKeyboardAccessOn){dataColumnListItemSelector+=" button"}$menu.find(dataColumnListItemSelector).each(function(){var $dataItem=$(this);var nodeId=parseIdAttribute($dataItem.attr("id"));if(curTaxonomy.exists(nodeId)&&curTaxonomy.hasData(nodeId)){$dataItem.click(function(event){event.preventDefault();selectNodeByIdAndType(nodeId,type)});$dataItem.hover(function(event){subMenu.hide();$dataItem.parents("."+dataColumnSelector).addClass("is-selected")},function(event){$dataItem.parents("."+dataColumnSelector).removeClass("is-selected")})}else{bindDataHoverEvent.call(this,nodeId,type)}})}function bindDataHoverEvent(nodeId,type){var $self=$(this);var dataColumnListItemSelector;var dataColumnClass;var curTaxonomy;if(type==TAXONOMY_TYPE_LAYERS){dataColumnListItemSelector=dataLayersColumnListItemSelector;dataColumnClass=dataLayersColumnClass;curTaxonomy=taxonomy}else if(type==TAXONOMY_TYPE_POINTS){dataColumnListItemSelector=dataPointsColumnListItemSelector;dataColumnClass=dataPointsColumnClass;curTaxonomy=pinTaxonomy}if(P.constants.isKeyboardAccessOn){dataColumnListItemSelector+=" button"}$self.hover(dataItemMouseEnter,dataItemMouseLeave);function dataItemMouseEnter(){var fontSize=Math.floor(parseInt($self.css("font-size"),10));if($self.height()>fontSize*1.5){$self.addClass("taxonomy-menu__item--two-lined-item")}$(dataLayersColumnListItemSelector+", "+dataPointsColumnListItemSelector).removeClass("is-selected");$("."+dataLayersColumnClass+", ."+dataPointsColumnClass).removeClass("is-selected");$self.addClass("is-selected");var $parentColumn=$self.parents("."+dataColumnClass);$parentColumn.addClass("is-selected");var nodes=curTaxonomy.getChildrenOfNodeWithInlineChildren(nodeId);subMenu.show(nodes,type);subMenu.updatePosition($parentColumn.position().left+TAXONOMY_MENU_COLUMN_WIDTH);subMenu.updateContentPosition($self.position().top-6)}function dataItemMouseLeave(){subMenu.hideAfterDelay();subMenu.on(SUB_MENU_HIDE_EVENT,function(){$self.removeClass("is-selected");$self.parents("."+dataColumnClass).removeClass("is-selected")})}}function disableNodesAndHeaders(allNodes,curTaxonomy){for(var i=0;i<allNodes.length;i++){var curHeader=allNodes[i];var enableHeader=anyEnabled(curHeader.node_id,curTaxonomy);if(!enableHeader){getNodeElementByNodeId(curHeader.node_id).addClass("is-disabled")}for(var j=0;j<curHeader.children.length;j++){var curItem=curHeader.children[j];if(!enableHeader||!anyEnabled(curItem,curTaxonomy)){getNodeElementByNodeId(curItem).addClass("is-disabled")}}}}function anyEnabled(nodeId,curTaxonomy){var anyEnabled=false;var allChildren=curTaxonomy.getAllChildrenOfNodeId(nodeId);for(var i=0;i<allChildren.length;i++){var curChild=allChildren[i];if(!curChild.denied_access&&curChild.has_access){anyEnabled=true;break}}if(!anyEnabled){var curNode=curTaxonomy.getNode(nodeId);anyEnabled=!curNode.denied_access&&curNode.has_access}return anyEnabled}function getNodeElementByNodeId(nodeId){return $("#"+TAXONOMY_ID_PREFIX+nodeId)}var renderQuickAnswers=function(nodeLabel){var numQuickAnswerOverrides=MAX_NUM_QUICK_ANSWERS>taxonomyQuickAnswers.overrides.length?taxonomyQuickAnswers.overrides.length:MAX_NUM_QUICK_ANSWERS;var numQuickAnswers=MAX_NUM_QUICK_ANSWERS-numQuickAnswerOverrides;var quickAnswers=_.first(taxonomyQuickAnswers.overrides,numQuickAnswerOverrides).concat(_.first(taxonomyQuickAnswers.sections[nodeLabel],numQuickAnswers));if($quickAnswersContainer.length===0){return}quickAnswers=_.reject(quickAnswers,function(quickAnswer){return quickAnswer===void 0||quickAnswer.inds.length===0});$quickAnswersContainer.html(quickAnswersTemplate({isAnalyses:PEnvironment.pageName==="analytics",quickAnswers:quickAnswers}));bindQuickAnswerEventHandlers(quickAnswers)};var renderQuickAnalyses=function(nodeLabel){var numQuickAnalysesOverrides=MAX_NUM_QUICK_ANALYSES>taxonomyQuickAnalyses.overrides.length?taxonomyQuickAnalyses.overrides.length:MAX_NUM_QUICK_ANALYSES;var numQuickAnalyses=MAX_NUM_QUICK_ANALYSES-numQuickAnalysesOverrides;var quickAnalyses=_.first(taxonomyQuickAnalyses.overrides,numQuickAnalysesOverrides).concat(_.first(taxonomyQuickAnalyses.sections[nodeLabel],numQuickAnalyses));quickAnalyses=_.reject(quickAnalyses,function(quickAnalysis){return quickAnalysis===void 0||quickAnalysis.inds.length===0});$quickAnswersContainer.html(quickAnalysesTemplate({isAnalyses:PEnvironment.pageName==="analytics",quickAnswers:quickAnalyses}));bindQuickAnswerEventHandlers(quickAnalyses,true)};function bindQuickAnswerEventHandlers(quickAnswers,isAnalytics){$quickAnswersContainer.find(".taxonomy-menu__quick-answer__question").click(function(e){var $quickAnswer=$(this);var index=$quickAnswer.index();e.preventDefault();if(isAnalytics){alertSA(quickAnswers[index].inds,quickAnswers[index].sites,quickAnswers[index].placeId,quickAnswers[index].question,quickAnswers[index].answer)}else{selectQA(quickAnswers[index].inds,quickAnswers[index].sites,quickAnswers[index].placeId,quickAnswers[index].question,quickAnswers[index].answer);$activeRootNode=$currentRootNode;$activeRootNode.addClass("is-active")}hideTaxonomyMenu()})}function renderBanner(label){$banner.attr("src",BANNERS_DIRECTORY+bannersImageNames[label.toLowerCase()])}function DataSubMenu(depth,_taxonomies,_parentMenu){var IS_HIDDEN_CLASS="is-hidden";var menuDepth=depth;var parentMenu=_parentMenu;var taxonomies=_taxonomies;var childMenu;var hideTimer;var self=this;var template=_.template($("#js-"+subMenuClass).html());var $menu=$("."+subMenuClass+"--tier"+menuDepth);if($menu.length===0){var menu=document.createElement("div");menu.className=subMenuClass+" "+subMenuClass+"--tier"+menuDepth+" "+IS_HIDDEN_CLASS;$taxonomyMenu.append(menu);$menu=$("."+subMenuClass+"--tier"+menuDepth)}var $contentContainer=$menu.find("."+subMenuClass+"__content");$menu.mouseover(function(){self.cancelHideAfterDelay();if(parentMenu!==void 0){parentMenu.cancelHideAfterDelay()}}).mouseleave(function(){self.hideAfterDelay();if(parentMenu!==void 0){parentMenu.hideAfterDelay()}});this.setChildMenu=function(_childMenu){childMenu=_childMenu};this.updatePosition=function(left){$menu.css("left",left)};this.updateContentPosition=function(top){var newTop=top+10-$contentContainer.height()/2;if(newTop+$contentContainer.height()>433){newTop=433-$contentContainer.height()}if(newTop<0){newTop=0}$contentContainer.css("top",newTop)};this.show=function(nodes,type){self.cancelHideAfterDelay();if($taxonomyMenu.is(":visible")){$menu.appendTo($taxonomyMenu)}else if($myDataMenu.is(":visible")){$menu.appendTo($myDataMenu)}render(nodes,type);disableNodesAndHeaders(nodes,taxonomies[type]);bindEventHandlers(type);$menu.slideDown(0)};this.cancelHideAfterDelay=function(){clearTimeout(hideTimer)};this.hide=function(){$menu.find("li").removeClass(IS_HIDDEN_CLASS);$menu.slideUp(0);$menu.trigger(SUB_MENU_HIDE_EVENT);if(childMenu!==void 0){childMenu.hide()}};this.hideAfterDelay=function(){clearTimeout(hideTimer);hideTimer=setTimeout(self.hide,SUB_MENU_TIMEMOUT_DELAY)};this.on=function(event,callback){if($.isFunction(callback)){$menu.on(event,callback)}};function render(nodes,type){$menu.html(template({nodes:nodes,idPrefix:TAXONOMY_ID_PREFIX,taxonomy:taxonomies[type],template:template,isInlineChild:false,isKeyboardAccessOn:P.constants.isKeyboardAccessOn}));$contentContainer=$($contentContainer.selector)}function bindEventHandlers(type){$menu.find("li").each(function(){var $self=$(this);var nodeId=parseIdAttribute($self.attr("id"));var fontSize=Math.floor(parseInt($self.css("font-size").replace("px",""),10));if($self.height()>fontSize*1.5){$self.addClass(subMenuClass+"__item--two-lined-item")}if(taxonomies[type].exists(nodeId)&&taxonomies[type].hasData(nodeId)){$self.click(function(event){event.preventDefault();selectNodeByIdAndType(nodeId,type)});$self.hover(function(event){if(childMenu!==void 0){childMenu.hide()}})}else{bindMenuHoverEvent.call(this,nodeId,type)}})}function bindMenuHoverEvent(nodeId,type){var $self=$(this);$(this).hover(itemMouseEnter,itemMouseLeave);function itemMouseEnter(){$menu.find("li").removeClass("is-selected");$self.addClass("is-selected");if(childMenu!==void 0){var $parentColumn=$self.parents("."+subMenuClass);var nodes=taxonomies[type].getChildrenOfNodeWithInlineChildren(nodeId);childMenu.show(nodes,taxonomies[type].getType());childMenu.updatePosition($parentColumn.position().left+TAXONOMY_MENU_COLUMN_WIDTH);childMenu.updateContentPosition($self.position().top+parseInt($self.parents("."+subMenuClass+"__content").css("top"),10)-6);childMenu.on(SUB_MENU_HIDE_EVENT,function(){$self.removeClass("is-selected")})}}function itemMouseLeave(){if(childMenu!==void 0){childMenu.hideAfterDelay(function(){$self.removeClass(IS_HIDDEN_CLASS)})}else{$self.removeClass(IS_HIDDEN_CLASS)}}}}this.once("change",function(){if(customMyDataLabel!=null){var tabLink=$(".taxonomy__tab--my-data").find("a:first");if(customMyDataLabelInTaxonomy){tabLink.text(customMyDataLabel);bindRootMenu()}else{tabLink.text(myDataLabel);bindRootMenu();tabLink.text(customMyDataLabel)}}else{bindRootMenu()}})};TermsOfUse=function(){this.$overlay=null;this.$popup=null;if(session.get("termsAgreed")==null){session.put("termsAgreed",false)}if(session.get("termsAgreed")!=true&&session.get("termsAgreed")!="true"){this._start()}};TermsOfUse.prototype._start=function(){var self=this;ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=tou&act=g",success:function(response){if(response.responseCode==200&&response.tou!=null){if(response.tou==false){session.put("termsAgreed",true)}else{self._displayTerms(response.tou)}}}})};TermsOfUse.prototype._displayTerms=function(terms){var self=this;this.$overlay=$("<div />");this.$overlay.attr("id","termsOverlay");this.$overlay.addClass("terms-of-use__overlay");$("body").append(this.$overlay);this.$popup=$("<div />");this.$popup.attr("id","termsPopup");this.$popup.addClass("terms-of-use__popup");$("body").append(this.$popup);$terms=$("<div />");$terms.addClass("terms-box");$terms.html(terms);this.$popup.append($terms);$agreeButton=$("<img />");$agreeButton.addClass("button");$agreeButton.attr({src:PEnvironment.dataServicesUrl+"/?id=1&ty=image&t=lbl&sy=2&fs=11&vp=10&hp=10&tx=I%20Agree",alt:"I Agree",title:"I Agree"});$agreeButton.click(function(){self._agreeTerms()});this.$popup.append($agreeButton);this._position();$(window).on("resize",null,{self:this},this._position);this.$overlay.fadeIn(400);this.$popup.slideDown(400)};TermsOfUse.prototype._position=function(e){var self;if(e!=null){self=e.data.self}else{self=this}var wHeight=$(window).height();var wWidth=$(window).width();self.$popup.css({top:(wHeight-self.$popup.height())/2,left:(wWidth-self.$popup.width())/2})};TermsOfUse.prototype._agreeTerms=function(){session.put("termsAgreed",true);$(window).off("resize",this._position);var self=this;this.$overlay.fadeOut(400,function(){$(this).remove();self.$overlay=null});this.$popup.slideUp(400,function(){$(this).remove();self.$popup=null})};Toolbar=function(){this.pageName=PEnvironment.pageName;switch(this.pageName){case"maps":this.template="map";break;case"tables":this.template="chart";break;case"reports":this.template="report";break;case"analytics":this.template="analytic";break;default:this.template=""}var self=this;$(".toolbar").hover(function(){$(".toolbar__tooltip").stop(true,true).slideDown("fast")},function(){$(".toolbar__tooltip").stop(true,true).slideUp("fast")});$(".toolbar a").mouseover(function(){$(".toolbar__tooltip").text($(this).text())});$(".toolbar li").click(function(e){e.preventDefault();if(isSubscriber()||isRegisteredUser()||isTrial()){self.click($.trim($(this).find(".buttonTitle").text().replace()).toLowerCase())}else{genericAlertDialog({template:"subscriber"})}});var buttonNames=["email","print","save","embed","download"];for(var i=0;i<buttonNames.length;i++){if(productProperty.getValue("disable_toolbar_"+buttonNames[i])){this.disable(buttonNames[i],"(Not Available)")}}if(isTrial()&&this.pageName!="maps"){this.disable("download","(Not Available)")}if(PEnvironment.isSiteLicense){this.disable("embed","(Not Available)")}};Toolbar.prototype.click=function(button){if($("#toolbar-"+button).hasClass("toolbar-icon--disabled")){if(isTrial()&&button=="download"&&this.pageName!="maps"){subscribeAlert()}return}if(button=="email"){if(this.pageName=="maps"||this.pageName=="analytics"){genericAlertDialog({template:this.template,action:"email"})}}else if(button=="print"){if(this.pageName==="reports"){printReport()}else if(this.pageName=="tables"){genericAlertDialog({template:this.template,action:"print"})}else if(this.pageName=="analytics"){genericAlertDialog({template:this.template,action:"print"})}else if(this.pageName=="maps"){genericAlertDialog({template:this.template,action:"print"})}else{genericAlertDialog({template:this.template,action:"print",printService:P.constants.webKitPrintService})}}else if(button=="save"){genericAlertDialog({template:this.template,action:"save"})}else if(button=="embed"){if(this.pageName=="maps"){requestMapEmbedding()}}else if(button=="download"){if(this.pageName=="maps"){}else if(this.pageName=="analytics"){downloadAnalyticAlert()}}};Toolbar.prototype.disable=function(button,addlText){var toolbarButton=$("#toolbar-"+button);toolbarButton.addClass("toolbar-icon--disabled");if(addlText==null){addlText=""}toolbarButton.find(".addlText").text(addlText)};Toolbar.prototype.enable=function(button,addlText){var toolbarButton=$("#toolbar-"+button);toolbarButton.removeClass("toolbar-icon--disabled");if(addlText==null){addlText=""}toolbarButton.find(".addlText").text(addlText)};TrfAnalyticsLegendIndicators=function($elm){this.$elm=$elm;this.$years=$elm.find(".legend__year-select");this.quarters=$elm.find(".legend__quarter-select");this.months=$elm.find(".legend__month-select");this.$yearsContainer=$elm.find(".legend__year__container");this.$quartersContainer=$elm.find(".legend__quarter__container");this.$monthsContainer=$elm.find(".legend__month__container");this.indicators=$elm.find(".legend__variable-select");var self=this;this.listeners=[];this.$elm.find(".legend__title__close").click(function(){var index=self.$elm.index()-1;$elm.find(".legend__title__content").removeClass("is-minimized");$elm.find(".legend_container").show();legendMerger.clearIndicator(index);var $editButton=legendMerger.indicatorLegends[index].editButton;if($editButton.hasClass("is-active")){$editButton.click()}updateTitle(0);if(map){map.closeInfoWindow()}});if(isWidgetOrEmbedMap()){this.periodsContainer=$elm.find("#periods_container");this.variablesContainer=$elm.find("#variable_container");this.indicatorToggle=$elm.find("#indicator_toggle")}};TrfAnalyticsLegendIndicators.prototype={enable:function(){this.$elm.show()},disable:function(){this.$elm.hide()},clear:function(){var l=this.listeners.length;for(var i=0;i<l;i++)PEvent.removeListener(this.listeners[i]);this.listeners=[];this.$years.empty();this.quarters.empty();this.months.empty();this.indicators.empty()},refresh:function(years,quarters,indicators,months){this.updateYears(years);this.updateQuarters(quarters);this.updateMonths(months);this.updateIndicators(indicators)},hidePeriods:function(){this.periodsContainer.hide();if(this.variablesContainer.css("display")=="none")this.indicatorToggle.hide()},showPeriods:function(){this.periodsContainer.show();this.indicatorToggle.show()},hideVariables:function(){this.variablesContainer.hide();if(this.periodsContainer.css("display")=="none")this.indicatorToggle.hide()},showVariables:function(){this.variablesContainer.show();this.indicatorToggle.show()},updateYears:function(years){var that=this;this.$years.empty();this.$years.unbind("change");var $year,disableTeasers,params,teaserYears,selectedYear;var yearParams={},yearCallbacks={};for(var i=0;i<years.length;i++){params=getUrlParams();disableTeasers=params["disableTeaserYears"];teaserYears=[];if(years[i].state&PIndicatorToggle.YEAR.selectedYear){selectedYear=years[i].value;$year=$("<option value='"+years[i].value+"'>"+years[i].value+"</option>");$year.prop("selected",true)}else if(years[i].state&PIndicatorToggle.YEAR.availableYear){$year=$("<option value='"+years[i].value+"'>"+years[i].value+"</option>");yearParams[years[i].value]=years[i].funcParams;yearCallbacks[years[i].value]=years[i].func}else if(years[i].state&PIndicatorToggle.YEAR.mustSubscribe&&!disableTeasers){teaserYears.push(years[i].value);$year=$("<option value='"+years[i].value+"'>"+years[i].value+"</option>")}if(years[i].state[i]&PIndicatorToggle.YEAR.projection)$year.style.borderLeft="1px solid #ccc";this.$years.prepend($year)}if(this.$years.children("option").size()>0){this.$yearsContainer.show();this.$years.val(selectedYear);this.$years.trigger("chosen:updated");this.$years.change(function(){if(_.contains(teaserYears,that.$years.val())){subscribeAlert()}else{yearCallbacks[$(this).val()].apply(yearParams[$(this).val()],yearCallbacks[$(this).val()])}})}else{this.$yearsContainer.hide()}},updateQuarters:function(quarters){var that=this;this.quarters.empty();this.quarters.unbind("change");var $quarter,selectedQuarter;var quarterParams={},quarterCallbacks={};for(var i=0;i<quarters.length;i++){if(quarters[i].state&PIndicatorToggle.QUARTER.selectedQuarter){selectedQuarter=quarters[i].value;$quarter=$("<option value='"+quarters[i].value+"'>"+quarters[i].value+"</option>")}else if(quarters[i].state&PIndicatorToggle.QUARTER.availableQuarter){$quarter=$("<option value='"+quarters[i].value+"'>"+quarters[i].value+"</option>");quarterParams[quarters[i].value]=quarters[i].funcParams;quarterCallbacks[quarters[i].value]=quarters[i].func}this.quarters.append($quarter)}if(this.quarters.children("option").size()>0){this.$quartersContainer.show();this.quarters.val(selectedQuarter);this.quarters.trigger("chosen:updated");this.quarters.change(function(){quarterCallbacks[$(this).val()].apply(quarterParams[$(this).val()],quarterCallbacks[$(this).val()])})}else{this.$quartersContainer.hide()}},updateMonths:function(months){var that=this;var monthsToString=["January","February","March","April","May","June","July","August","September","October","November","December"];this.months.empty();this.months.unbind("change");var $month,selectedMonth;var monthParams={},monthCallbacks={};for(var i=0;i<months.length;i++){if(months[i].state&PIndicatorToggle.MONTH.selectedMonth){selectedMonth=monthsToString[i];$month=$("<option value='"+monthsToString[i]+"'>"+monthsToString[i]+"</option>")}else if(months[i].state&PIndicatorToggle.MONTH.availableMonth){$month=$("<option value='"+monthsToString[i]+"'>"+monthsToString[i]+"</option>");monthParams[monthsToString[i]]=months[i].funcParams;monthCallbacks[monthsToString[i]]=months[i].func}this.months.append($month)}if(this.months.children("option").size()>0){this.$monthsContainer.show();this.months.val(selectedMonth);this.months.trigger("chosen:updated");this.months.change(function(){monthCallbacks[$(this).val()].apply(monthParams[$(this).val()],monthCallbacks[$(this).val()])})}else{this.$monthsContainer.hide()}},updateIndicators:function(indicators){var that=this;this.indicators.empty();this.indicators.unbind("change");var $indicator,selectedIndicator;var indicatorParams={},indicatorCallbacks={};if(indicators&&indicators.length>0){for(var i=0;i<indicators.length;i++){if(indicators[i].state&PIndicatorToggle.INDICATOR.selectedIndicator){$indicator=$("<option value='"+indicators[i].value+"'>"+indicators[i].title+"</option>");selectedIndicator=indicators[i].value}else{$indicator=$("<option value='"+indicators[i].value+"'>"+indicators[i].title+"</option>");indicatorParams[indicators[i].value]=indicators[i].funcParams;indicatorCallbacks[indicators[i].value]=indicators[i].func}this.indicators.append($indicator)}}this.indicators.val(selectedIndicator);this.indicators.trigger("chosen:updated");this.indicators.change(function(){indicatorCallbacks[$(this).val()].apply(indicatorParams[$(this).val()],indicatorCallbacks[$(this).val()])});if(PEnvironment.pageName=="widget"){if(yearToggleCount<=1){if(quartToggleCount<=1&&monthToggleCount<=1)this.hidePeriods()}else this.showPeriods();if(indicators&&indicators.length<=1)this.hideVariables();else this.showVariables()}}};var TrfCustomRegionsMenu=function(pPolyCreator,session){var polyCreator=pPolyCreator;var $container=$(".custom-regions-menu__content");var $toggleButton=$(".custom-regions__access");var $regionHeader=$(".custom-regions__region-header-row");var $regionItems=$(".custom-regions__region-item");var regions=[];var regionsIsActive=[];var regionsTemplate=_.template($("#js-custom-regions-menu__regions__template").html());var self=this;var sortColumn="created";var sortAscending=false;polyCreator.addListener("savepoly",addRegions);polyCreator.addListener("removepoly",function(_regions){updateActiveRegions();updateTemplate()});polyCreator.addListener("renamepoly",function(id,newname){for(var i=0;i<regions.length;i++){if(regions[i].id==id){regions[i].label=newname;break}}setTimeout(function(){updateActiveRegions();updateTemplate()},250)});$(window).on(P.events.LOGGED_IN,function(){self.update();closeMenu()});$(window).on(P.events.LOGGED_OUT,function(){self.update();closeMenu()});$(".custom-region-button, .custom-regions__create").click(function(){if(isSubscriber()){toggleCustomRegion()}else{genericAlertDialog({template:"subscriber"});closeMenu()}});$(".custom-regions__access, .custom-regions-icon--close").click(function(e){e.preventDefault();if($toggleButton.hasClass("is-active")){closeMenu()}else{showMenu()}});self.hide=function(){closeMenu()};self.on=function(event,callback){$container.on(event,callback)};self.once=function(event,callback){$container.one(event,callback)};function closeMenu(){$toggleButton.removeClass("is-active");$(".map-options__item--custom-regions").removeClass("is-active");$(".custom-regions-menu").slideUp({complete:function(){$(".map-options__item").removeClass("is-faded")}})}function showMenu(){$toggleButton.addClass("is-active");$(".map-options__item--custom-regions").addClass("is-active").siblings().addClass("is-faded");$(".custom-regions-menu").slideDown();$container.trigger("show")}function deleteCustomRegion(id){var $deferred=new $.Deferred;polyCreator.deletePoly(id,function(success){if(success){var regions=session.get("cp");if(regions!=null&&$.isArray(regions)){var regionLength=regions.length;for(var i=0;i<regionLength;i++){if(regions[i]==id){regions.splice(i,1);break}}if(regions.length<regionLength){session.put("cp",regions)}}$deferred.resolve()}else{alerter.popup("There was an error deleting your custom region.","OK");$deferred.reject()}});return $deferred}function bindCustomRegionEvents(){$regionHeader=$($regionHeader.selector);var $headers=$regionHeader.find("th");$headers.filter(":lt(3)").click(function sortByHeader(event){var columnName=$.trim($(this).text().toLowerCase());event.preventDefault();if(sortColumn=columnName){sortAscending=!sortAscending}else{sortColumn=columnName;sortAscending=true}self.update(true)});$regionItems=$($regionItems.selector);$regionItems.each(function(index){var $regionItem=$(this);var $item=$(this).find(".custom-regions__label");var $share=$(this).find(".custom-regions__share");var $rename=$(this).find(".custom-regions__rename");var $delete=$(this).find(".custom-regions__delete");$item.click(function(e){e.preventDefault();if(!isSubscriber()){subscribeAlert(null,"subscriber-saved-work");return}if(polyCreator.customPlaces[regions[index].id]!==undefined){removeCustomRegion(regions[index]);regionsIsActive[index]=false}else{addCustomRegion(regions[index]);regionsIsActive[index]=true}updateTemplate()});$share.click(function(e){e.preventDefault();if(isSubscriber()){polyCreator.sharePolyDialog(regions[index].id,regions[index].label)}else{subscribeAlert(null,"subscriber-saved-work")}});$delete.click(function(e){e.preventDefault();alerter.popup("Are you sure you want to delete this custom region?","Cancel","Delete",function(){if(polyCreator.customPlaces[regions[index].id]!==undefined){removeCustomRegion(regions[index])}deleteCustomRegion(regions[index].id).done(function(){regions.splice(index,1);$regionItem.fadeOut().promise().done(function(){self.update()})})})});$rename.click(function(e){e.preventDefault();polyCreator.renamePolyDialog(regions[index].id,regions[index].label)})})}self.addCustomRegionById=function(regionId){var region=_.find(regions,function(region){return parseInt(regionId,10)===region.id});if(region!=null){addCustomRegion(region)}};function addCustomRegion(region){if(PEnvironment.pageName=="tables"){polyCreator.addCustomRegionForTable(region)}else if(PEnvironment.pageName=="reports"){reportLocationBarHandler(region,"custom-region");closeMenu()}else{polyCreator.setUpPlaceAndPolylines(region,map);map.setCenterBounds(region.getBounds())}}function removeCustomRegion(region){if(PEnvironment.pageName=="tables"){cube.remove(region)}else{polyCreator.removeCustomRegionFromMap(region)}}function addRegions(_regions){regions=_regions.concat(regions);setTimeout(function(){updateActiveRegions();updateTemplate()},500)
}function updateActiveRegions(){regionsIsActive=_.map(regions,function isRegionCurrentlyActive(region){return polyCreator.customPlaces[region.id]!==void 0})}function sortRegions(_regions){regions=_.sortBy(_regions,function(region){var column;var day,month,year,date;switch(sortColumn){case"created":if(region.created&&typeof region.created=="string"&&region.created!=""&&region.created.toLowerCase()!="n/a"){date=region.created.split("/");day=date[1];month=date[0];year=date[2];column=new Date(year,month,day).getTime()}else{column=""}break;case"name":column=region.label.toLowerCase();break;case"author":column=region.author.toLowerCase();break}return column});if(!sortAscending){regions.reverse()}}function updateTemplate(){updateActiveRegions();$container.html(regionsTemplate({regions:regions,regionsIsActive:regionsIsActive,isPublicUser:session.get(P.constants.sessionUsername)===void 0,isCurrentSubscriber:isSubscriber(),sortColumn:sortColumn,isAscendingSort:sortAscending}));bindCustomRegionEvents()}self.update=function(noReload){if(session.get(P.constants.sessionUsername)!==void 0){if(noReload!==true){polyCreator.loadByUser(function(places){sortRegions(places);regionsIsActive=_.map(regions,function isRegionCurrentlyActive(region){return polyCreator.customPlaces[region.id]!==void 0});$container.trigger("change");updateTemplate()})}else{sortRegions(regions);$container.trigger("change");updateTemplate()}}else{regions=[];regionsIsActive=[];updateTemplate()}};self.update()};TrfDataPointsLegend=function($container,_map){var map=_map;var $legend=$container;var $indicatorLegend=$("#legend");var $contentContainer=$legend.find(".legend__content");var $dataPoints=$legend.find(".legend--data-points__category-item");var overlays=[];var overlayFilterContainerHiddenStates=[];var template=_.template($("#js-data-points-legend__content__template").html());var $filterGroupsContainer=$legend.find(".legend__data-points__category-item__filter-groups");var filterGroupsTemplate=_.template($("#js-data-points-legend__category-item__group-filters__template").html());var $filterGroupItems=$filterGroupsContainer.find("li");var $filtersContainer=$legend.find(".legend__data-points__category-item__filters");var filtersTemplate=_.template($("#js-data-points-legend__category-item__filters__template").html());var $filterItems=$filtersContainer.find("li");$filterGroupsContainer.hover(cancelHideAfterDelay,hideFilterMenusAfterDelay);$filtersContainer.hover(cancelHideAfterDelay,hideFilterMenusAfterDelay);var hideTimer;var timeoutDelay=2e3;var self=this;datasetSearch=new DatasetSearch;datasetSearch.searchBox.hide();var enableIconOptions=false;if(isCBClone()){enableIconOptions=true}if(enableIconOptions){if(!map.storedSetIcons){map.storedSetIcons={}}var p=PinIcons;var icons_options=[p.triangle,p.triangle180,p.circle,p.diamond,p.square,p.star,p.flag,p.bow,p.pie,p.el];var div=$("<div />");div.hide();for(var i=0;i<icons_options.length;i++){var img=$("<img />");img.attr("src",icons_options[i].image);div.append(img);var mediumIcon=PinIcons[icons_options[i].category+"_medium"];var img=$("<img />");img.attr("src",mediumIcon.image);div.append(img)}$("body").append(div)}$legend.find(".legend__toggle-icon").click(function(){var $self=$(this);if($legend.hasClass("is-minimized")){$self.removeClass("is-minimized");$legend.removeClass("is-minimized")}else{$self.addClass("is-minimized");$legend.addClass("is-minimized")}});map.addListener("addoverlayset",function(overlayset){var sets=map.getOverlaySets();if(sets.length==1){updateLegendPositionOnMap()}if(overlayset.child!==true&&overlayset.displayfiltergroups){overlays.push(overlayset);overlayFilterContainerHiddenStates.push(false);renderTemplate();updateOverlaySetsInSession()}if(map.getInfoWindow()){map.clearInfoWindowBoundary();map.closeInfoWindow()}});PEvent.addListener(map,"removeoverlayset",function(overlayset){var sets=map.getOverlaySets();if(sets.length==0){updateLegendPositionOnMap()}if(overlayset.displayfiltergroups){var index=_.indexOf(overlays,overlayset);if(index!=-1){overlays.splice(index,1);overlayFilterContainerHiddenStates.splice(index,1)}if(overlays.length===0){self.hide()}renderTemplate();updateOverlaySetsInSession();updateOverlayFiltersInSession()}if(map.getInfoWindow()){map.clearInfoWindowBoundary();map.closeInfoWindow()}});map.addListener("setoverlaysets",function(overlaysets){_.each(overlaysets,function(overlayset){if(overlayset.child!=true&&overlayset.displayfiltergroups){overlays.push(overlayset);overlayFilterContainerHiddenStates.push(false);renderTemplate()}});updateOverlaySetsInSession();if(map.getInfoWindow()){map.clearInfoWindowBoundary();map.closeInfoWindow()}});map.addListener("clearoverlaysets",function(){self.hide();overlays=[];overlayFilterContainerHiddenStates=[]});$legend.on("mousewheel",function(event){event.stopPropagation()});this.show=function(){if(map.getIndicator()!==null&&$indicatorLegend.hasClass("legend--docked")&&overlays.length===1){positionUnderIndicatorLegend()}$legend.show()};this.hide=function(){$legend.hide()};function updateOverlayFiltersInSession(){var sets=map.getOverlaySets(true,true);session.put("ofilters",overlaySetUtil.getFilterIds(sets))}function positionUnderIndicatorLegend(){$legend.css("top",$indicatorLegend.position().top+$indicatorLegend.outerHeight());$legend.css("left",$indicatorLegend.position().left)}function updateOverlaySetsInSession(){session.put("o",overlaySetUtil.getSetIds(map.getOverlaySets(),"old"));session.put("dlo",overlaySetUtil.getSetIds(map.getOverlaySets(),"dl"))}function renderTemplate(){if(overlays.length>0){var s=null;if(isCBClone()&&P.CloneOptions.source_link_constant){s=P.CloneOptions.source_link_constant}$contentContainer.html(template({overlays:overlays,overlayFilterContainerHiddenStates:overlayFilterContainerHiddenStates,source_link_constant:s}));$dataPoints=$($dataPoints.selector);bindEventHandlers();$container.show()}else{$container.hide()}}function bindEventHandlers(){$dataPoints.each(function(overlaysetIndex){var $dataPoint=$(this);var overlaySet=overlays[overlaysetIndex];var $closeButton=$dataPoint.find(".legend--data-points__category__header .legend__close-icon");var $searchButton;var $searchInput;var $filterButton=$dataPoint.find(".legend--data-points__filter-button");var $filters;var autoSuggest;var $filterHeader;var $filterContentContainer;var $downloadButton=$dataPoint.find(".legend--data-points__download-button");var $viewButton=$dataPoint.find(".legend--data-points__view-button");var hasColorAllFilter=$dataPoint.find(".legend--data-points__filter-by-icons").length>0;if(hasColorAllFilter){$dataPoint.find(".legend--data-points__category__header .legend--data-points__icon").addClass("legend--data-points__icon--hidden")}$closeButton.click(function(){map.removeOverlaySet(overlaySet);labelManager.updateMapLabels()});if(overlaySet.search&&overlaySet.type!="dl"){$searchButton=$dataPoint.find(".legend--data-points__search-button");$searchInput=$dataPoint.find(".legend--data-points__search");autoSuggest=new AutoSuggest;autoSuggest.attach($searchInput.get(0),"d");$searchInput.keydown(function(event){var $self=$(this);datasetSearch.currentDataset=overlaySet;datasetSearch.searchField=$self.get(0);if(event&&event.keyCode==13&&autoSuggest.getSelectedItem()==null){datasetSearchQuery(overlaySet.id,overlaySet.type,$self.val())}});$searchButton.click(function(){datasetSearch.currentDataset=overlaySet;datasetSearch.searchField=$searchInput.get(0);datasetSearchQuery(overlaySet.id,overlaySet.type,$searchInput.val())})}if($downloadButton.length>0){var s=overlaySet;if(s.isPoly&&s.children.length>0){s=s.children[0]}$downloadButton.data("o",s);var o=$.extend({},s);$downloadButton.click(function(){o.format="csv";o.offset=null;o.limit=null;var b=P.instances.map.getBounds();b.getMarkersWithin(o)})}if($viewButton.length>0){$viewButton.click(function(){showSiteListPopup(overlaySet)})}if(_.keys(overlaySet.displayfiltergroups).length>0){$filterButton.click(function(){var $self=$(this);$filtersContainer.hide();renderGroupFiltersTemplate(overlaySet);if($(this).hasClass("is-active")){$(this).removeClass("is-active");$filterGroupsContainer.hide()}else{$legend.css("z-index",Strata.OVER_MAP2);$legend.find(".legend--data-points__filter-button").removeClass("is-active");$(this).addClass("is-active");$filterGroupsContainer.css("top",$self.position().top+"px");$filtersContainer.css("top",$self.position().top+"px");$filterGroupsContainer.show()}})}if(_.keys(overlaySet.filtergroups).length>0){$filters=$dataPoint.find(".legend--data-points__filter");$filters.each(function(){var $filter=$(this);var filterGroupKey=$filter.find(".legend--data-points__filter-group-name").text();var filterName=$filter.find(".legend--data-points__filter-name").text();var filter=_.find(overlaySet.filtergroups[filterGroupKey],function(filter){return filter.valuesDisplay===filterName});$filter.find(".legend__close-icon").click(function(event){event.preventDefault();removeOverlayFilter(overlaySet,filter);renderTemplate();updateOverlayFiltersInSession()})});$filterHeader=$dataPoint.find(".legend--data-points__filters__header");$filterContentContainer=$dataPoint.find(".legend--data-points__filters__content");$filterHeader.click(function(event){var $header=$(this);event.preventDefault();$header.toggleClass("is-minimized");$filterContentContainer.toggle();overlayFilterContainerHiddenStates[overlaysetIndex]=!overlayFilterContainerHiddenStates[overlaysetIndex];if(overlayFilterContainerHiddenStates[overlaysetIndex]){$header.find(".legend__filter-minimize-icon").removeClass("legend__filter-minimize-icon").addClass("legend__filter-maximize-icon")}else{$header.find(".legend__filter-maximize-icon").removeClass("legend__filter-maximize-icon").addClass("legend__filter-minimize-icon")}})}if(enableIconOptions){var $e=$(".legend--data-points__icon");$e.addClass("enabled");$e.click(function(){setIconOptions(overlaySet,this,$(this).find("img"))})}})}function hideFilterMenusAfterDelay(){cancelHideAfterDelay();hideTimer=setTimeout(hideFilterMenus,timeoutDelay)}function hideFilterMenus(){$legend.find(".legend--data-points__filter-button").removeClass("is-active");$filtersContainer.scrollTop(0);$filtersContainer.hide();$filterGroupsContainer.scrollTop(0);$filterGroupsContainer.hide();$dataPoints.removeClass("is-selected")}function cancelHideAfterDelay(){clearTimeout(hideTimer)}function renderGroupFiltersTemplate(overlay){var filterGroups=_.keys(overlay.displayfiltergroups);$filterGroupsContainer.html(filterGroupsTemplate({filterGroups:filterGroups}));$filterGroupsContainer.scrollTop(0);$filterGroupItems=$($filterGroupItems.selector);$filterGroupItems.each(function(index){var $filterGroupItem=$(this);$filterGroupItem.hover(function showFiltersContainer(){var filters=overlay.displayfiltergroups[$(this).text()];renderFiltersTemplate(overlay,filters);$filtersContainer.show();$filterGroupItem.siblings().removeClass("is-selected");$filterGroupItem.addClass("is-selected")},function hideMenusAfterDelay(){$dataPoints.removeClass("is-selected")})})}function renderFiltersTemplate(overlay,filters){$filtersContainer.html(filtersTemplate({filters:filters}));$filtersContainer.scrollTop(0);$filterItems=$($filterItems.selector);$filterItems.each(function(index){var isActive=isOverlayFilterIdActive(overlay,filters[index].columnName,filters[index].id);var $filterItem=$(this);if(isActive){$(this).addClass("is-active")}else{$(this).removeClass("is-active")}$filterItem.click(function(e){e.preventDefault();if(isActive){$filterItem.removeClass("is-selected");removeOverlayFilterByIndex(overlay,filters,index)}else{$filterItem.addClass("is-selected");addOverlayFilter(overlay,filters,index)}renderTemplate();updateOverlayFiltersInSession();hideFilterMenus();labelManager.updateMapLabels()})})}function isOverlayFilterIdActive(overlay,filterColumnName,filterId){return _.some(overlay.filtergroups,function(filterGroup){return _.some(filterGroup,function(filter){return filter.id===filterId&&filter.columnName===filterColumnName})})}function addOverlayFilter(overlay,filters,filterIndex){var mapSets=map.getOverlaySets(false,true);var colorCodeFilter;if(filters[filterIndex].values[0]==="COLORCODE"){var availableFilters=_.filter(filters,function(filter){return filter.values[0]!=="COLORCODE"});colorCodeFilter=filters;var addFilterFunc=function(){overlay.setFiltersByIcons(availableFilters,overlay.colorcodes);overlay.filtergroups[filters[filterIndex].name]=[];overlay.filtergroups[filters[filterIndex].name].push(filters[filterIndex]);for(var l=0;l<overlay.children.length;l++){var curSet=overlay.children[l];for(var m=0;m<mapSets.length;m++){var curMapSet=mapSets[m];if(curMapSet.id===curSet.id&&curMapSet.type===curSet.type){curMapSet.setFiltersByIcons(availableFilters,overlay.colorcodes);curMapSet.filtergroups[filters[filterIndex].name]=[];curMapSet.filtergroups[filters[filterIndex].name].push(filters[filterIndex]);break}}}renderTemplate()};if(!overlay.isIFFDataset()&&overlay.filtersbyicons.length>0){var text="The previous color code filter will be removed to add this new one.";var that=this;alerter.popup(text,"Cancel","OK",function(){overlay.clearFiltersByIcons();addFilterFunc()})}else if(overlay.isIFFDataset()){overlay.clearFilters();addFilterFunc()}else{addFilterFunc()}}else{if(overlay.isIFFDataset()){var filtergroups=overlay.filtergroups;for(var l in filtergroups){if(filtergroups[l].length>0){if(filtergroups[l][0].values[0]==="COLORCODE"&&isIFFAccountabilityColumn(overlay.id,filtergroups[l][0].columnName)){overlay.removeFilterFromGroup(filtergroups[l][0])}}}}overlay.addFilter(filters[filterIndex]);for(var i=0;i<overlay.children.length;i++){var curChildSet=overlay.children[i];var childFilter=overlaySetUtil.getChildFilter(filters[filterIndex],curChildSet);if(childFilter!=null){curChildSet.addFilter(childFilter)}}if(colorCodeFilter!==undefined){overlay.removeFilterFromGroup(colorCodeFilter)}}}function removeOverlayFilterByIndex(overlay,filters,index){removeOverlayFilter(overlay,filters[index])}function removeOverlayFilter(overlay,filter){function removeFromSet(set,filter){set.removeFilter(filter);if(filter.values[0]==="COLORCODE"&&!set.isIFFDataset()){set.clearFiltersByIcons()}}removeFromSet(overlay,filter);for(var i=0;i<overlay.children.length;i++){var curChildSet=overlay.children[i];var childFilter=overlaySetUtil.getChildFilter(filter,curChildSet);if(childFilter!=null){removeFromSet(curChildSet,childFilter)}}if(datasetSearch&&datasetSearch.currentDataset&&datasetSearch.currentDataset.id===overlay.id){datasetSearch.setCurrentDataset(overlay)}}function datasetSearchQuery(datasetID,datasetType,query){var didArg="";if(datasetType==="old"){didArg="&did="+datasetID}else{didArg="&dlid="+datasetID}ajax.call({url:PEnvironment.autosuggestUrl+"?rid=1"+"&t=d"+didArg+"&dt="+datasetType+"&s="+encodeURIComponent(query),dataType:"json",context:this,success:function(response){if(response==null||response.rid==null||response.results==null){return}if(response.results.length<1){alerter.popup('No sites matching the search term "'+query+'" were found.',"OK");return}datasetSearch.loadSite(response.results[0])}})}function setIconOptions(set,linkElem,imgElem){var div=$("<div />");div.addClass("icon-options");var icons=icons_options;var cnt=0;for(var i=0;i<icons.length;i++){if(cnt>4){div.append("<br />");cnt=0}var icon=icons[i];var mediumIcon=PinIcons[icons[i].category+"_medium"];var a=$("<a />");a.html("<img src='"+mediumIcon.image+"' />");a.attr("i",i);var that=this;a.click(function(){var icon=icons[$(this).attr("i")];imgElem.attr("src",icon.image);set.changeIcon(icon,true);map.storedSetIcons[set.id]=icon});div.append(a);cnt++}$(linkElem).append(div);var menuTimer;$(linkElem).mouseleave(function(){var that=this;menuTimer=setTimeout(function(){$(that).find(".icon-options").remove()},300)});$(linkElem).mouseover(function(){clearTimeout(menuTimer)})}};var TrfFavorites=function(taxonomy,$toggleContainer,logger){var MAX_FAVORITES_PATH_LENGTH=40;var $toggle=$toggleContainer;var $myDataMenuFavoritesItems=$(".my-data-menu__favorites__item");var favorites;var $favoritesIcon=$toggle.children(".add-to-favorites-icon");var currentFavoriteNodeId;var self=this;var $myDataMenuFavorites=$(".my-data-menu__favorites__content");var myDataMenuFavoritesTemplate=_.template($("#js-my-data-menu__favorites__content__template").html());var $addToFavoritesIcon=$(".content__header__favorites-toggle .add-to-favorites-icon");if(PEnvironment.pageName!=="tables"&&map!=null){map.addListener("setindicator",function(){self.updateFavoritesIcon()})}$(window).on(P.events.LOGGED_IN,function(){self.updateFavorites();self.updateFavoritesIcon()});$(window).on(P.events.LOGGED_OUT,function(){self.updateFavorites();self.updateFavoritesIcon()});$toggle.click(function(){var $self=$(this);var nodeId=currentFavoriteNodeId;if(isFavorite(nodeId)){self.modifyFavoriteIndicator("remove",nodeId,function(isSuccessful){if(isSuccessful){$favoritesIcon.removeClass("is-favorite");self.updateFavorites();$self.attr("title","Add to Favorites")}else{alerter.popup("There was an error adding this indicator to your favorites.","OK")}})}else{self.modifyFavoriteIndicator("add",nodeId,function(isSuccessful){if(isSuccessful){$favoritesIcon.addClass("is-favorite");self.updateFavorites();$self.attr("title","This indicator has been added to your Favorites. You can access your Favorites at any time from the My Data Menu.");alerter.popup("This indicator has been added to your Favorites. You can access your Favorites at any time from the My Data Menu.","OK")}else{alerter.popup("There was an error adding this indicator to your favorites.","OK")}})}});function isFavorite(nodeId){return _.any(favorites,function(favorite){return favorite.id===nodeId})}this.setCurrentFavoriteNodeId=function(nodeId){currentFavoriteNodeId=nodeId};this.updateFavoritesTemplate=function(){var favoritePaths=_.map(favorites,function(favorite){var shortenedPath="";var charactersLeft;var paths;if(favorite.path.length>MAX_FAVORITES_PATH_LENGTH){paths=favorite.path.split(" > ");charactersLeft=MAX_FAVORITES_PATH_LENGTH-paths[paths.length-1].length;shortenedPath=$.trim(favorite.path.substring(0,charactersLeft));if(shortenedPath.slice(-1)===">"){shortenedPath=shortenedPath.substring(0,shortenedPath.length-2)}shortenedPath+="... > "+paths[paths.length-1];return shortenedPath}else{return favorite.path}});$myDataMenuFavorites.html(myDataMenuFavoritesTemplate({favorites:favorites,favoritePaths:favoritePaths,isPublicUser:session.get(P.constants.sessionUsername)===undefined}));$myDataMenuFavoritesItems=$($myDataMenuFavoritesItems.selector);bindMyDataMenuFavoritesEvents()};function bindMyDataMenuFavoritesEvents(){$myDataMenuFavoritesItems.each(function(index){var $self=$(this);var $name=$self.find(".my-data-menu__favorites__name");var $delete=$self.find(".my-data-menu__icon--delete");var nodeId=favorites[index].id;var indicators=taxonomy.getIndicators(nodeId);var geoBoundaryId=taxonomy.getGeoBoundaryId(nodeId);$name.click(function(e){e.preventDefault();currentFavoriteNodeId=nodeId;selectIndicators.apply(this,indicators);if(geoBoundaryId!==null){selectPlace(geoBoundaryId)}});$delete.click(function(e){e.preventDefault();var removeFavorite=function(){self.modifyFavoriteIndicator("remove",nodeId,function(isSuccessful){if(isSuccessful){if(nodeId===currentFavoriteNodeId){$addToFavoritesIcon.removeClass("is-favorite")}favorites.splice(index,1);$self.fadeOut({complete:function(){self.updateFavoritesTemplate()}})}else{alerter.popup("There was an error removing this indicator from your favorites.","OK")}})};alerter.popup("Are you sure you want to remove this favorite?","Cancel","Remove",removeFavorite)})})}this.updateFavorites=function(){if(session.get(P.constants.sessionUsername)!==undefined){$.when(getFavorites()).done(function(response){if(response&&response.fav){favorites=buildFavoritesMap(response.fav);logger.log(P.Debug.INFO,"favorites initialized");self.updateFavoritesIcon();self.updateFavoritesTemplate();$toggle.trigger("change")}else{alerter.popup("There was an error loading your favorite indicators.","OK")}})}else{if(favorites!==undefined&&favorites.length>0){favorites=[];$toggle.trigger("change")}}};this.updateFavoritesIcon=function(){if(session.get(P.constants.sessionUsername)!==undefined&&getIndicator()!==undefined&&getIndicator()!==null){var currentIndicatorId=getIndicator().id;var nodeIds=taxonomy.getNodeIdsByIndicatorId(currentIndicatorId);var isFavorited=false;if(nodeIds.length>0){if(!_.contains(nodeIds,currentFavoriteNodeId)){_.each(nodeIds,function(nodeId){if(isFavorite(nodeId)){$favoritesIcon.addClass("is-favorite");isFavorited=true;currentFavoriteNodeId=nodeId}});if(!isFavorited){currentFavoriteNodeId=nodeIds[0];$favoritesIcon.removeClass("is-favorite")}}else{if(isFavorite(currentFavoriteNodeId)){$favoritesIcon.addClass("is-favorite");$favoritesIcon.attr("title","This indicator has been added to your Favorites. You can access your Favorites at any time from the My Data Menu.")}else{$favoritesIcon.removeClass("is-favorite");$favoritesIcon.attr("title","Add to Favorites")}}}else{$favoritesIcon.removeClass("is-favorite")}}};this.modifyFavoriteIndicator=function(action,nodeId,callback){var actionParm="";if(action=="add"){actionParm="ia"}else if(action=="remove"){actionParm="ir"}else{callback(false)}if(!isPublicUser()){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=fav&act="+actionParm+"&nodeid="+nodeId,dataType:"json",success:function(result){if(result.fav&&result.fav.status=="OK"&&result.fav.indicators){callback(true)}else{callback(false)}},error:function(){callback(false)}})}else{var text='Favorites are available to registered users and subscribers only. If you are a registered user or subscriber, <a onclick="loginAlert(this);">login</a> to access, or become a <a href="/register?reg_type=reg">registered user</a> for free.';alerter.popup(text,"OK")}};function getIndicator(){var indicator;switch(PEnvironment.pageName){case"tables":if(global_indicators.length>0){indicator=global_indicators[0]}break;default:indicator=map.getIndicator()}return indicator}function getFavorites(){return ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=fav&act=ig",dataType:"json",success:function(result){},error:function(){alerter.popup("There was an error loading your favorite indicators.","OK")}})}function buildFavoritesMap(favoriteIndicatorIds){return _.chain(favoriteIndicatorIds).map(function(favoriteIndicatorId){return _.head(taxonomy.getNodeIdsByIndicatorId(favoriteIndicatorId))}).filter(function(nodeId){return nodeId!==undefined}).map(function(nodeId){return{id:nodeId,path:taxonomy.getPathToNodeId(nodeId)}}).sortBy(function(favorite){return favorite.path}).value()}};TrfLegendBreaks=function($element,_$shadingRangesSelect){this.$elm=$element;this.$container=this.$elm.find(".legend__breakdown__container").first();this.$legendContainer=this.$elm.parents(".legend");this.$legendContentContainer=this.$elm.parent(".legend__content");this.breaksTemplate=_.template($("#js-legend__breakdown__item__template").html());this.$shadingRangesSelect=_$shadingRangesSelect;var breaksRangeEditClass="legend__breakdown--edit-ranges";var breaksColorEditClass="legend__breakdown--edit-colors";var $editOptions=$(".legend__breakdown__edit__item");var $colorEditToggle=$editOptions.filter(":eq(0)");var $rangeEditToggle=$editOptions.filter(":eq(1)");var $breakdownItems=$(".legend__breakdown__item");var colorRampsTemplate=_.template($("#js-legend__breakdown__color-ramp__template").html());var saveButtonSelector=".legend__breakdown__apply";var cancelButtonSelector=".legend__breakdown__cancel";var defaultBreakdownButtonSelector=".legend__breakdown__default";var breaksEditOptionSelector=".legend__breakdown__breaks-options a";var self=this;function resetView(){widget.getIndicatorBreaks().setEditMode(false);self.$elm.removeClass(breaksColorEditClass);self.$elm.removeClass(breaksRangeEditClass);$editOptions.removeClass("is-active")}function refreshColorRamps(){var colorRamp;var colorRamps=[];var arr=[];var ramps=PColorRampOptions;self.$elm.addClass(breaksColorEditClass);self.$elm.removeClass(breaksRangeEditClass);for(var i=0;i<ramps.order.length;i++){var name=ramps.order[i];if(ramps[name].excludeFromMenu){continue}arr.push(ramps[name])}for(var y=0;y<arr.length;y++){colorRamp={};colorRamp.name=arr[y].ramp.name;var colors=arr[y].ramp.getColors();colorRamp.colors=[];for(var i=0;i<colors.length;i++){colorRamp.colors.push("#"+colors[i].color)}colorRamps.push(colorRamp)}self.$container.html(colorRampsTemplate({colorRamps:colorRamps,currentColorRampName:widget.legend.getColorRamp().name}));bindColorRamps()}function bindColorRamps(){var $save=self.$container.find(saveButtonSelector);var $cancel=self.$container.find(cancelButtonSelector);$breakdownItems=self.$container.find($breakdownItems.selector);$save.click(function(){widget.changeColorRamp($breakdownItems.find("input:checked").val());session.put("rmp",$breakdownItems.find("input:checked").val());resetView()});$cancel.click(function(){resetView()})}function bindBreakOptions(){self.$shadingRangesSelect.change(function(){handleCutPoints(this)});self.$container.find(saveButtonSelector).click(function(e){e.preventDefault();widget.getIndicatorBreaks().applyCustomBreaks(true);resetView()});self.$container.find(cancelButtonSelector).click(function(e){e.preventDefault();widget.getIndicatorBreaks().setEditMode(false);resetView()});self.$container.find(defaultBreakdownButtonSelector).click(function(e){e.preventDefault();widget.getIndicatorBreaks().restoreBreaks();resetView()})}this.refresh=function(breaks,incrementBreaks,numBreaks,colors,legend){var legendBreaks=[];var legendBreak;if(editState&PIndicatorBreaks.EDITSTATE.currentlyEditing){this.$elm.addClass(breaksRangeEditClass)}else{this.$elm.removeClass(breaksRangeEditClass)}this.$elm.removeClass(breaksColorEditClass);this.$container.empty();var legend=P.instances.map.getLegend();var types=legend.getBoundaryTypes();if(editState&PIndicatorBreaks.EDITSTATE.noBoundaryType||types.length==0){legend.clearBoundaryType();legend.redraw();this.$container.append("<div style='color: #ff0000; font-size: 12px'><i>Zoom in further to see this data.</i></div>")}else{var nodata=false;if(editState&PIndicatorBreaks.EDITSTATE.noData)numBreaks+=1;if(breaks===null||breaks[numBreaks-1]===null){this.$container.append("<p>There is insufficient data to create the current ranges. Try a smaller number.</p>")}else{var mvaLayers=session.get("mvalayers");for(var i=0;i<numBreaks;i++){legendBreak={};var breaksString="";if(editState&PIndicatorBreaks.EDITSTATE.noData&&i==0){legendBreak.color="#"+colors[i];if(editState&PIndicatorBreaks.EDITSTATE.currentlyEditing&&editState&PIndicatorBreaks.EDITSTATE.exactBreaks){legendBreak.label="<input id='breakbox0' class='breaksbox' type='checkbox' ";if(mvaLayers[0]){legendBreak.label+="checked "}legendBreak.label+="/>"}if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){if(!(editState&PIndicatorBreaks.EDITSTATE.currentlyEditing)){if(!mvaLayers[0]){legendBreak.isDisabled=true}}}if(legendBreak.label===undefined){legendBreak.label=legend.getIndicator().nodatalabel}else{legendBreak.label+="<label for='breakbox0'>"+legend.getIndicator().nodatalabel+"</label>"}legendBreak.isInsufficientData=true;nodata=true}else if(editState&PIndicatorBreaks.EDITSTATE.currentlyEditing){if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){legendBreak.color="#"+colors[i];legendBreak.label="<input id='breakbox"+i+"' class='breaksbox' type='checkbox' ";if(mvaLayers[i]){legendBreak.label+="checked "}legendBreak.label+="/><label for='breakbox"+i+"'>"+breaks[i]+"</label>"}else{var startbreak;if(i==0||i==1&&nodata)startbreak=breaks[i];else startbreak=incrementBreaks[i];breaksString="<td align='right' style='padding-left: 3px'><input onchange='widget.getIndicatorBreaks().checkBreakBoxes(this.id)' id='breakbox"+i+"a' class='breaksbox' type='text' value='"+startbreak+"'></td><td width=20 align='center'>&ndash;</td><td align='right' style='padding-right: 3px'><input onchange='widget.getIndicatorBreaks().checkBreakBoxes(this.id)' id='breakbox"+i+"b' class='breaksbox' type='text' value='"+breaks[i+1]+"'></td>";legendBreak.color="#"+colors[i];legendBreak.min="<input onchange='widget.getIndicatorBreaks().checkBreakBoxes(this.id)' id='breakbox"+i+"a' class='breaksbox' type='text' value='"+startbreak+"'>";legendBreak.max="<input onchange='widget.getIndicatorBreaks().checkBreakBoxes(this.id)' id='breakbox"+i+"b' class='breaksbox' type='text' value='"+breaks[i+1]+"'>"}}else{if(editState&PIndicatorBreaks.EDITSTATE.exactBreaks){breaksString="<td colspan=3 align='center' style='padding-left:3px";if(mvaLayers[i]){breaksString+=";color:#878787"}else{breaksString+=";color:#d7d7d7;font-style:italic";legendBreak.isDisabled=true}breaksString+="'>"+breaks[i]+"</td>";legendBreak.label=breaks[i]}else{if((i==0||i==1&&nodata)&&!legend.compareCustomBreaks(i,">")){breaksString="<td colspan='3' align='center' style='padding-left: 3px'>"+breaks[i+1]+" or less</td>";legendBreak.label=breaks[i+1]+" or less"}else if(i==numBreaks-1&&!legend.compareCustomBreaks(i+1,"<")){breaksString="<td colspan='3' align='center' style='padding-left: 3px'>"+incrementBreaks[i]+" or more </td>";legendBreak.label=incrementBreaks[i]+" or more"}else{var startbreak;if(i==0||i==1&&nodata)startbreak=breaks[i];else startbreak=incrementBreaks[i];if(startbreak==breaks[i+1]){breaksString="<td align='right' style='padding-left: 3px'>"+startbreak+"</td><td width=20 align='center'></td><td align='right' style='padding-right: 3px'></td>";legendBreak.label=startbreak}else{breaksString="<td align='right' style='padding-left: 3px'>"+startbreak+"</td><td width=20 align='center'>&ndash;</td><td align='right' style='padding-right: 3px'>"+breaks[i+1]+"</td>";legendBreak.min=startbreak;legendBreak.max=breaks[i+1]}}}legendBreak.color="#"+colors[i]}legendBreaks.push(legendBreak)}}}self.$container.append(this.breaksTemplate({legendBreaks:legendBreaks,isEditing:(editState&PIndicatorBreaks.EDITSTATE.currentlyEditing)>0,exactBreaks:(editState&PIndicatorBreaks.EDITSTATE.exactBreaks)>0}));this.adjustMaxHeight();if((editState&PIndicatorBreaks.EDITSTATE.currentlyEditing)>0&&(editState&PIndicatorBreaks.EDITSTATE.nonSubscriber)===0){self.$shadingRangesSelect=$(self.$shadingRangesSelect.selector);$("#legend__shading__ranges").chosen({disable_search_threshold:15,width:"44px"});bindBreakOptions()}this.$shadingRangesSelect.val(map.getLegend().getNumberOfBreaks());this.$shadingRangesSelect.trigger("chosen:updated");this.$elm.scrollTo(0,0);$(window).trigger(P.events.LEGEND_UPDATED)};this.enableColorEditToggle=function(){$colorEditToggle.removeClass("is-disabled")};this.disableColorEditToggle=function(){$colorEditToggle.addClass("is-disabled")};this.enableRangesEditToggle=function(){$rangeEditToggle.removeClass("is-disabled")};this.disableRangesEditToggle=function(){$rangeEditToggle.addClass("is-disabled")};$colorEditToggle.click(function(e){var $self=$(this);e.preventDefault();if(!$self.hasClass("is-disabled")){if(!isSubscriber()){subscribeAlert()}else{if($self.hasClass("is-active")){$self.removeClass("is-active");resetView()}else{$self.siblings().removeClass("is-active");$self.addClass("is-active");refreshColorRamps()}}}});$rangeEditToggle.click(function(e){e.preventDefault();var $self=$(this);if(!$self.hasClass("is-disabled")){if(!isSubscriber()){subscribeAlert()}else{if($self.hasClass("is-active")){$self.removeClass("is-active");resetView()}else{$self.siblings().removeClass("is-active");$self.addClass("is-active");displayEditRangesPanel()}}}});this.adjustMaxHeight=function(){if(!this.$legendContainer.is(":visible")){return}var self=this;var legendHeight=this.$legendContainer.find("h2").outerHeight();this.$legendContentContainer.children().each(function(){if(!$.contains(this,self.$container.get(0))){legendHeight+=$(this).outerHeight()}});this.$elm.css("max-height",Math.max(200,$(map.getContainer()).height()-legendHeight-60)+"px");
var scrollbarVisible=function(){this.$elm.addClass("no-drag");this.$container.find(".legend__breakdown__color").css("width","16px")};var scrollbarNotVisible=function(){this.$elm.removeClass("no-drag");this.$container.find(".legend__breakdown__color").css("width","")};if(this.$elm.hasScrollBar()){scrollbarVisible.apply(this);if(!this.$elm.hasScrollBar()){scrollbarNotVisible.apply(this)}}else{scrollbarNotVisible.apply(this)}}};TrfLegendBreaks.prototype={clear:function(){this.$container.empty()},removeEditRangesLinks:function(){this.showEditRangesLinks=false},showEditRangesLinks:function(){this.showEditRangesLinks=true}};TrfLegendIndicators=function($elm){this.$elm=$elm;this.$years=$elm.find("#legend__year-select");this.quarters=$elm.find("#legend__quarter-select");this.months=$elm.find("#legend__month-select");this.$yearsContainer=$elm.find("#legend__year__container");this.$quartersContainer=$elm.find("#legend__quarter__container");this.$monthsContainer=$elm.find("#legend__month__container");this.indicators=$elm.find("#legend__variable-select");this.toggleButton=$elm.find(".legend__toggle-icon");var self=this;this.listeners=[];this.toggleButton.click(function(){if(self.$elm.hasClass("is-minimized")){$(this).removeClass("is-minimized");self.$elm.removeClass("is-minimized")}else{$(this).addClass("is-minimized");self.$elm.addClass("is-minimized").addClass("legend--docked")}});this.$elm.find(".legend__title__close").click(function(){if(PEnvironment.pageName=="maps"){clearMapData()}else if(PEnvironment.pageName=="tables"){clearTableData()}if(map){map.closeInfoWindow()}});if(isWidgetOrEmbedMap()){this.periodsContainer=$elm.find("#periods_container");this.variablesContainer=$elm.find("#variable_container");this.indicatorToggle=$elm.find("#indicator_toggle")}};TrfLegendIndicators.prototype={enable:function(){this.$elm.show()},disable:function(){this.$elm.hide()},clear:function(){var l=this.listeners.length;for(var i=0;i<l;i++){PEvent.removeListener(this.listeners[i])}this.listeners=[];this.$years.empty();this.quarters.empty();this.months.empty();this.indicators.empty()},refresh:function(years,quarters,indicators,months){this.updateYears(years);this.updateQuarters(quarters);this.updateMonths(months);this.updateIndicators(indicators)},hidePeriods:function(){this.periodsContainer.hide();if(this.variablesContainer.css("display")=="none"){this.indicatorToggle.hide()}},showPeriods:function(){this.periodsContainer.show();this.indicatorToggle.show()},hideVariables:function(){this.variablesContainer.hide();if(this.periodsContainer.css("display")=="none"){this.indicatorToggle.hide()}},showVariables:function(){this.variablesContainer.show();this.indicatorToggle.show()},updateYears:function(years){var that=this;this.$years.empty();this.$years.unbind("change");var $year,disableTeasers,params,teaserYears,selectedYear;var yearParams={},yearCallbacks={};for(var i=0;i<years.length;i++){params=getUrlParams();disableTeasers=params["disableTeaserYears"];teaserYears=[];if(years[i].state&PIndicatorToggle.YEAR.selectedYear){selectedYear=years[i].value;$year=$("<option value='"+years[i].value+"'>"+years[i].value+"</option>");$year.prop("selected",true)}else if(years[i].state&PIndicatorToggle.YEAR.availableYear){$year=$("<option value='"+years[i].value+"'>"+years[i].value+"</option>");yearParams[years[i].value]=years[i].funcParams;yearCallbacks[years[i].value]=years[i].func}else if(years[i].state&PIndicatorToggle.YEAR.mustSubscribe&&!disableTeasers){teaserYears.push(years[i].value);$year=$("<option value='"+years[i].value+"'>"+years[i].value+"</option>")}if(years[i].state[i]&PIndicatorToggle.YEAR.projection){$year.style.borderLeft="1px solid #ccc"}this.$years.prepend($year)}if(this.$years.children("option").size()>0){this.$yearsContainer.show();this.$years.val(selectedYear);this.$years.trigger("chosen:updated");this.$years.change(function(){if(_.contains(teaserYears,that.$years.val())){subscribeAlert()}else{yearCallbacks[$(this).val()].apply(yearParams[$(this).val()],yearCallbacks[$(this).val()])}})}else{this.$yearsContainer.hide()}},updateQuarters:function(quarters){var that=this;this.quarters.empty();this.quarters.unbind("change");var $quarter,selectedQuarter;var quarterParams={},quarterCallbacks={};for(var i=0;i<quarters.length;i++){if(quarters[i].state&PIndicatorToggle.QUARTER.selectedQuarter){selectedQuarter=quarters[i].value;$quarter=$("<option value='"+quarters[i].value+"'>"+quarters[i].value+"</option>")}else if(quarters[i].state&PIndicatorToggle.QUARTER.availableQuarter){$quarter=$("<option value='"+quarters[i].value+"'>"+quarters[i].value+"</option>");quarterParams[quarters[i].value]=quarters[i].funcParams;quarterCallbacks[quarters[i].value]=quarters[i].func}this.quarters.append($quarter)}if(this.quarters.children("option").size()>0){this.$quartersContainer.show();this.quarters.val(selectedQuarter);this.quarters.trigger("chosen:updated");this.quarters.change(function(){quarterCallbacks[$(this).val()].apply(quarterParams[$(this).val()],quarterCallbacks[$(this).val()])})}else{this.$quartersContainer.hide()}},updateMonths:function(months){var that=this;var monthsToString=["January","February","March","April","May","June","July","August","September","October","November","December"];this.months.empty();this.months.unbind("change");var $month,selectedMonth;var monthParams={},monthCallbacks={};for(var i=0;i<months.length;i++){if(months[i].state&PIndicatorToggle.MONTH.selectedMonth){selectedMonth=monthsToString[i];$month=$("<option value='"+monthsToString[i]+"'>"+monthsToString[i]+"</option>")}else if(months[i].state&PIndicatorToggle.MONTH.availableMonth){$month=$("<option value='"+monthsToString[i]+"'>"+monthsToString[i]+"</option>");monthParams[monthsToString[i]]=months[i].funcParams;monthCallbacks[monthsToString[i]]=months[i].func}this.months.append($month)}if(this.months.children("option").size()>0){this.$monthsContainer.show();this.months.val(selectedMonth);this.months.trigger("chosen:updated");this.months.change(function(){monthCallbacks[$(this).val()].apply(monthParams[$(this).val()],monthCallbacks[$(this).val()])})}else{this.$monthsContainer.hide()}},updateIndicators:function(indicators){var that=this;this.indicators.empty();this.indicators.unbind("change");var $indicator,selectedIndicator;var indicatorParams={},indicatorCallbacks={};if(indicators&&indicators.length>0){for(var i=0;i<indicators.length;i++){var ind=indicators[i];var v=ind.value+"_"+i;if(ind.state&PIndicatorToggle.INDICATOR.selectedIndicator){$indicator=$("<option value='"+v+"'>"+ind.title+"</option>");selectedIndicator=v}else{$indicator=$("<option value='"+v+"'>"+ind.title+"</option>");indicatorParams[v]=ind.funcParams;indicatorCallbacks[v]=ind.func}this.indicators.append($indicator)}}this.indicators.val(selectedIndicator);this.indicators.trigger("chosen:updated");this.indicators.change(function(){indicatorCallbacks[$(this).val()].apply(indicatorParams[$(this).val()],indicatorCallbacks[$(this).val()])});if(PEnvironment.pageName=="widget"){if(yearToggleCount<=1){if(quartToggleCount<=1&&monthToggleCount<=1){this.hidePeriods()}}else{this.showPeriods()}if(indicators&&indicators.length<=1){this.hideVariables()}else{this.showVariables()}}}};TrfLegendShadeBy=function($select,$source,_$shadingRangesSelect,showShadeByAsString){this.elm=$select;this.$shadingRangesSelect=_$shadingRangesSelect;this.shade_by=$select;this.$source=$source;this.showShadeByAsString=showShadeByAsString||false;this.shade_by[0].shadeWidget=this;this.shade_by.bind("change",function(){this.shadeWidget.changeShade.call(this.shadeWidget);if(PEnvironment.pageName=="widget"&&map.widgetRankingsOn){refreshWidgetRankings()}var mo=map.mapOptions;if(mo&&mo.isCurrentOn()){mo.showLayerForCurrentView()}});this.current_shade=this.shade_by;this.eventTypes=new Object;this.eventTypes.change="change";this.eventManager=new PEventManager};TrfLegendShadeBy.prototype={addListener:function(eventId,f,c){this.eventManager.addListener(eventId,f,c)},clear:function(){this.shade_by.empty();this.$source.html("None Available")},changeShade:function(){var id=this.shade_by.find(":selected").attr("id");var useLockOption=false;if(PEnvironment.pageName=="widget")useLockOption=true;this.eventManager.triggerListeners(this.eventTypes.change,id,useLockOption)},update:function(shadeInfo){this.$source.html(shadeInfo.indicator.getSourceList(true));if(shadeInfo.shadeString){this.current_shade=this.current_shade.replaceWith(shadeInfo.shadeString)}else if(this.showShadeByAsString){this.shade_by.html(map.getLegend().getCurrentPlaceType().getName())}else{var shadeItems=shadeInfo.shadeItems;this.shade_by.empty();for(var i=0;i<shadeItems.length;i++){var shadeItem=shadeItems[i];var option=document.createElement("option");option.id=shadeItem.typeId;option.selected=shadeItem.selected;option.innerHTML=shadeItem.name;option.defaultSelected=shadeItem.defaultSelected;this.shade_by.append(option)}this.shade_by.trigger("chosen:updated");if(this.current_shade!=this.shade_by){this.current_shade=this.current_shade.replaceWith(this.shade_by);this.shade_by.hide();this.shade_by.fadeIn("slow")}}},enable:function(){this.elm.find("a").unbind("click")},disable:function(){this.elm.find("a").click(function(){return false})}};var TrfLogin=function($container,session){var $window=$(window);var template=_.template($("#js-account-section__template").html());var $loginButton=$("#loginButton");var $logoutButton=$("#logoutButton");var $siteLicenseLogo=$("#siteLicenseLogo");$window.on(P.events.LOGGED_IN,updateData);$window.on(P.events.LOGGED_OUT,updateData);if(productProperty.getValue("auto_login")&&session.get("_userid")==null){autoLogin(function(){updateData()})}else{updateData()}function updateData(){var userType=session.get(P.constants.userType);var isTrial=session.get(P.constants.isTrial);var isSiteLicense=PEnvironment.isSiteLicense;var isClone=PEnvironment.isClone;var isAllowLogin=productProperty.getValue("allow_login");var isAutoLoginUser=session.get(P.constants.isAutoLoginUser);var dataDirectoryPage;var greeting;if(!PEnvironment.isPolicyMap&&productProperty.exists("data_directory_page")){dataDirectoryPage=productProperty.getValue("data_directory_page")}else{dataDirectoryPage="our-data-directory.html"}if(PEnvironment.isPolicyMap||!isAutoLoginUser){var name=session.get(P.constants.firstName);if(name==null||name==""){greeting="Manage account"}else{greeting=session.get(P.constants.firstName)+"'s account"}}else{greeting=productProperty.getValue("name")}$loginButton.off("click");$logoutButton.off("click");$container.html(template({userType:userType,greeting:greeting,dataDirectoryPage:dataDirectoryPage,isTrial:isTrial,isWrapper:isWrapper,isAllowLogin:isAllowLogin,isSiteLicense:isSiteLicense,isClone:isClone,isAutoLoginUser:isAutoLoginUser}));dnf.updateNames();$loginButton=$($loginButton.selector);$logoutButton=$($logoutButton.selector);if(isAllowLogin){if(!$loginButton.hasClass("is-logged-in")){$loginButton.click(function(){var redirect=null;if(isWrapper==true){redirect="/maps"}showLoginPopup(null,redirect)})}$logoutButton.click(function(){nrLogoutSubmit(function(){session.load(true,function(){if(isWrapper==false){setWindowLocation("/")}})})})}if($siteLicenseLogo.length>0){var siteLicenseURL=productProperty.getValue("site_license_url");if(siteLicenseURL){$siteLicenseLogo.on("click",function(){setWindowLocation(siteLicenseURL)})}}$(window).trigger(P.events.ACCOUNT_SECTION_INIT)}};var TrfLoginButtons=function($container,session){var $window=$(window);var template=_.template($("#js-account-buttons-section__template").html());$window.on(P.events.LOGGED_IN,updateState);$window.on(P.events.LOGGED_OUT,updateState);updateState();function updateState(){var userType=session.get(P.constants.userType);var isTrial=session.get(P.constants.isTrial)==="true";var isSiteLicense=PEnvironment.productId!=1;$container.html(template({userType:userType,isTrial:isTrial,isWrapper:isWrapper,isSiteLicense:isSiteLicense}))}};TrfMapBoundaries=function($elem){function adjustLeftPosition(){if(self.$container.parent().width()>1228){self.$container.css("left","auto");self.$container.css("right",rightPosition)}else if(self.$container.position().left<=0){self.$container.css("right","auto");self.$container.css("left","0")}}this.enabled=true;this.$container=$elem;this.$toggleButton=$(".map-options__map-boundaries");this.$closeButton=this.$container.find(".map-boundaries-icon--close");this.nationalBoundariesTemplate=_.template($("#js-map-boundaries-menu-column--national-boundaries__template").html());this.template=_.template($("#js-map-boundaries-menu-column__content__template").html());this.$nationalBoundaries=this.$container.find(".map-boundaries__national-boundaries__content");this.$provincialBoundaries=this.$container.find(".map-boundaries__provincial-boundaries__content");this.$mapFeatures=this.$container.find(".map-boundaries__map-features__content");this.$nationalBoundariesColumn=this.$container.find(".map-boundaries-menu-column--national-boundaries");this.$provincialBoundariesColumn=this.$container.find(".map-boundaries-menu-column--provincial-boundaries");this.$mapFeaturesColumn=this.$container.find(".map-boundaries-menu-column--map-features");this.$general=this.$container.find(".map-boundaries__general__content");var self=this;var rightPosition=self.$container.css("right");adjustLeftPosition();$(window).resize(adjustLeftPosition);$(".map-boundaries-menu input").change(function(){if($(this).is(":checked")){$(this).parent().addClass("is-selected")}else{$(this).parent().removeClass("is-selected")}});this.$toggleButton.click(function(e){var $self=$(this);e.preventDefault();if($self.hasClass("is-active")){hideMenu()}else{showMenu()}});if(isCBClone()){$(document).mouseup(function(e){var $c=$(".map-options__container");if(!$c.is(e.target)&&$c.has(e.target).length===0){hideMenu()}})}function hideMenu(){self.$toggleButton.removeClass("is-active");self.$container.slideUp({complete:function(){self.$toggleButton.parent().siblings().removeClass("is-faded")}})}function showMenu(){if(self.enabled!==true){return}self.$toggleButton.addClass("is-active");self.populate();self.$container.slideDown();self.$container.trigger("show");self.$container.find("input").first().focus()}this.on=function(event,callback){self.$container.on(event,callback)};this.hide=function(){hideMenu()};this.$closeButton.click(function(e){e.preventDefault();hideMenu()});this.setCurrentOff();this.currentViewLayer=null;this.currentViewLayerSticky=false;PEvent.addListener(map,"zoomend",function(){if(self.currentViewLayer){self.showLayerForCurrentView()}self.populate();self.setShowCurrentElement()});$(window).on(P.events.LOGGED_IN+" "+P.events.LOGGED_OUT,function(){self.refreshOptions()});var l=pMapLayer;this.zooms=[];var z=this.zooms;z[0]=l.STATE;z[3]=l.COUNTY;z[6]=l.ZIP;z[9]=l.TRACT;z[12]=l.BLOCK;var div=$("<div />");div.addClass("map__active-boundaries");this.currentMapOptions=div;var header=$("<div />");header.html("Map Boundaries");header.addClass("map__active-boundaries__header");div.append(header);this.currentLayers={};this.currentLayersArr=[];var mapElem=map.getContainer();$(mapElem).append(div)};TrfMapBoundaries.prototype.refreshOptions=function(){var self=this;this.disable();ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=mo&act=g",success:function(data){if(data!=null&&data.mo!=null&&data.responseCode===200){self.setToDefault();pMapLayer=new MapOptions(data.mo);if(pMapLayer.UMTRANSIT){pMapLayer.UMTRANSIT.forSubscribers=true;pMapLayer.UMTRANSIT.pointDataset=new POverlaySet(84150,PinIcons.circle_blue,15);pMapLayer.UMTRANSIT.pointDataset.withLayer=true;pMapLayer.UMTRANSIT.pointDataset.off()}PMapType.POLICYMAP=new PMapType(pMapLayer.defaultMapLayers,new PProjection(54004),"Map");PMapType.DEFAULT=PMapType.POLICYMAP;P.instances.map.setMapType(PMapType.DEFAULT)}self.enable()},error:function(){self.enable()}})};TrfMapBoundaries.prototype.populate=function(){var allLayers={};if(pMapLayer.layerCategories!=null&&pMapLayer.layerCategories.length>0){var nationalBoundariesLayers=this.buildLayers(pMapLayer.layerCategories[0].layers);var provincialBoundariesLayers=this.buildLayers(pMapLayer.layerCategories[1].layers);var mapFeaturesLayers=this.buildLayers(pMapLayer.layerCategories[2].layers);this.renderNationalBoundaries(nationalBoundariesLayers);this.renderProvincialBoundaries(provincialBoundariesLayers);this.renderMapFeatures(mapFeaturesLayers);if(pMapLayer.layerCategories[1].layers.length>0){this.$provincialBoundariesColumn.show();this.$nationalBoundariesColumn.removeClass("wide");this.$mapFeaturesColumn.removeClass("wide")}else{this.$provincialBoundariesColumn.hide();this.$nationalBoundariesColumn.addClass("wide");this.$mapFeaturesColumn.addClass("wide")}_.extend(allLayers,nationalBoundariesLayers,provincialBoundariesLayers,mapFeaturesLayers)}else if(pMapLayer.nonCategorizedLayers!=null&&pMapLayer.nonCategorizedLayers.length>0){var generalBoundariesLayers=this.buildLayers(pMapLayer.nonCategorizedLayers);this.renderGeneral(generalBoundariesLayers);_.extend(allLayers,generalBoundariesLayers)}var self=this;$(".map-boundaries-menu__item").not(".map-boundaries-menu__item--disabled").click(function(e){$(this).find("input:checkbox").attr("checked",function(id,val){return!val}).trigger("change")});this.$container.find("input:checkbox, label").click(function(e){e.stopPropagation()});this.$container.find("input:checkbox").keydown(function(e){if(e.which==13){$(this).attr("checked",function(id,val){return!val}).trigger("change")}});this.$container.find("input:checkbox").change(function(){var layer=allLayers[$(this).attr("id")];if(layer.forSubscribers&&!isSubscriber()){subscribeAlert();$(this).attr("checked",false)}else{if(self.currentViewLayer&&self.currentViewLayer===layer){self.cancelShowLayerForCurrentView()}else{self.toggleLayer(layer)}}})};TrfMapBoundaries.prototype.renderNationalBoundaries=function(layers){var columnLayers=_.toArray(layers);var displayTotal=_.chain(columnLayers).filter(function(layer){return layer.hide!=true}).size().value();var firstColumnSize=Math.ceil(displayTotal/2);this.$nationalBoundaries.html(this.nationalBoundariesTemplate({title:"National Boundaries",layers:columnLayers,firstColumnSize:firstColumnSize}))};TrfMapBoundaries.prototype.renderProvincialBoundaries=function(layers){this.$provincialBoundaries.html(this.template({layers:_.toArray(layers)}))};TrfMapBoundaries.prototype.renderMapFeatures=function(layers){this.$mapFeatures.html(this.template({layers:_.toArray(layers),footerMessage:"Looking for a boundary you don't see?  Check out <a href='http://www.policymap.com/blog/?p=16655' target='new'>what's available</a> or <a href='http://www.policymap.com/contact.html' target='new'>Email us</a>."}))};TrfMapBoundaries.prototype.renderGeneral=function(layers){this.$general.html(this.template({layers:_.toArray(layers)}))};TrfMapBoundaries.prototype.buildLayers=function(layers){var layerMap={};for(var i=0;i<layers.length;i++){var layer=pMapLayer[layers[i].constant];layer.hide=layers[i].hide;layer.title=layers[i].title.replace(/<br>/," ");if(layer.name){if(PEnvironment.pageName=="embedmap_dyn"){this.toggleWidgetMapOptionsLayers(layer.name);if(label=pMapLayer.mapLayerLabels[layer.name]){label.on()}continue}if(!this.isLayerAvailableAtMapZoom(layer)){layer.disabled=true}else{layer.disabled=false}}layerMap[layers[i].name]=layer}return layerMap};TrfMapBoundaries.prototype.toggleLayer=function(layer,forCurrentMapView){var label=null;if(pMapLayer.mapLayerLabels[layer.name])label=pMapLayer.mapLayerLabels[layer.name];if(layer.isOn()){if(P.instances.googleMap!==undefined){delete P.instances.googleMap.currentBoundaries[layer.name]}layer.off();delete pMapLayer.mapOptionsOn[layer.name];if(label){label.off()}if(layer.pointDataset){map.removeOverlaySet(layer.pointDataset);layer.pointDataset.off()}}else{if(P.instances.googleMap!==undefined){P.instances.googleMap.currentBoundaries[layer.name]=layer}layer.on();pMapLayer.mapOptionsOn[layer.name]=true;if(label)label.on();if(layer.pointDataset&&map.getScale()<=layer.maxScale){map.addOverlaySet(layer.pointDataset);layer.pointDataset.on()}}this.updateCurrentList(layer,forCurrentMapView);if(P.instances.googleMap!==undefined){P.instances.googleMap.refreshBoundaries()}if(PEnvironment.pageName!=="report_generate"){session.put("moo",pMapLayer.getMapOptionsOnMapNames().join(","))}};TrfMapBoundaries.prototype.updateCurrentList=function(layer,forCurrentMapView){var ignore=[pMapLayer.POLY,pMapLayer.POINTLINE];for(var i=0;i<ignore.length;i++){if(ignore[i]===layer){return}}var cont=this.currentMapOptions;var id=layer.name+"-map";var title=layer.title;var that=this;if(layer.isOn()){var div=$("<div />");div.addClass("map__active-boundaries__layer");if(forCurrentMapView&&this.isCurrentOn()){div.addClass("for-current-map-view");this.currentViewLayer=layer;title+=" (Current)"}div.attr("id",id);div.html(title);div.click(function(){if(that.currentViewLayer&&layer===that.currentViewLayer){that.cancelShowLayerForCurrentView()}else{that.toggleLayer(layer);that.populate()}});div.hide();cont.append(div);this.currentMapOptions.show();var speed="slow";if(this.currentMapOptions.find(".map__active-boundaries__layer").length===1){speed=null}div.show(speed);this.currentLayers[layer.name]=div}else{$("#"+id).hide(400,function(){$(this).remove();if(that.currentMapOptions.find(".map__active-boundaries__layer").length===0){that.currentMapOptions.fadeOut()}});this.currentLayers[layer.name]=null}};TrfMapBoundaries.prototype.disable=function(){this.hide();this.enabled=false;this.$toggleButton.addClass("is-disabled")};TrfMapBoundaries.prototype.enable=function(){this.enabled=true;this.$toggleButton.removeClass("is-disabled")};TrfMapBoundaries.prototype.setLayer=function(name){var layer=pMapLayer.getMapLayersByName(name);var label=null;if(layer===null){return}if(pMapLayer.mapLayerLabels[layer.name]){label=pMapLayer.mapLayerLabels[layer.name]}if(this.isMapOptionOn(layer.name)===true&&(!layer.forSubscribers||isSubscriber())){pMapLayer.mapOptionsOn[layer.name]=true;layer.on();googleMap.currentBoundaries[layer.name]=layer;if(label){label.on()}if(layer.pointDataset){layer.pointDataset.on();map.addOverlaySet(layer.pointDataset)}}else{delete pMapLayer.mapOptionsOn[layer.name];layer.off();if(P.instances.googleMap){delete P.instances.googleMap.currentBoundaries[layer.name]}if(label){label.off()}}this.updateCurrentList(layer)};TrfMapBoundaries.prototype.setToDefault=function(){var mapOptionsDefault=_.pluck(pMapLayer.mapOptionsDefault,"name");var mapOptionsOn=pMapLayer.getMapOptionsOnMapNames();var toToggle=_.uniq(_.difference(mapOptionsOn,mapOptionsDefault).concat(_.difference(mapOptionsDefault,mapOptionsOn)));for(var i=0;i<toToggle.length;i++){this.toggleLayer(pMapLayer.getMapLayersByName(toToggle[i]))}if(toToggle.length>0){this.populate()}};TrfMapBoundaries.prototype.hide=function(){$(this.container).hide()};TrfMapBoundaries.prototype.isMapOptionOn=function(name){return pMapLayer.mapOptionsOn[name]!=null&&pMapLayer.mapOptionsOn[name]===true};TrfMapBoundaries.prototype.showLayerForCurrentView=function(){this.setCurrentOff();if(map.getIndicator()){var curLayer=this.determineCurrentViewLayer();if(curLayer!=null){if(!this.isLayerAvailableAtMapZoom(curLayer)){return}this.setCurrentOn();$("#show-current").text("Hide Current");if(this.currentViewLayer){if(this.currentViewLayer!=curLayer){if(this.currentViewLayerSticky){this.toggleLayer(this.currentViewLayer);this.currentViewLayerSticky=false}this.toggleLayer(this.currentViewLayer);if(curLayer.isOn()){this.currentViewLayerSticky=true;this.toggleLayer(curLayer)}this.toggleLayer(curLayer,true)}}else{if(curLayer.isOn()){this.currentViewLayerSticky=true;this.toggleLayer(curLayer)}this.toggleLayer(curLayer,true)}}}else{var text="Only available when an indicator is on the map.";alerter.popup(text,"OK")}};TrfMapBoundaries.prototype.cancelShowLayerForCurrentView=function(){var layer=this.currentViewLayer;if(layer&&layer.isOn()){this.toggleLayer(layer)}this.setCurrentOff();this.currentViewLayer=null;this.currentViewLayerSticky=false;$("#show-current").text("Show Current")};TrfMapBoundaries.prototype.determineCurrentViewLayer=function(){var layer=null;if(map.getIndicator()){var type=map.getLegend().getBoundaryType();if(type==null){return layer}var defid=boundaryMatrix.getDefinitionIdForTypeId(type.id);var layers=pMapLayer.getMapLayersByDefinitionId(defid);if(layers==null){layers=[]}for(var i=0;i<layers.length;i++){var curLayer=layers[i];if(pMapLayer.optionLayersByName[curLayer.name]){layer=curLayer;break}}}return layer};TrfMapBoundaries.prototype.setCurrentOn=function(){this.showCurrentIsOn=true};TrfMapBoundaries.prototype.setCurrentOff=function(){this.showCurrentIsOn=false};TrfMapBoundaries.prototype.isCurrentOn=function(){return this.showCurrentIsOn};TrfMapBoundaries.prototype.setShowCurrentElement=function(enabled){if(enabled===null||typeof enabled!=="boolean"){var layer=this.determineCurrentViewLayer();if(layer!==null){enabled=this.isLayerAvailableAtMapZoom(layer)}else{enabled=false}}var currentLink=$("#show-current");if(enabled){currentLink.removeClass("is-disabled");currentLink.attr("title","")}else{currentLink.addClass("is-disabled");if(map.getIndicator()){currentLink.attr("title","Current boundary cannot display at this level. Please zoom in.")}else{currentLink.attr("title","Available when an indicator is on the map.")}}};TrfMapBoundaries.prototype.isLayerAvailableAtMapZoom=function(layer){var scale=map.getScale();return!(layer.minScale>scale||layer.maxScale<scale)};TrfMapBoundaries.prototype.loadMapOptionsFromSession=function(){var sessionOptionsString=session.get("moo");if(sessionOptionsString==null){return}var sessionOptions=sessionOptionsString.split(",");var currentOptions=pMapLayer.getMapOptionsOnMapNames();var toToggle=_.uniq(_.difference(sessionOptions,currentOptions).concat(_.difference(currentOptions,sessionOptions)));var runPopulate=false;for(var i=0;i<toToggle.length;i++){var curLayer=pMapLayer.getMapLayersByName(toToggle[i]);if(curLayer!=null){if(curLayer.forSubscribers&&!isSubscriber()){continue}this.toggleLayer(pMapLayer.getMapLayersByName(toToggle[i]));runPopulate=true}}if(runPopulate){this.populate()}};TrfSearch=function($form,searchTypes,options){var self=this;this.$form=$form;var subForm;$form.find("select").chosen({disable_search_threshold:1e3,width:"auto",inherit_select_classes:true});$form.find("select").not(":eq(0)").next().hide();var types={};_.each(_.rest(searchTypes,1),function(type){types[type.id]=type});if(types[P_PLACETYPE_SLD_UPPER_ID]!==undefined&&types[P_PLACETYPE_SLD_LOWER_ID]!==undefined){this.searchTypes=_.filter(searchTypes,function(type){return type==="Default"||type.id!==P_PLACETYPE_SLD_LOWER_ID})}else{this.searchTypes=searchTypes}var formElements={$firstDropdown:$form.find(".search-form__first-dropdown:eq(0)"),$secondDropdown:$form.find(".search-form__second-dropdown:eq(0)"),$thirdDropdown:$form.find(".search-form__third-dropdown:eq(0)"),$textbox:$form.find(".search-form__query")};this.options=options||{};this.options.defaultState=this.options.defaultState||searchStates.getByAbbreviation("CA");this.eventTypes={submit:"submit",response:"response",dd_initialized:"dd_initialized"};this.eventManager=new _eventManager;_.each(this.eventTypes,function(eventId){self.eventManager.registerEventID(eventId)});var $typesDropdown=$form.find(".search-form__type:eq(0)");var $statesDropdown=formElements.$statesDropdown;var $textbox=formElements.$textbox;this.$textbox=$textbox;if(this.searchTypes.length==1&&this.searchTypes[0]=="Default"){$form.find(".chosen-container").hide()}else{populateTypesDropdown(this.searchTypes)}bindResponseEvent();this.searchFormBuilder=new SearchFormBuilder;subForm=this.searchFormBuilder.makeForm($typesDropdown.val(),self.$form,formElements,self.eventManager,self.options);bindFormSubmitEvent();$typesDropdown.change(function(){if(subForm!==undefined){subForm.destroy()}subForm=self.searchFormBuilder.makeForm($(this).val(),self.$form,formElements,self.eventManager,self.options);subForm.show()});function bindFormSubmitEvent(){self.$form.submit(function(event){event.preventDefault();if(subForm.isValid()){subForm.submit()}else{subForm.errorMessages.push("Unable to find location");P.instances.debug.log(P.Debug.ERROR,subForm.errorMessages)}})}function populateTypesDropdown(types){var customLabels={};if(productProperty.exists("search_boundary_type_custom_labels")){customLabels=productProperty.getValue("search_boundary_type_custom_labels")}_.each(types,function(type){var $option=$("<option></option>");if(type==="Default"){$option.text("Location");$option.val("location")}else{if(customLabels[type.id]){$option.text(customLabels[type.id])}else{$option.text(type.getDisplayName())}$option.val(type.id)}$typesDropdown.append($option)});$typesDropdown.trigger("chosen:updated")}function bindResponseEvent(){if(self.options.responseEvent){self.addListener("response",self.options.responseEvent)}else{self.addListener("response",function(places){if(places instanceof PAddress){if(places.wasFound()){session.put("place",places.addr);session.put("lng",places.x);session.put("lat",places.y);var html=""+places.addr+"<br /><br />";addMarkerWindow(html,new PLatLng(places.y,places.x))}else{var content='Location "<b>'+places.addr+"</b>\" not found. For help finding your address or city:  <a class='pagelinks' href='"+PEnvironment.blogUrl+"/?p=200' target='_blank'>click here</a>";alerter.popup(content,"OK")}}else{var l=places.length;var full=places;places=[];var p;for(var i=0;i<l;i++){p=full[i];if(p.country==="United States"){places.push(p)}}if(places.length===0){alerter.popup('Location "<b>'+$textbox.val()+'</b>" not found.',"OK")}else{var html=createPlacesDiv(places,$textbox.val());addMarkerWindow(html,places[0]);session.put("p",places[0].id)}}})}}};TrfSearch.prototype.addListener=function(eventId,func){this.eventManager.registerForEvent(eventId,[],func)};TrfSearch.prototype.getSearchString=function(){return this.$textbox.val()};TrfSearch.prototype.reset=function(){var $searchType=this.$form.find(".search-form__type");$searchType[0].selectedIndex=0;$searchType.trigger("change");$searchType.trigger("chosen:updated");this.$form.find("input[type=text]").val("")};function widgetOnLoad(){function loadPincats(){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=tax&act=p",success:function(data){if(data!==undefined&&data.responseCode===200){P.instances.debug.log(P.Debug.DEBUG2,"Pin Taxonomy obtained");if(data.tax.type=="old"){var pinTaxonomy=new Taxonomy(data.tax.taxonomy,P.constants.TAXONOMY_TYPE_POINTS);var rootNodes=_.sortBy(pinTaxonomy.getRootNodes(),function(node){return node.sort_order});_.each(rootNodes,function(node){node.pinsets=pinTaxonomy.getAllChildrenOfNodeId(node.node_id);pincats.push(node)})}else if(data.tax.type==="new"){pincats=data.tax.taxonomy}pincatsType=data.tax.type}else{errorPopup(data)}}}).then(loadWidget)}convertWidgetProductPropertiesToURLParams();var startWidget=function(){if(productProperty.exists("max_zoom")){P_SCALES_DEFAULT=P_SCALES_NORMAL.slice(P_SCALES_NORMAL.length-productProperty.getValue("max_zoom"),P_SCALES_NORMAL.length);PMapType.DEFAULT.setScales(P_SCALES_DEFAULT)}if(globalIndListBubble){loadIndicatorsForCustomizedIdentify().then(loadPincats)}else{loadPincats()}};if(productProperty.getValue("auto_login")){autoLogin(function(){startWidget()})}else{startWidget()}}function convertWidgetProductPropertiesToURLParams(){var mapping={address:"addr",zoom:"cz",ranking_style:"rstyle",ramp_color:"rmp",number_of_breaks:"nb",identify_type:"itype",map_height:"height",search_state:"searchstate",boundary_id:"p",custom_boundary_id:"cp",overlaysets:"o",ofilters:"ofilters",ocolorcodes:"ofilters",dataloader_overlaysets:"dlo",indicator_id:"i",indicator_boundary_type_id:"btd",default_search_dataset:"dsearch",time_frame:"tf"};var booleanMapping={hide_place_polygon:"nobounds",search:"search",hide_search_tabs:"hidestypes",ranking:"ranking",hide_all_menus:"nomenus",hide_ind_menu:"hideimenu",hide_sites_menu:"hidepmenu",show_text_only:"textonly",hide_legend:"hideleg",printing_enabled:"print",disable_parks_layer:"disableParksLayer",disable_teaser_years:"disableTeaserYears",lock_indicator_boundary_type:"lockBoundaryType",alternate_layout:"altLayout",charts_enabled:"charts",enable_custom_region_builder:"crbuilder",hide_breadcrumbs:"hidebreadcrumbs"};
var pointMapping={center_point:["cx","cy"],identify_point:["iwx","iwy"]};var widgetOptions={};for(option in mapping){if(productProperty.exists(option)){var curProductProperty=productProperty.get(option);if(curProductProperty.array==true){var valuesArray=curProductProperty.value;var valuesString="";if(option=="ocolorcodes"){var valuesCount=valuesArray.length;for(var i=0;i<valuesCount;i++){valuesString+="c"+valuesArray[i]+","}if(valuesCount>0){valuesString=valuesString.substr(0,valuesString.length-1)}}else{valuesString=valuesArray.join(",")}if(widgetOptions[mapping[option]]!=null){widgetOptions[mapping[option]]+=valuesString}else{widgetOptions[mapping[option]]=valuesString}}else{widgetOptions[mapping[option]]=curProductProperty.value}}}for(option in booleanMapping){widgetOptions[booleanMapping[option]]=productProperty.getValue(option)}for(option in pointMapping){if(productProperty.exists(option)){var pointString=productProperty.getValue(option);var points=pointString.split(",");widgetOptions[pointMapping[option][0]]=points[0];widgetOptions[pointMapping[option][1]]=points[1]}}PEnvironment.widgetParams=widgetOptions}function loadIndicatorsForCustomizedIdentify(){var ids=globalIndListBubble.allIds;return PIndicatorLoader.load(ids,function(inds){globalIndListBubble.inds=inds})}function loadWidget(){var urlParams=getUrlParams();addAllSites();if(isIffCustomFilterWidget()){}session.checkUrl();if(typeof index_delayed!="undefined")index_delayed();customizeColorRampsForWidget(urlParams);setUpMapLayersForWidget();customizeMapLayersForWidget(urlParams);if(urlParams["disableParksLayer"]){pMapLayer.POLY.off();pMapLayer.POLY_LABEL.off()}PColorRamp.DEFAULT=PColorRampOptions["oldpurple"].ramp;if(urlParams["rmp"]&&PColorRampOptions[urlParams["rmp"]])PColorRamp.DEFAULT=PColorRampOptions[urlParams["rmp"]].ramp;if(!urlParams["hideimenu"]&&!urlParams["altLayout"]&&$("#ind_menu_widget").find("li").children().size()>0){$("#ind_menu_widget").show()}if(!urlParams["hidepmenu"]){for(var i=0;i<pincats.length;i++){if(pincats[i].display){jQuery("#addsites_widget").show();break}}}if(urlParams["hidebreadcrumbs"]){$("#breadcrumbs").hide();$("#bc_td").hide()}if(urlParams["textonly"])jQuery("#textOnlyLink").show();var showprintbutton=false;if(productProperty.getValue("printing_enabled")==true){showprintbutton=true}if(P.WKPrint.isPrintPage()===true||isMobile()){showprintbutton=false}if(showprintbutton){$("#widgetPrintButton").show()}jQuery("#legend_toggle").click(function(){toggleMapLegend(this)});var curZoom=urlParams["curZoom"];if(urlParams&&urlParams["height"])jQuery("#map").css("height",urlParams["height"]+"px");if(urlParams["altLayout"]){jQuery("#widgetcolumn").hide();jQuery("#mapcolumn").css({paddingLeft:"0px",paddingRight:"0px"});jQuery("#bc_td").css("padding-left","10px");jQuery("#maptitlebox").css("padding-left","10px");jQuery("#moretitle").css("left","70px")}var options=new PPolyCreatorOptions;options.poly.weight=1;options.poly.opacity=.5;if(productProperty.getValue("disable_custom_region_draw_option")){options.turnDrawOn=false}if(productProperty.getValue("disable_custom_region_assemble_option")){options.turnAssembleOn=false}if(productProperty.getValue("disable_custom_region_radius_option")){options.turnRadiusOn=false}polycreator=new PPolyCreator(options);map=new PMap(document.getElementById("map"));map.sid=urlParams["sid"];map.enableDoubleClickZoom();map.disableKeyboard();map.enableScrollWheelZoom();if(!isMobile()&&urlParams["crbuilder"]){setUpPolyCreatorForWidget(polycreator)}if(urlParams["charts"]){chartoptions=new PChartOptions;chartoptions.xAxis=PChartOptions.PERIOD;chartoptions.group=PChartOptions.PLACE;chartoptions.type=PChartOptions.LINE;chartoptions.displayTitle=true;$("#trendchart").show();map.chart1=new PChart(document.getElementById("trendchart"),chartoptions);$("#barchart").show();var barchartoptions=new PChartOptions;barchartoptions.displayTitle=true;barchartoptions.barSingleDatasetColor=true;map.chart2=new PChart(document.getElementById("barchart"),barchartoptions)}sitelegends=new PTRFSiteLegendGroup(map);sitelegends.buildMapLegend();sitelegends.addListener("change",function(){var filters={};var groups=sitelegends.setgroups;var l1=sitelegends.setgroups.length;for(var i1=0;i1<l1;i1++){var sets=groups[i1];var l2=sets.length;var overlaySet;for(var i2=0;i2<l2;i2++){overlaySet=sets[i2];filters[overlaySet.id]=overlaySet.filtergroups}}session.put("ofilters",overlaySetUtil.oldGetFilterIds(filters));labelManager.updateMapLabels()});var options={};options.noStartOver=true;if(urlParams["searchstate"]){options.defaultState=urlParams["searchstate"]}if(urlParams["hidestypes"])options.noSearchTypes=true;if(urlParams["altLayout"]){options.altlayout=true;$("#top-menus").append($("#ind_menu_widget")[0]);$("#top-menus").append($("#addsites")[0]);var indMenuIsVisible=false;var sitesMenuIsVisible=false;if(!shouldWidgetMapDataButtonsBeAdded()){if($("#ind_menu_widget").find("a.clickable").length>0){indMenuIsVisible=true;if(!urlParams["hideimenu"]){$("#ind_menu_widget").show()}}if(sitelegends.legends.length>0)sitesMenuIsVisible=true}var iwidth=indMenuIsVisible?$("#ind_menu_widget").outerWidth(true):0;var awidth=sitesMenuIsVisible?$("#addsites_widget").outerWidth(true):0;var totalwidth=iwidth+awidth+2;if(shouldWidgetMapDataButtonsBeAdded())totalwidth=2;options.topMenuWidth=totalwidth;$("#top-menus").parent().css("width",totalwidth+"px");if(shouldWidgetMapDataButtonsBeAdded()){$("#addsites").hide();if(doesIndMenuHaveOneItem()){jQuery("#ind_menu_widget").hide();var indid=urlParams["i"];var func=function(){selectIndicators(indid)};map.indbutton=new WidgetMapDataButton("Add Data Layer",func,true);if(!indid)jQuery("#widgetAddDataButton").show()}if(sitelegends.doesSitesMenuHaveOneItem())sitelegends.addMapButton();sitelegends.refreshMapLegend()}}if(urlParams["search"]){jQuery("#widgetSearchboxContainer").show();initSearchBox(options);if(urlParams["altLayout"]&&(indMenuIsVisible||sitesMenuIsVisible)){$(".searchContainer").css("margin","0px")}}if(isMobile()){setUpMobileMapIdentifyEvents(map)}PEvent.addListener(map,"click",function(overlay,point){PMIdentificationModule.clickHandler(overlay,point)});PEvent.addListener(map,"dblclick",function(){map.cancelIdentify=true;map.closeInfoWindow()});PEvent.addListener(map,"addoverlayset",function(overlayset){if(urlParams["altLayout"])sitelegends.refreshMapLegend();sitelegends.refresh();session.put("o",overlaySetUtil.getSetIds(map.getOverlaySets(),"old"));bestFitZoomAndCenterForOverlaySets();if(map.getInfoWindow()){map.clearInfoWindowBoundary();map.closeInfoWindow()}});PEvent.addListener(map,"removeoverlayset",function(overlayset){if(urlParams["altLayout"]){sitelegends.refreshMapLegend()}sitelegends.refresh();session.put("o",overlaySetUtil.getSetIds(map.getOverlaySets(),"old"));bestFitZoomAndCenterForOverlaySets();if(map.getInfoWindow()){map.clearInfoWindowBoundary();map.closeInfoWindow()}});PEvent.addListener(map,"setoverlaysets",function(overlaysets){if(urlParams["altLayout"])sitelegends.refreshMapLegend();sitelegends.refresh();if(map.getInfoWindow()){map.clearInfoWindowBoundary();map.closeInfoWindow()}});var breadcrumbs=new PPlaceContainmentWidget(map,document.getElementById("breadcrumbs"),[PPlaceType.STATE,PPlaceType.COUNTY,PPlaceType.COUNTY_SUBDIVISION,PPlaceType.CITY,PPlaceType.ZIP,PPlaceType.CENSUSTRACT]);PEvent.addListener(map,"moveend",function(){geocoder.getPlaceContainment(map.getCenter(),PPlaceTypeConfig.PPLACECONTAINMENT.getTypeByAbsoluteZoom(map.getAbsoluteZoom(),true),null,null,function(places){breadcrumbs.refresh(places)})});breadcrumbs.addListener("click",function(place){if(textOnlyIsOn){textOnlyLoadPlace([place])}mapstates.currentplace=place;map.closeInfoWindow();clearPolygons(map);addPolygons(map,place);mapstates.add(new PMapState(map.getCenter(),map.getZoom(),map.getIndicator(),null,mapstates.currentplace))});if(urlParams["cx"]&&urlParams["cy"]&&urlParams["cz"]){map.setCenter(new PLatLng(urlParams["cy"],urlParams["cx"]),urlParams["cz"])}else{map.setCenter(new PLatLng(37.6902,-96.9129),2)}if(urlParams["nb"])map.getLegend().setNumberOfBreaks(parseInt(urlParams["nb"]));else map.getLegend().setNumberOfBreaks(DEFAULT_NUMBREAKS);if(urlParams["iwx"]&&!urlParams["i"]&&urlParams["iwtype"]=="identify")PMIdentificationModule.showInfoWindow(urlParams);PEvent.addListener(map,"setindicator",function(ind){if(ind.hasOverlaySets()){map.updateIndicatorOverlaySets(ind)}if(ind.hasBubbleOptions()){ind.loadBubbleIndicators()}global_indicators=[ind];var period=ind.getPeriod();if(allowPeriod(ind,period))global_period=ind.getPeriod();else global_period=periods[periods.length-1];if(textOnlyIsOn){refreshWidgetCube();$("#noDataAvailable").hide()}var legend=map.getLegend();legend.clearStoredScale();var ind=map.getIndicator();document.getElementById("maptitle").innerHTML=createTitleForWidgetAndEmbedMap(ind);if($("#morelink").hasClass("on")){var moretitle=document.getElementById("moretitle");moretitle.innerHTML=ind.getDescription();var sources=ind.getSources();if(sources.length>1){moretitle.innerHTML+=" (See data directory for "+ind.getSourceList(true)+".)"}else if(sources.length==1){var sourceURL=ind.getSourceURL(sources[0]);if(sourceURL!=null){moretitle.innerHTML+=" <a class='dataLink' target='_blank' href='"+sourceURL+"'>(see data directory)</a>"}}}if(urlParams["altLayout"]&&map.indbutton){map.indbutton.hide()}if(ind.allowDL)jQuery("#widgetDownload").show();else jQuery("#widgetDownload").hide();if(urlParams["hideleg"]&&!map.windowWidgetInitialized){toggleMapLegend(null,true)}map.windowWidgetInitialized=true;if(urlParams["hideSitesLegend"])toggleOnMapSitesLegend(null,true);if(urlParams["charts"]){refreshWidgetCharts()}var placetype=map.getLegend().getCurrentPlaceType();if(textOnlyIsOn&&P.instances.rPlaces.elm.is(":visible"))P.instances.rPlaces.load("gb",global_places[0].id,ind.id,placetype.id,ind.getPeriod(),global_places[0].getLabel(),50);else if(map.widgetRankingsOn)refreshWidgetRankings()});PEvent.addListener(map,"removeindicator",function(ind){document.getElementById("maptitle").innerHTML="";jQuery("#moretitle").hide(200);document.getElementById("moretitle").innerHTML="";resetDetailsButton();if(urlParams["altLayout"]&&map.indbutton){map.indbutton.show()}global_indicators=[]});widget=new PTRFIndicatorLegend(map,map.getLegend(),{enableToggle:true,enableShade:true,enableBreaks:true});var indElm=$("#legend");var indToggle=widget.getIndicatorToggle();var indicatorShade=widget.getIndicatorShade();var indicatorBreaks=widget.getIndicatorBreaks();var legendContainer=new PLegendContainer(indElm);widget.addListener("refresh",legendContainer.show,legendContainer);widget.addListener("clear",legendContainer.hide,legendContainer);var toggleWidget=new PIndicatorToggleWidget(indElm.find("#toggle_container"));indToggle.addListener("refresh",toggleWidget.refresh,toggleWidget);indToggle.addListener("clear",toggleWidget.clear,toggleWidget);var breaksWidget=new PBreaksWidget(indElm.find("#breaks_container"));breaksWidget.removeEditRangesLinks();indicatorBreaks.addListener("refresh",breaksWidget.refresh,breaksWidget);indicatorBreaks.addListener("clear",breaksWidget.clear,breaksWidget);var shadeWidget=new PIndicatorShadeWidget(indElm.find("#shade_container"));indicatorShade.addListener("refresh",shadeWidget.update,shadeWidget);indicatorShade.addListener("clear",shadeWidget.clear,shadeWidget);shadeWidget.addListener("change",indicatorShade.changeShade,indicatorShade);legendContainer.init();var eoptions=new EmbeddingMapOptions(map,widget,urlParams);PEvent.addListener(map,"zoomend",function(){var legend=map.getLegend();labelManager.updateMapLabels();legend.clearStoredScale();if(legend.boundaryTypeIsLocked()){if(!legend.isValidBoundaryType(map.getLegend().getBoundaryType())){legend.unlockBoundaryType()}}eoptions.refreshMapOptionsLayers();if(map.getLegend().getBoundaryType()){widget.getIndicatorShade().setOldBoundaryTypeId(map.getLegend().getBoundaryType().id)}if(widget.legend.getBoundaryType()&&widget.getIndicatorShade().getOldBoundaryTypeId()!=widget.legend.getBoundaryType().id){widget.getIndicatorShade().setOldBoundaryTypeId(widget.legend.getBoundaryType().id)}widget.refresh();map.refresh()});datasetSearch=new DatasetSearch;var dsearch=urlParams["dsearch"];if(dsearch){$("#dsearch"+dsearch).click()}map.addControl(new PLargeMapControl);if(urlParams["altLayout"]){var elems=$(".alternateIndMenuWidgetayout").find("ul");for(var i=0;i<elems.length;i++){var e=elems[i];var ls=$(e).find(".lastLevel");for(var j=0;j<ls.length;j++){if(j<ls.length-1){$(ls[j]).removeClass("lastLevel")}}}var elems=$(".alternateIndMenuWidgetayout").find(".lastLevel");for(var i=0;i<elems.length;i++){var e=$(elems[i]);if(e.get(0).scrollHeight>e.get(0).clientHeight){e.addClass("hack-for-scroll")}}}if(P.WKPrint.isPrintPage()===true){$("head").append('<link rel="stylesheet" href="/cssPrint/citi_report_print.css" type="text/css" />');P.instances.wkprint.removeAction("onLoad")}}function initWidgetRankings(){return;var urlParams=getUrlParams();if(!urlParams["ranking"]){if(!urlParams["textonly"]){$(".rankingsTD").hide();return}}else{map.widgetRankingsOn=true}map.ranking_places=[];P.instances.rRanks=new ReportRanks;if(urlParams["search"]){search.addListener("response",function(places){var placetype=map.getLegend().getCurrentPlaceType();if(places instanceof PAddress){if(places.wasFound()){var point=new PLatLng(places.y,places.x);point.getPlacesContaining(placetype,null,null,function(places){refreshWidgetRankings(places[0])})}}else{global_places=[places[0]];var ind=map.getIndicator();if(textOnlyIsOn&&P.instances.rPlaces.elm.is(":visible"))P.instances.rPlaces.load("gb",places[0].id,ind.id,placetype.id,ind.getPeriod(),places[0].getLabel(),50);else{refreshWidgetRankings()}}})}refreshWidgetRankings()}function refreshWidgetRankings(place){if(!map.widgetRankingsOn||!map.getIndicator())return;var currentLegend=map.getLegend();var currentInd=currentLegend.getIndicator();var currentIndId=currentInd.getID();var currentPeriod=currentInd.getPeriod();var currentPlaceTypeId=currentLegend.getCurrentPlaceType().id;var ranking_places=map.ranking_places;if(place)ranking_places=[place];if(ranking_places.length>0){generateRankings(currentInd,ranking_places[0],currentPeriod)}else{ajax.call({url:PEnvironment.rankUrl+"?ind="+currentIndId+"&per="+currentPeriod+"&type="+currentPlaceTypeId+"&rank=1",dataType:"json",context:this,success:function(response){if(response.places.length>0){placeLoader.load([response.places[0]],function(placeObject){generateRankings(currentInd,placeObject[0],currentPeriod)})}}})}}function generateRankings(ind,place,period){rankingCube=new PRankingCube([ind],[place],[period]);rankingCube.setOptions(new PRankingCubeOptions({loadValues:true,loadRanks:true}));rankingCube.loadValues(function(v){this.loading=false;this.values=v;var val=v[this.getPeriods()[0]][this.getPlaces()[0].id][this.getIndicators()[0].id];var rankValue=new PRankingValue({value:val.value,rank:val.rank,position:val.position,totalRanked:val.totalRanked,totalBoundaries:val.totalBoundaries});P.instances.rRanks.load(this.getPlaces()[0],this.getIndicators()[0],this.getPeriods()[0],rankValue)})}function clearIndicatorData(){var urlParams=getUrlParams();widget.clear();if(P.instances.pagePopUp){P.instances.pagePopUp.hide();$("#noDataAvailable").hide()}if(map.indbutton&&(urlParams["altLayout"]||urlParams["hideimenu"])){map.indbutton.show()}}function resetWidget(){clearIndicatorData();map.clearOverlays();map.clearOverlaySets();sitelegends.refresh();if(map.getInfoWindow())map.closeInfoWindow();map.setCenter(new PLatLng(37.6902,-96.9129),2);document.getElementById("maptitle").innerHTML="";jQuery("#moretitle").hide(200);document.getElementById("moretitle").innerHTML="";resetDetailsButton();search.reset();session.removeAllRelevant();map.ranking_places=[];global_places=[];global_period=null;global_indicators=[];if(P.instances.pagePopUp){P.instances.pagePopUp.hide();$("#noDataAvailable").hide()}if(textOnlyIsOn){table.clear();jQuery("#similarbox").html("")}}function textOnlyToggle(elem){var urlParams=getUrlParams();if(!textOnlyIsOn){textOnlyIsOn=true;if(!table){var tableoptions=new PTableOptions;tableoptions.displayPeriods=false;tableoptions.disableToggles=true;table=new PTable(document.getElementById("table"),tableoptions);P.instances.rPlaces=new ReportPlaces;P.instances.rPins=new ReportPins;if(!search)initSearchBox();table.searchEvent=search.addListener("response",function(places){textOnlyLoadPlace(places)})}refreshWidgetCube();jQuery("#widgetcolumn").css({width:"260px","font-size":"11px"});jQuery(".horMenu_widget").removeClass("horMenu");jQuery(".horMenu_widget").addClass("textOnlyMenu");jQuery(elem).html("Back to Original Version");jQuery(".WidgetPageContent").addClass("TextOnlyOn")}else{textOnlyIsOn=false;jQuery("#widgetcolumn").css({width:"175px","font-size":"medium"});jQuery("#similarbox").html("");if(!urlParams["search"])jQuery("#widgetSearchboxContainer").hide();jQuery(".horMenu_widget").removeClass("textOnlyMenu");jQuery(".horMenu_widget").addClass("horMenu");jQuery(elem).html("Text-Only");jQuery(".WidgetPageContent").removeClass("TextOnlyOn")}}function textOnlyLoadPlace(places){global_places=[places[0]];var html=createSimilarResultsDiv(places);jQuery("#similarbox").html(html);refreshWidgetCube()}function refreshWidgetCube(){var ind=global_indicators[0];resetAggData();if(P.instances.rPlaces.elm.is(":visible")!="none"){var placetype=map.getLegend().getCurrentPlaceType();P.instances.rPlaces.load("gb",global_places[0].id,ind.id,placetype.id,ind.getPeriod(),global_places[0].getLabel(),50)}cube=new PCube(global_indicators,global_places,[global_period]);cube.loadValues(function(values){this.values=values;table.setData(this);table.refresh()})}function createSimilarResultsDiv(places){var box=document.createElement("div");box.className="similarresults";var placeTitle=document.createElement("div");placeTitle.style.marginTop="20px";placeTitle.style.marginBottom="7px";placeTitle.style.color="#7a7a7a";placeTitle.style.fontSize="10pt";placeTitle.innerHTML="<b>Locations Found:</b>";html=document.createElement("div");html.style.border="1px solid #ccc";html.style.padding="10px";var title=document.createElement("div");title.innerHTML="<b>Location Added:</b><br>"+places[0].getLabel()+getState(places[0])+" ("+places[0].getType().getName()+")";html.appendChild(title);if(places.length>1){var similar=document.createElement("div");similar.innerHTML="<br><b>Similar Results:</b><br>";html.appendChild(similar);for(var i=1;i<places.length;i++){var anchor=document.createElement("a");anchor.innerHTML=places[i].getLabel()+getState(places[i])+" ("+boundaryMatrix.getDisplayNameForDefinitionId(places[i].getDefinitionId())+")";anchor.place=places[i];PEvent.addListener(anchor,"click",function(){global_places=[this.place];refreshWidgetCube()});html.appendChild(anchor);html.appendChild(document.createElement("br"))}}box.appendChild(placeTitle);box.appendChild(html);return box}function downloadData(){var currentLegend=map.getLegend();var currentInd=currentLegend.getIndicator();var currentIndPeriod=currentInd.periods[currentInd.curPerIndex];var currentPlaceType=currentLegend.getCurrentPlaceType();if(!currentInd.allowDL){alerter.popup("This data is not downloadable.","OK");return}geocoder.getAllPlacesCSV(currentPlaceType,null,null,currentInd,currentIndPeriod);alerter.popup("Your data is being prepared and will be ready in a few moments.","OK")}function printWidget(){var args=genMapJpgLink("PolicyMapWidgetPage");if(!$("#widgetprint").attr("action")){$("#widgetprint").attr("action",PEnvironment.widgetPrintUrl)}$("#p_sid").val(PEnvironment.productId);$("#p_act").val("print");$("#p_type").val("jpg");$("#p_template").val("PolicyMapWidgetPage");$("#p_parms").val(args);$("#widgetprint").submit()}function customizeLegendZoomsAndContainments(){var sid=PWebUtil.parseQuery(window.location.search)["sid"];if(sid==94){PPlaceTypeConfig.PLEGEND.zooms[0]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[1]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[2]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[3]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[4]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[5]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[6]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[7]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[8]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[9]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[10]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[11]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[12]=PPlaceType.STATE}else if(sid==95){PPlaceTypeConfig.PLEGEND.zooms[2]=PPlaceType.CBSA}else if(sid==97){PPlaceTypeConfig.PLEGEND.zooms[0]=PPlaceType.STATE;PPlaceTypeConfig.PLEGEND.zooms[2]=PPlaceType.CBSA;PPlaceTypeConfig.PLEGEND.zooms[3]=PPlaceType.CBSA}else if(sid==237){PPlaceType.IFF_ZIP=new PPlaceType(112,"Zip","boundary_type_iff_zip");P_PLACETYPES.push(PPlaceType.IFF_ZIP);PPlaceTypeConfig.PLEGEND=new PPlaceTypeConfig;PPlaceTypeConfig.PLEGEND.zooms[0]=[PPlaceType.IFF_ZIP,PPlaceType.STATE];PPlaceTypeConfig.PLEGEND.zooms[3]=[PPlaceType.CITY,PPlaceType.COUNTY,PPlaceType.MD,PPlaceType.CBSA];PPlaceTypeConfig.PLEGEND.zooms[6]=PPlaceType.ZIP;PPlaceTypeConfig.PLEGEND.zooms[7]=PPlaceType.COUNTY_SUBDIVISION;PPlaceTypeConfig.PLEGEND.zooms[9]=PPlaceType.CENSUSTRACT;PPlaceTypeConfig.PLEGEND.zooms[12]=[PPlaceType.BLOCKGROUP];PPlaceTypeConfig.containmentOrder=[PPlaceType.COUNTRY,PPlaceType.STATE,PPlaceType.CBSA,PPlaceType.COUNTY,PPlaceType.MD,PPlaceType.COUNTY_SUBDIVISION,PPlaceType.CITY,PPlaceType.IFF_ZIP,PPlaceType.ZIP,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP]}else if(sid==1399){PPlaceType.IFF_SL_ZIP=new PPlaceType(134,"Zip","boundary_type_iff_sl_zip");P_PLACETYPES.push(PPlaceType.IFF_SL_ZIP);PPlaceTypeConfig.PLEGEND=new PPlaceTypeConfig;PPlaceTypeConfig.PLEGEND.zooms[0]=[PPlaceType.IFF_SL_ZIP,PPlaceType.STATE];PPlaceTypeConfig.PLEGEND.zooms[3]=[PPlaceType.CITY,PPlaceType.COUNTY,PPlaceType.MD,PPlaceType.CBSA];PPlaceTypeConfig.PLEGEND.zooms[6]=PPlaceType.ZIP;PPlaceTypeConfig.PLEGEND.zooms[7]=PPlaceType.COUNTY_SUBDIVISION;PPlaceTypeConfig.PLEGEND.zooms[9]=PPlaceType.CENSUSTRACT;PPlaceTypeConfig.PLEGEND.zooms[12]=[PPlaceType.BLOCKGROUP];PPlaceTypeConfig.containmentOrder=[PPlaceType.COUNTRY,PPlaceType.STATE,PPlaceType.CBSA,PPlaceType.COUNTY,PPlaceType.MD,PPlaceType.COUNTY_SUBDIVISION,PPlaceType.CITY,PPlaceType.IFF_SL_ZIP,PPlaceType.ZIP,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP]}else if(sid==1400){PPlaceType.IFF_IND_SD=new PPlaceType(143,"School District","boundary_type_iff_ind_sd");P_PLACETYPES.push(PPlaceType.IFF_IND_SD);PPlaceTypeConfig.PLEGEND=new PPlaceTypeConfig;PPlaceTypeConfig.PLEGEND.zooms[0]=[PPlaceType.IFF_IND_SD,PPlaceType.STATE,PPlaceType.SCHOOL];PPlaceTypeConfig.PLEGEND.zooms[3]=[PPlaceType.CITY,PPlaceType.COUNTY,PPlaceType.MD,PPlaceType.CBSA];PPlaceTypeConfig.PLEGEND.zooms[6]=PPlaceType.ZIP;PPlaceTypeConfig.PLEGEND.zooms[7]=PPlaceType.COUNTY_SUBDIVISION;PPlaceTypeConfig.PLEGEND.zooms[9]=PPlaceType.CENSUSTRACT;PPlaceTypeConfig.PLEGEND.zooms[12]=[PPlaceType.BLOCKGROUP];PPlaceTypeConfig.containmentOrder=[PPlaceType.COUNTRY,PPlaceType.STATE,PPlaceType.CBSA,PPlaceType.COUNTY,PPlaceType.MD,PPlaceType.COUNTY_SUBDIVISION,PPlaceType.CITY,PPlaceType.IFF_IND_SD,PPlaceType.SCHOOL,PPlaceType.ZIP,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP]}else if(sid==1692){PPlaceType.IFF_MINN_SA=new PPlaceType(163,"Study Area","boundary_type_iff_minn_sa");P_PLACETYPES.push(PPlaceType.IFF_MINN_SA);PPlaceTypeConfig.PLEGEND=new PPlaceTypeConfig;PPlaceTypeConfig.PLEGEND.zooms[0]=[PPlaceType.IFF_MINN_SA,PPlaceType.STATE,PPlaceType.SCHOOL];PPlaceTypeConfig.PLEGEND.zooms[3]=[PPlaceType.CITY,PPlaceType.COUNTY,PPlaceType.MD,PPlaceType.CBSA];PPlaceTypeConfig.PLEGEND.zooms[6]=PPlaceType.ZIP;PPlaceTypeConfig.PLEGEND.zooms[7]=PPlaceType.COUNTY_SUBDIVISION;PPlaceTypeConfig.PLEGEND.zooms[9]=PPlaceType.CENSUSTRACT;PPlaceTypeConfig.PLEGEND.zooms[12]=[PPlaceType.BLOCKGROUP];PPlaceTypeConfig.containmentOrder=[PPlaceType.COUNTRY,PPlaceType.STATE,PPlaceType.CBSA,PPlaceType.COUNTY,PPlaceType.MD,PPlaceType.COUNTY_SUBDIVISION,PPlaceType.CITY,PPlaceType.IFF_MINN_SA,PPlaceType.SCHOOL,PPlaceType.ZIP,PPlaceType.CENSUSTRACT,PPlaceType.BLOCKGROUP]}else if(sid==347){PPlaceTypeConfig.PLEGEND.zooms[9]=[PPlaceType.BLOCKGROUP,PPlaceType.CENSUSTRACT]}else if(sid==1419){PPlaceTypeConfig.typesToIgnoreAsDefaultInShadeBy=[]}}function customizeColorRampsForWidget(urlParams){if(urlParams["sid"]==387){PColorRamp.MVA[9894665]=[new PColor("00AEEF"),new PColor("465257")];PColorRamp.MVA[9894662]=[new PColor("00AEEF"),new PColor("465257")];PColorRamp.MVA[9894656]=[new PColor("00AEEF"),new PColor("465257")];PColorRamp.MVA[9894666]=[new PColor("00AEEF"),new PColor("465257")];PColorRamp.MVA[9894651]=[new PColor("00AEEF"),new PColor("465257")];PColorRamp.MVA[9894661]=[new PColor("00AEEF"),new PColor("465257")];PColorRamp.MVA[9894658]=[new PColor("00AEEF"),new PColor("465257")];PColorRamp.MVA[9894255]=[new PColor("00AEEF"),new PColor("465257")];PColorRamp.MVA[9894105]=[new PColor("00AEEF"),new PColor("465257")];PColorRamp.MVA[9894350]=[new PColor("00AEEF"),new PColor("465257")];PColorRamp.MVA[9905454]=[new PColor("00AEEF"),new PColor("465257")];PColorRamp.MVA[9894660]=[new PColor("00AEEF"),new PColor("465257")];PColorRamp.MVA[9894652]=[new PColor("00AEEF"),new PColor("465257")];PColorRamp.MVA[9627506]=[new PColor("79B93E"),new PColor("465257")];PColorRamp.MVA[9627505]=[new PColor("79B93E"),new PColor("465257")];PColorRamp.MVA[9891551]=[new PColor("79B93E"),new PColor("465257")];PColorRamp.MVA[9907054]=[new PColor("79B93E"),new PColor("465257")]}}function customizeMapLayersForWidget(urlParams){if(urlParams["sid"]==339){pMapLayer.POINTLINE.off();pMapLayer.POINTLINE_LABEL.off();pMapLayer.TMINORROADS.off();pMapLayer.TPOINTLINE.off();pMapLayer.TLABEL.off();pMapLayer.LABEL.off()}else if(urlParams["sid"]==375){pMapLayer.POINTLINE.off();pMapLayer.POINTLINE_LABEL.off();pMapLayer.TPOINTLINE.off();pMapLayer.TLABEL.off()}else if(urlParams["sid"]==1392){pMapLayer.POINTLINE.off();pMapLayer.POINTLINE_LABEL.off();pMapLayer.TPOINTLINE.off();pMapLayer.TLABEL.off()}else if(urlParams["sid"]==381){pMapLayer.POINTLINE.off();pMapLayer.POINTLINE_LABEL.off();pMapLayer.TPOINTLINE.off();pMapLayer.TLABEL.off()}else if(urlParams["sid"]==1419){pMapLayer.POINTLINE.off();pMapLayer.POINTLINE_LABEL.off();pMapLayer.TPOINTLINE.off();pMapLayer.TLABEL.off()}}function getWidgetParams(urlParams){if(PEnvironment.isWidgetParamsSet)return PEnvironment.widgetParams;if(PEnvironment.widgetParams.i){delete urlParams["i"]}if(PEnvironment.widgetParams.o){delete urlParams["o"]}delete urlParams["ofilters"];delete urlParams["mlon"];delete urlParams["mltitle"];if(PEnvironment.widgetParams.cp){delete urlParams["cp"]}var widgetParams=jQuery.extend(PEnvironment.widgetParams,urlParams);PEnvironment.widgetParams=widgetParams;PEnvironment.isWidgetParamsSet=true;return widgetParams}function toggleOnMapSitesLegend(elem,hide){if(elem)$(elem).toggleClass("hide");if(hide||elem&&$(elem).hasClass("hide")){$(sitelegends.mapLegend).find(".toggleText").html("Show Legend");$(sitelegends.mapLegendContent).hide()}else{$(sitelegends.mapLegend).find(".toggleText").html("Hide Legend");$(sitelegends.mapLegendContent).show()}}function doesIndMenuHaveOneItem(){if($("#ind_menu_widget").find("a.clickable").length==1)return true;else return false}function shouldWidgetMapDataButtonsBeAdded(){if($("#ind_menu_widget").find("a.clickable").length<=1&&sitelegends.legends.length<=1)return true;else return false}function refreshWidgetCharts(place){var urlParams=getUrlParams();if(urlParams["charts"]){$(".mapcharts").css("width",$("#map").width()+"px");var ind=map.getIndicator();if((place||global_places&&global_places.length>0)&&ind){var p=ind.getPeriods();var periods=[];for(var i=0;i<p.length;i++){periods.unshift(p[i])}var p=place||global_places[0];var trendscube=new PCube([ind],global_places,periods);trendscube.loadValues(function(v){this.values=v;map.chart1.setData(this);map.chart1.refresh();this.periods=[ind.getPeriod()];map.chart2.setData(this);map.chart2.refresh();if($(".mapcharts").css("visibility")=="hidden"){$(".mapcharts").hide();$(".mapcharts").css("visibility","visible");if(P.WKPrint.isPrintPage()===true){$(".mapcharts").show()}else{$(".mapcharts").slideDown()}}})}}}function setUpPolyCreatorForWidget(){$("#widget-custom-region-build-button").append('<a class="pagelinks feature" onclick="toggleCustomRegion()"><span id="customregion">Build Custom Region</span></a>');$("#widget-custom-region-build-button").show();PEvent.addListener(polycreator,"addpoly",function(points){polycreator.showSaveInfoWindow(points[0])});PEvent.addListener(polycreator,"savepoly",function(places){polycreator.addSavedPoly(places)});var opts={};opts.placetypes=[PPlaceType.CENSUSTRACT,PPlaceType.COUNTY];polycreator.boundaryWidget=new PPolyCreatorBoundaryWidget(polycreator,opts);polycreator.circleWidget=new PPolyCreatorCircleWidget(polycreator);polycreator.assembleInfoWidget=new PPolyCreatorAssembleInfoWidget(polycreator)}function setUpMapLayersForWidget(){var urlParams=getUrlParams();var layers=[];if(pMapLayer.layerCategories!=null&&pMapLayer.layerCategories.length>0){var categories=pMapLayer.layerCategories;for(var i=0;i<categories.length;i++){var curCategory=categories[i];for(var j=0;j<curCategory.layers.length;j++){layers.push(curCategory.layers[j])}}}else if(pMapLayer.nonCategorizedLayers!=null&&pMapLayer.nonCategorizedLayers.length>0){layers=pMapLayer.nonCategorizedLayers}for(var i=0;i<layers.length;i++){pMapLayer.addLayer(layers[i])}}function getOverlaySetForWidget(datasetId,type,callback){return getDatasetWidget(datasetId,type).then(function(data){if(data.responseCode!==200){_.each(data.errors,function(error){P.instances.debug.log(P.Debug.ERROR,"PointSets WebService Error : "+error.message)})}else{return overlaySetUtil.buildOverlaySet(_.toArray(data.pnt)[0])}}).fail(function(xhr,status,error){P.instances.debug.log(P.Debug.ERROR,"PointSets Ajax Error: status "+status+" error:"+error)})}function buildFilterIconOptionsIFF(overlaySet,displayFilterGroup,filter){var iconOptions=null;if(overlaySet.isIFFDataset()){if(overlaySet.id==123100||overlaySet.id==143400||overlaySet.id==147950){if(displayFilterGroup.displayName=="School Type_HIDE"){switch(filter.displayName){case"Traditional District":iconOptions={icon:PinIcons.circle,shape:"circle"};break;case"Instrumentality Charter":iconOptions={icon:PinIcons.triangle,shape:"triangle"};break;case"Non-Instrumentality Charter":iconOptions={icon:PinIcons.el,shape:"el"};break;case"Independent 2-R Charter":iconOptions={icon:PinIcons.square,shape:"square"};break;case"Private":iconOptions={icon:PinIcons.diamond,shape:"diamond"};break}}else if(displayFilterGroup.displayName=="Accountability Determination"){switch(filter.displayName){case"Color Code All":iconOptions={color:"darkgreen"};break;case"Significantly Exceeds Expectations":iconOptions={icon:PinIcons.square_darkgreen,color:"darkgreen"};break;case"Exceeds Expectations":iconOptions={icon:PinIcons.square_green,color:"green"};break;case"Meets Expectations":iconOptions={icon:PinIcons.square_yellow,color:"yellow"};break;case"Meets Few Expectations":iconOptions={icon:PinIcons.square,color:"orange"};break;case"Fails to Meet Expectations":iconOptions={icon:PinIcons.square_red,color:"red"};break;case"Alternate Rating - Satisfactory Progress":iconOptions={icon:PinIcons.square_pink,color:"pink"};break;case"Alternate Rating - Needs Improvement":iconOptions={icon:PinIcons.square_darkpurple,color:"darkpurple"};break;case"No Overall Accountability Rating":iconOptions={icon:PinIcons.square_darkblue,color:"darkblue"};break}}}else if(overlaySet.id==139700||overlaySet.id==149900){if(displayFilterGroup.displayName=="School Type_HIDE"){switch(filter.displayName){case"District, neighborhood":iconOptions={icon:PinIcons.circle,shape:"circle"};break;case"District, magnet/citywide":iconOptions={icon:PinIcons.triangle,shape:"triangle"};
break;case"District, selective":iconOptions={icon:PinIcons.el,shape:"el"};break;case"Charter":iconOptions={icon:PinIcons.square,shape:"square"};break;case"Private":iconOptions={icon:PinIcons.diamond,shape:"diamond"};break}}else if(displayFilterGroup.displayName=="Accountability Determination"){switch(filter.displayName){case"Color Code All":iconOptions={color:"darkgreen"};break;case"Accredited with Distinction":iconOptions={icon:PinIcons.square_darkgreen,color:"darkgreen"};break;case"Accredited":iconOptions={icon:PinIcons.square_green,color:"green"};break;case"Provisional":iconOptions={icon:PinIcons.square_yellow,color:"yellow"};break;case"Unaccredited":iconOptions={icon:PinIcons.square_red,color:"red"};break;case"No Overall Accountability Rating":iconOptions={icon:PinIcons.square_darkblue,color:"darkblue"};break}}}else if(overlaySet.id==140850||overlaySet.id==150800){if(displayFilterGroup.displayName=="School Type_HIDE"){switch(filter.displayName){case"District":iconOptions={icon:PinIcons.circle,shape:"circle"};break;case"Charter":iconOptions={icon:PinIcons.square,shape:"square"};break;case"Private":iconOptions={icon:PinIcons.diamond,shape:"diamond"};break}}else if(displayFilterGroup.displayName=="Accountability Determination"){switch(filter.displayName){case"Color Code All":iconOptions={color:"darkgreen"};break;case"A":iconOptions={icon:PinIcons.square_darkgreen,color:"darkgreen"};break;case"B":iconOptions={icon:PinIcons.square_green,color:"green"};break;case"C":iconOptions={icon:PinIcons.square_yellow,color:"yellow"};break;case"D":iconOptions={icon:PinIcons.square,color:"orange"};break;case"F":iconOptions={icon:PinIcons.square_red,color:"red"};break;case"Insufficient Data to Rate":iconOptions={icon:PinIcons.square_darkblue,color:"darkblue"};break}}}else if(overlaySet.id==155200||overlaySet.id==156800||overlaySet.id==157050){if(displayFilterGroup.displayName=="School Type_HIDE"){switch(filter.displayName){case"Traditional District":iconOptions={icon:PinIcons.circle,shape:"circle"};break;case"District, charter":iconOptions={icon:PinIcons.diamond,shape:"diamond"};break;case"NPO/HEI Charter":iconOptions={icon:PinIcons.square,shape:"square"};break;case"Independent":iconOptions={icon:PinIcons.triangle,shape:"triangle"};break;case"District, other":iconOptions={icon:PinIcons.el,shape:"el"};break}}else if(displayFilterGroup.displayName=="MMR Designation"){switch(filter.displayName){case"Color Code All":iconOptions={color:"darkgreen"};break;case"Reward":iconOptions={icon:PinIcons.square_darkgreen,color:"darkgreen"};break;case"Celebration Eligible":iconOptions={icon:PinIcons.square_green,color:"green"};break;case"No Designation":iconOptions={icon:PinIcons.square_yellow,color:"yellow"};break;case"Continuous Improvement":iconOptions={icon:PinIcons.square,color:"orange"};break;case"Focus":iconOptions={icon:PinIcons.square_red,color:"red"};break;case"Priority":iconOptions={icon:PinIcons.square_darkpurple,color:"darkpurple"};break;case"No Performance Rating":iconOptions={icon:PinIcons.square_blue,color:"blue"};break}}}}return iconOptions}function getDatasetWidget(datasetId,type){return ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=pnt&act=g&di="+datasetId+"&dt="+type})}function getOverlaySetsFromSession(callback){var promises=[];if(session.get("o")){var oldOverlaySetIds=session.get("o").split(",");_.each(oldOverlaySetIds,function(oldOverlaySetId){var addFiltersToOverlaySetPromise=getOverlaySetForWidget(oldOverlaySetId,"old").then(addOverlaySetFiltersFromSession);promises.push(addFiltersToOverlaySetPromise)})}if(session.get("dlo")){var dataLoaderOverlaySetIds=session.get("dlo").split(",");_.each(dataLoaderOverlaySetIds,function(dataLoaderOverlaySetId){var addFiltersToOverlaySetPromise=getOverlaySetForWidget(dataLoaderOverlaySetId,"dl").then(addOverlaySetFiltersFromSession);promises.push(addFiltersToOverlaySetPromise)})}$.when.apply($,promises).then(function addOverlaySetsToMap(){var arr=[];for(var i=0;i<arguments.length;i++){arr.push(arguments[i]);var ch=arguments[i].children;for(var j=0;j<ch.length;j++){arr.push(ch[j])}}if(callback){callback(arr)}else{map.setOverlaySets(arr)}})}function addOverlaySetFiltersFromSession(overlaySet){if(overlaySet!=null){var filters=session.getFilters(overlaySet);if(filters){if(filters[0]&&filters[0].values[0]=="COLORCODE"){var iffDataset=false;if(overlaySet.isIFFDataset()){iffDataset=true;overlaySet=getIFFOverlaySetWithFilters(overlaySet,filters)}else{var ftrs=[];var displayfilters=overlaySet.displayfiltergroups[filters[0].name];var m=displayfilters.length;for(var j=0;j<m;j++){if(displayfilters[j].values[0]!="COLORCODE"){ftrs.push(displayfilters[j]);if(iffDataset&&displayfilters[j].columnName=="type"){overlaySet.iffschoolfiltersbyicons.push(displayfilters[j])}}}overlaySet.setFiltersByIcons(ftrs,overlaySet.colorcodes);overlaySet.filtergroups[filters[0].name]=[];overlaySet.filtergroups[filters[0].name].push(filters[0])}}else{overlaySet.setFilters(filters)}}for(var i=0;i<overlaySet.children.length;i++){addOverlaySetFiltersFromSession(overlaySet.children[i])}}return overlaySet}function showIndicatorDescriptionIfOnForWidget(ind){if(!ind)var ind=map.getIndicator();var moretitle=document.getElementById("moretitle");var morelink=document.getElementById("morelink");moretitle.innerHTML=ind.getDescription();var sources=ind.getSources();if(sources.length>1){moretitle.innerHTML+=" (See data directory for "+ind.getSourceList(true)+".)"}else if(sources.length==1){var sourceURL=ind.getSourceURL(sources[0]);if(sourceURL!=null){moretitle.innerHTML+=" <a class='dataLink'  target='_blank' href='"+sourceURL+"'>(see data directory)</a>"}}if($(morelink).hasClass("on")){jQuery("#moretitle").fadeIn(2e3);$("#moreimg").attr({src:"/images/home-maptitle-button-close.png"})}else{$("#moreimg").attr({src:"/images/home-maptitle-button-details.png"})}}function getIFFOverlaySetWithFilters(overlaySet,filters){overlaySet.iffschoolfiltersbyicons=[];var ftrs=[];var displayfilters=overlaySet.displayfiltergroups[filters[0].name];var l=displayfilters.length;for(var j=0;j<l;j++){if(displayfilters[j].values[0]!="COLORCODE"){ftrs.push(displayfilters[j]);if(displayfilters[j].columnName=="type"){overlaySet.iffschoolfiltersbyicons.push(displayfilters[j])}}}overlaySet.setFiltersByIcons(ftrs,overlaySet.colorcodes);overlaySet.filtergroups[filters[0].name]=[];overlaySet.filtergroups[filters[0].name].push(filters[0]);otherFilters=[];for(var i=1;i<filters.length;i++){var f=filters[i];if(f.values[0]=="COLORCODE"){var ftrs=[];var displayfilters=overlaySet.displayfiltergroups[f.name];var l=displayfilters.length;for(var j=0;j<l;j++){if(displayfilters[j].values[0]!="COLORCODE"){ftrs.push(displayfilters[j])}}overlaySet.setFiltersByIcons(ftrs,overlaySet.colorcodes);overlaySet.filtergroups[f.name]=[];overlaySet.filtergroups[f.name].push(f)}else{otherFilters.push(f)}}if(otherFilters.length>0){overlaySet.setFilters(otherFilters)}return overlaySet}WidgetMapDataButton=function(label,f,prepend){var div=$("<div />");this.button=div;div.addClass("mapButton");var innerdiv=$("<div />");innerdiv.addClass("innerdiv");innerdiv.html(label);div.append(innerdiv);div.click(function(){$(this).find(".innerdiv").addClass("selected");f()});div.hide();if(prepend){$("#widget-legends-column").prepend(div)}else{$("#widget-legends-column").append(div)}};WidgetMapDataButton.prototype={show:function(){this.button.show()},hide:function(){this.button.hide();this.button.find(".innerdiv").removeClass("selected")}};(function($){$.AccordionMenu=function(elem,options){this.elem=elem;this.elem.addClass("menu menu-color-1");this.opts=options;this.init()};$.AccordionMenu.prototype={init:function(){var taxo=this.opts.taxonomy;for(var i=0;i<taxo.length;i++){var data;var menuType=this.opts.menuType;if(menuType=="sites"){if(!taxo[i].display){continue}data=taxo[i].pinsets}else if(menuType=="indicator"){data=taxo[i].children;var that=this;PEvent.addListener(P.instances.map,"removeindicator",function(){$(that.elem).find(".on").removeClass("on")})}if(data&&data.length>0){var ul=$("<ul />");ul.addClass("level1");this.elem.append(ul);var li=$("<li />");ul.append(li);var header=$("<div />");header.addClass("cat-header");header.append('<div class="arrow-container right"><div class="arrow"></div></div>');header.append('<div class="text">'+taxo[i].name+"</div>");var that=this;header.click(function(){var wasOpen=false;var el=this;$(el).find(".arrow-container").toggleClass("right");$(el).find(".arrow-container").toggleClass("down");if(menuType=="indicator"){that.elem.find(".open").each(function(index){if(this==$(el).next()[0]){wasOpen=true}$(this).removeClass("open");$(this).slideToggle()})}if(!wasOpen){$(this).next().slideToggle();$(this).next().toggleClass("open")}});li.append(header);ul.append("<li><div class='divider'></div></li>");var ul=$("<ul />");ul.addClass("level2 menu-color-2");li.append(ul);for(var j=0;j<data.length;j++){var set=data[j];var li=$("<li />");li.html(set.name);li.addClass("trigger");li.attr({cat:i,set:j});var indids=set.ids;var geo_boundary_id=set.geo_boundary_id;var elemid;if(indids){elemid=indids[0]}else{elemid=set.id}li.attr({ids:indids});li.attr({bid:geo_boundary_id});li.attr({id:elemid});var that=this;this.sites={};li.click(function(){var ignoreToggle=false;var isOn=$(this).hasClass("on");if(that.opts.menuType=="sites"){var cat=$(this).attr("cat");var set=$(this).attr("set");var attr=pincats[cat].pinsets[set];var name=attr.name+attr.id;var site;if(!that.sites[name]){}else{site=that.sites[name]}if(!isOn){addOverlaySet(attr.id,attr.type);$(this).addClass("on menu-color-3")}else{var sets=map.getOverlaySets();for(var k=0;k<sets.length;k++){if(sets[k].id==attr.id){map.removeOverlaySet(sets[k])}}$(this).removeClass("on")}}else if(that.opts.menuType=="indicator"){if(!isOn){var ids=$(this).attr("ids");var bid=$(this).attr("bid");session.put("exids",ids);that.unselectAll();selectIndicatorsCB(ids);if(bid){selectPlaceCB(bid)}}else{var id=map.getIndicator().id;if(id==this.id){ignoreToggle=true}clearMapDataCB();session.remove("exids")}if(!ignoreToggle){$(this).toggleClass("on menu-color-3")}}});ul.append(li)}}}},unselectAll:function(){this.elem.find(".on").removeClass("on")}};$.fn.accordion.defaults={animated:"slide",autoHeight:true,event:"click",menuType:"indicator"};$.fn.AccordionMenu=function(options){var opts=$.extend({},$.fn.accordion.defaults,options);return new $.AccordionMenu(this,opts)}})(jQuery);CBMapPageTypes=function(opts){this.opts=opts;this.map=opts.map;this.types={};this.contents=$(".nav-type-content-container");this.toggles=$(".navigation");this.typeContentClass="nav-type-content";PEvent.addListener(map,"removeoverlayset",function(set){var id=set.id;$("#"+id).removeClass("on")});if(cbTaxonomy.tax.explore.length>0){this.buildIndMenu()}if(pincats&&pincats.length>0){this.buildSitesMenu()}if(opts.include_explore){this.buildExploreFeatures()}if(opts.include_profile){this.buildProfileFeatures()}if(opts.include_match){this.buildMatchFeatures()}this.setToggleEvent();var params=getUrlParams();var type=this.getTypeByProp("label",params["tt"]);if(type){this.selectType(type,true)}else if(opts.start_with_pop_up){this.showPopUp()}else{this.selectType(this.types.EX,true)}};CBMapPageTypes.prototype={navBarSelectType:function(type){var currentType=this.getCurrentType();if(type==currentType){return}if(currentType==null||currentType==this.types.EX||currentType==this.types.MA){this.selectType(type);return}var self=this;if(polycreator.isBuildingCBRegion()){alerter.popup("You are currently building a custom area on the map. Leaving the Profile section will result in losing this area. Are you sure you want to continue?","No","Yes",function(){polycreator.stopCBRegion();self.selectType(type)})}else if(polycreator.isCBCustomRegionSet()){alerter.popup("You currently have a custom area on the map. Leaving the Profile section will result in losing this area. Are you sure you want to continue?","No","Yes",function(){polycreator.removeCBRegion();self.selectType(type)})}else{this.selectType(type)}},selectType:function(type,stick){this.clear();this.clearMap(type);if(type.includeSitesMenu){type.menuSection.append(this.sitesMenu)}PEnvironment.pageName="maps";if(type==this.types.MA){type.legendElem.show()}else{if(this.types.MA&&this.types.MA.legendElem){this.types.MA.legendElem.hide()}}if(type==this.types.MA&&legendMerger.getIndicatorCount()==0){PEnvironment.pageName="analytics";cbMatchPopup.buildPopupContents();var sel=cbMatchPopup.selected;var hasProp=false;for(var i=0;i<sel.length;i++){for(var prop in sel[i]){if(sel[i].hasOwnProperty(prop)){hasProp=true;break}}}if(this.inPrintMode){}else{if(hasProp){cbMatchPopup.runMatch(hasProp)}else{cbMatchPopup.openPopup()}}}else if(type==this.types.EX){}type.content.addClass("on");type.toggle.addClass("on");$("."+this.typeContentClass).removeClass("stick");if(stick){type.content.addClass("stick");var that=this;this.toggles.on("mouseleave",function(){var $e=$("."+that.typeContentClass);if($e.find(".modal.on").length==0){$e.removeClass("stick")}that.toggles.off("mouseleave")})}for(var i in this.types){this.types[i].isOn=false}type.isOn=true;if(this.inPrintMode){for(var n in this.types){$("body").removeClass("clone-print--"+this.types[n].name)}$("body").addClass("clone-print--"+type.name)}},clear:function(){this.hidePopUp();for(var i in this.types){this.types[i].content.removeClass("on");this.types[i].toggle.removeClass("on")}if(this.types.MA&&this.types.MA.legend){this.types.MA.legend.hide()}},hidePopUp:function(){if(this.popup){this.popupbg.hide();this.popup.hide()}},showPopUp:function(){if(this.popup){this.popupbg.show();this.popup.show();return}var mapcont=this.map.getContainer();var bg=$("<div />");bg.addClass("popup-bg");this.popupbg=bg;$("body").append(bg);var popup=$("<div />");$("body").append(popup);this.popup=popup;popup.addClass("welcome-options");var opts=this.opts;var labels=[opts.map_label,opts.report_label,opts.match_label];var html='<div class="inner-container generic-background">';if(this.types.EX){html+='	<div onclick="map.cbtypes.selectType(map.cbtypes.types.EX, true)" class="grid_8 alpha opt explore-opt">'+'		<div class="inner-box">'+'			<h3 class="clone-custom-color">'+labels[0]+"</h3>"+'			<div class="textwidget">'+"				<p>"+opts.map_welcome_text+"</p>"+"			</div>"+'			<div class="clone-custom-button">'+'				<span class="icon"></span>'+'				<span class="text">'+labels[0]+"</span>"+"			</div>"+"		</div>"+"	</div>"}if(this.types.PR){html+='	<div onclick="map.cbtypes.selectType(map.cbtypes.types.PR, true)" class="grid_8 opt profile-opt">'+'		<div class="inner-box">'+'				<h3 class="clone-custom-color">'+labels[1]+"</h3>"+'			<div class="textwidget">'+"				<p>"+opts.report_welcome_text+"</p>"+"			</div>"+'			<div class="clone-custom-button">'+'				<span class="icon"></span>'+'				<span class="text">'+labels[1]+"</span>"+"			</div>"+"		</div>"+"	</div>"}if(this.types.MA){html+='	<div onclick="map.cbtypes.selectType(map.cbtypes.types.MA, true)" class="grid_8 omega opt match-opt">'+'		<div class="inner-box">'+'			<h3 class="clone-custom-color">'+labels[2]+"</h3>"+'			<div class="textwidget">'+"				<p>"+opts.match_welcome_text+"</p>"+"			</div>"+'			<div class="clone-custom-button">'+'				<span class="icon"></span>'+'				<span class="text">'+labels[2]+"</span>"+"			</div>"+"		</div>"+"	</div>"}html+="</div>";popup.hide();popup.append(html);popup.slideDown("slow")},buildSitesMenu:function(){var container=$("<div />",{class:"menu-column"});var h='<div class="menu-column-header"><img src="/images/cbclone/point-icon.png" />Points, Lines, Polygons</div>';container.append(h);var d=$("<div />",{id:"sites-menu"});var taxo=pincats;d.AccordionMenu({taxonomy:taxo,menuType:"sites"});container.append(d);this.sitesMenu=container},buildIndMenu:function(){var container=$("<div />",{class:"menu-column left"});var h='<div class="menu-column-header"><img src="/images/cbclone/layer-icon.png" />Layers</div>';container.append(h);var d=$("<div />",{id:"ind-menu"});var taxo=cbTaxonomy.tax.explore;d.AccordionMenu({taxonomy:taxo,menuType:"indicator"});container.append(d);this.indMenu=container},buildExploreFeatures:function(){this.types.EX={name:"EX",label:P.CloneOptions.map_label,includeSitesMenu:true};var type=this.types.EX;var div=$("<div />");div.addClass(this.typeContentClass);type.content=div;var sectHead=$("<div />");sectHead.addClass("menu-instructional-text");sectHead.html(P.CloneOptions.map_menu_text);div.html(sectHead);div.append("<div class='menu-instructional-text-divider'></div>");var d=$("<div />",{class:"menus-section"});this.types.EX.menuSection=d;div.append(d);var that=this;var addSitesMenu=function(d){type.menuSection.append(that.sitesMenu)};var addIndMenu=function(d){type.menuSection.append(that.indMenu)};if(isCSIVersion()){addIndMenu(div);addSitesMenu(div);this.contents.append(div)}else{addSitesMenu(div);addIndMenu(div);this.contents.append(div)}var div=$("<div />");div.addClass("clone-nav-tab explore");type.toggle=div;var title=this.opts.map_label;div.html('<div class="opt-icon"></div><span>'+title+"</span>");div.append('<div class="arrow-up"></div>');this.toggles.append(div)},buildProfileFeatures:function(){this.types.PR={name:"PR",label:P.CloneOptions.report_label};var type=this.types.PR;var div=$("<div />");div.addClass(this.typeContentClass);type.content=div;div.append($(".custom-location-modal-container"));var sectHead=$("<div />");sectHead.addClass("menu-instructional-text report-header");sectHead.html(P.CloneOptions.report_menu_text);div.append(sectHead);div.append("<div class='menu-instructional-text-divider'></div>");var menus_section=$("<div />",{class:"menus-section"});div.append(menus_section);var $column=$("<div />",{class:"menu-column left"});var rtypes=cbProfileDropdowns.allDropdowns;var text="";if(rtypes.length>0){text="Select a preloaded<br />location:"}else{text="Select an area from<br />the location search above."}var $d=$("<div />",{class:"menu-column-header"});$d.html(text);$column.append($d);var locDropdowns=$("<div />");locDropdowns.addClass("profileDropdownSection");for(var i=0;i<rtypes.length;i++){var rtype=rtypes[i];var h=$("<div />",{class:"profileDropdownHeader"});h.html(rtype.typeDisplay);var d=$("<div />",{class:"profileDropdown"});var s=$("<select />",{class:"locationSelect",id:rtype.id});d.html(s);locDropdowns.append(h);locDropdowns.append(d)}$column.append(locDropdowns);var n=P.CloneOptions.report_boundaries_note;if(n){$column.append('<div class="note">'+n+"</div>")}menus_section.append($column);if(this.opts.include_custom_region_feature){var $column=$("<div />",{class:"menu-column"});var $d=$("<div />",{class:"menu-column-header"});$d.html("Or, create a custom location:");$column.append($d);var drawRegion=$("<div />",{class:"clone-button custom-region-button custom-region-button--draw"});drawRegion.html('<img class="custom-location-button-icons" src="/images/cbclone/drawn-custom-area.png">');drawRegion.append("Draw a custom area");drawRegion.click(function(){polycreator.startCBDrawn()});$column.append(drawRegion);var radiusRegion=$("<div />",{class:"clone-button custom-region-button custom-region-button--radius"});radiusRegion.html('<img class="custom-location-button-icons" src="/images/cbclone/radius-custom-area.png">');radiusRegion.append("Specify a radius around a point");radiusRegion.click(function(){polycreator.startCBRadius()});$column.append(radiusRegion)}menus_section.append($column);this.contents.append(div);var div=$("<div />");div.addClass("clone-nav-tab profile");type.toggle=div;var title=P.CloneOptions.report_label;div.html('<div class="opt-icon"></div><span>'+title+"</span>");div.append('<div class="arrow-up"></div>');this.toggles.append(div)},buildMatchFeatures:function(){this.types.MA={name:"MA",label:P.CloneOptions.match_label,includeSitesMenu:true,legendElem:$(".legend--analytics")};var type=this.types.MA;var div=$("<div />");div.addClass(this.typeContentClass+" match-content");type.content=div;this.contents.append(div);var sectHead=$("<div />");sectHead.addClass("menu-instructional-text");sectHead.html(P.CloneOptions.match_menu_text);div.html(sectHead);div.append("<div class='menu-instructional-text-divider'></div>");var $b=$("<div />",{class:"edit-match-button"});$b.html("Edit Match Layers");$b.click(function(){cbMatchPopup.openPopup(true)});div.append($b);$(".select-layer").click(function(){cbMatchPopup.openPopup(true)});var menus_section=$("<div />",{class:"menus-section"});div.append(menus_section);var $column=$("<div />",{class:"menu-column left"});menus_section.append($column);var h='<div class="menu-column-header"><img src="/images/cbclone/layer-icon.png" />Layers</div>';$column.append(h);for(var i=0;i<3;i++){var num=i+1;var d=$("<div />",{class:"menu-column-layer-match-container legend__content analytics-legend__item"});d.html('<div class="match-layer-selected-header generic-background"><p>Layer #'+num+"</p></div>");d.append('<div class="match-layer-selected-container-expanded generic-background"></div>');$column.append(d)}matchMenuLegendUpdate();var $column=$("<div />",{class:"menu-column"});menus_section.append($column);this.types.MA.menuSection=$column;$column.append(this.sitesMenu);var div=$("<div />");div.addClass("clone-nav-tab match");type.toggle=div;var title=P.CloneOptions.match_label;div.html('<div class="opt-icon"></div><span>'+title+"</span>");div.append('<div class="arrow-up"></div>');this.toggles.append(div);var self=this;cbMatchPopup.addListener("runmatch",function(rInds){self.clearMatchData();var loadInd=function(rInds,cnt){PIndicatorLoader.load([rInds[cnt].ids[0]],function(inds){var ind=inds[0];var types=ind.getPlaceTypes();var hasBlockgroups=false;for(var i=0;i<types.length;i++){if(types[i].id==15){hasBlockgroups=true;break}}var typeid;if(hasBlockgroups){typeid=15}else{typeid=types[0].id}var period=ind.getPeriod();session.put("m"+cnt+"i",ind.id);session.put("m"+cnt+"btd",typeid);session.put("m"+cnt+"period",period);var indicatorLegend=map.legendMerger.getLegend(cnt);if(rInds[cnt].type==cbTaxonomy.typeNumeric){var numLevels=rInds[cnt].numLevels;var typebreaks=ind.breaks[0][typeid];if(typebreaks[numLevels]){var breaks=typebreaks[numLevels].split(",");var level=parseInt(rInds[cnt].level);var low=parseFloat(breaks[level]);var high=parseFloat(breaks[level+1])}else{for(var i=2;i<8;i++){if(typebreaks[i]){numLevels=i}}var breaks=typebreaks[numLevels].split(",");var l=breaks.length;breaks=[breaks[0],breaks[1],breaks[Math.round(l/2)],breaks[l-1]];var level=parseInt(rInds[cnt].level);var low=parseFloat(breaks[level]);var high=parseFloat(breaks[level+1])}session.put("m"+cnt+"r0",low);session.put("m"+cnt+"r1",high);var indicatorRange=indicatorLegend.getIndicatorRange();indicatorRange.setRange([low,high])}else if(rInds[cnt].type==cbTaxonomy.typeCategorical){var values=rInds[cnt].values;session.put("m"+cnt+"v","["+values.toString()+"]")}indicatorLegend.setIndicatorList(inds,null,0);cnt++;if(cnt<rInds.length){loadInd(rInds,cnt)}})};var cnt=0;loadInd(rInds,cnt);cbMatchPopup.closePopup()})},setToggleEvent:function(){for(var i in this.types){var that=this;this.types[i].toggle.data("type",this.types[i]);this.types[i].toggle.click(function(){var type=$(this).data("type");if($(this).hasClass("on")){}else{that.navBarSelectType(type)}})}},setUpAnalytics:function(){$legends=$(".analytics-legend__item");var legendContainer=new Array;var indicatorLegend=new Array;legendMerger=new PLegendMerger(this.map);var $analyticsLegend=$(".legend--analytics");$analyticsLegend.find(".legend__toggle-icon").click(function toggleLegendSize(){if($analyticsLegend.hasClass("is-minimized")){$(this).removeClass("is-minimized");$analyticsLegend.removeClass("is-minimized")}else{$(this).addClass("is-minimized");$analyticsLegend.addClass("is-minimized")}});$legends.each(function(index){var $legend=$(this);var editButton=$legend.find(".legend__edit-button");var pLegend=new PLegend;indicatorLegend.push(new PTRFIndicatorLegend(null,pLegend,{enableToggle:true,enableShade:true,enableRange:true,instanceId:"m"+index}));editButton.click(function(event){event.preventDefault();$(this).toggleClass("is-active");$legend.find(".legend__indicators").toggle()})});var indElms=$legends;for(var i=0;i<indElms.length;i++){indElms[i]=$(indElms[i]);var indToggle=indicatorLegend[i].getIndicatorToggle();var indicatorShade=indicatorLegend[i].getIndicatorShade();indicatorShade.disableDefault=true;var indicatorRange=indicatorLegend[i].getIndicatorRange();var indicatorValues=indicatorLegend[i].getIndicatorValues();legendContainer[i]=new PLegendContainer(indElms[i]);indicatorLegend[i].addListener("refresh",legendContainer[i].enable,legendContainer[i]);indicatorLegend[i].addListener("refresh",placeZoomSliderMarker,legendContainer[i]);indicatorLegend[i].addListener("clear",legendContainer[i].disable,legendContainer[i]);indicatorLegend[i].addListener("clear",placeZoomSliderMarker,legendContainer[i]);var trfLegendIndicators=new TrfAnalyticsLegendIndicators(indElms[i]);indToggle.addListener("refresh",trfLegendIndicators.refresh,trfLegendIndicators);indToggle.addListener("clear",trfLegendIndicators.clear,trfLegendIndicators);var rangeWidget=new PRangeWidget(indElms[i].find("#slider_container"));rangeWidget.addListener("update",indicatorRange.setRange,indicatorRange);rangeWidget.init();indicatorRange.addListener("refresh",rangeWidget.updateRange,rangeWidget);indicatorRange.addListener("enable",rangeWidget.enable,rangeWidget);indicatorRange.addListener("disable",rangeWidget.disable,rangeWidget);indicatorLegend[i].addListener("clear",rangeWidget.resetRange,rangeWidget);legendContainer[i].addListener("disable",rangeWidget.disable,rangeWidget);var valuesWidget=new PValuesWidget(indElms[i].find("#values_container"));valuesWidget.addListener("update",indicatorValues.toggleValues,indicatorValues);indicatorValues.addListener("load",valuesWidget.refresh,valuesWidget);indicatorValues.addListener("enable",valuesWidget.enable,valuesWidget);indicatorValues.addListener("disable",valuesWidget.disable,valuesWidget);indicatorValues.addListener("clear",valuesWidget.clear,valuesWidget);legendContainer[i].addListener("disable",valuesWidget.disable,valuesWidget);var indInfo=new PIndicatorInfoWidget(indElms[i].find(".legend__title__content"),'<span onclick="cbMatchPopup.openPopup(true)">Select Layer</span>');indInfo.index=i;indicatorLegend[i].addListener("refresh",indInfo.update,indInfo);indicatorLegend[i].addListener("clear",indInfo.clear,indInfo);var trfLegendShadeBy=new TrfLegendShadeBy(indElms[i].find(".legend__shading__shaded-by"),indElms[i].find(".legend__title__source__content"),indElms[i].find("#legend__shading__ranges"));indicatorShade.addListener("refresh",trfLegendShadeBy.update,trfLegendShadeBy);indicatorShade.addListener("clear",trfLegendShadeBy.clear,trfLegendShadeBy);trfLegendShadeBy.addListener("change",indicatorShade.changeShade,indicatorShade);legendContainer[i].init();legendContainer[i].disable();legendMerger.addLegend(indicatorLegend[i])}map.setLegendMerger(legendMerger);PEvent.addListener(map,"setindicator",function(ind){});PEvent.addListener(map,"zoomstart",function(){for(var i=0;i<3;i++){var legend=legendMerger.getLegend(i);legend.refresh()}});PEvent.addListener(map,"zoomend",function(){session.put("curZoom",map.getZoom());var tmpLeg;for(var i=0;tmpLeg=legendMerger.getLegend(i);i++){var leg=tmpLeg.legend;if(leg.getBoundaryType()&&tmpLeg.getIndicatorShade().getOldBoundaryTypeId()!=leg.getBoundaryType().id){tmpLeg.getIndicatorShade().setOldBoundaryTypeId(leg.getBoundaryType().id)}}mapRefreshed()})},getCurrentType:function(){var types=this.types;var t=null;for(var i in types){if(types[i].isOn){t=types[i];break}}return t},getTypeByName:function(name){return this.types[name]},getTypeByProp:function(key,val){var type=null;if(key&&val){val=val.toLowerCase();for(var i in this.types){if(this.types[i][key].toLowerCase()==val){type=this.types[i]}}}return type},clearMap:function(type){if(type==this.types.MA){if(this.types.EX){this.clearExploreData()}if(this.types.PR){this.clearProfileData()}}else if(type==this.types.EX){if(this.types.MA){this.clearMatchData()}if(this.types.PR){this.clearProfileData()}}else if(type==this.types.PR){}else{if(this.types.EX){this.clearExploreData()}if(this.types.MA){this.clearMatchData()}if(this.types.PR){this.clearProfileData()}}},clearExploreData:function(fullclear){var ind=this.map.getIndicator();if(ind){var indid=ind.id;$("#"+indid).removeClass("on");this.map.removeIndicator();widget.clear();if(fullclear){session.remove("exids");this.indMenu.find(".open").slideToggle(null,function(){$(this).removeClass("open")})}}},clearProfileData:function(fullclear,callback){polycreator.disableRegionBuilderCB(callback)},clearMatchData:function(fullclear,showPopup){for(var i=0;i<3;i++){legendMerger.clearIndicator(i)}var m=$("#map_message");m.hide();if(fullclear){cbMatchPopup.clearSelected()}if(showPopup){cbMatchPopup.openPopup()}},fullClearOfCurrentMap:function(){var that=this;var callback=function(){clearPolygons(that.map);that.map.clearOverlays();var sets=map.getOverlaySets();for(var z=0;z<sets.length;z++){var set=sets[z];var id=set.id;$("#"+id).removeClass("on")}that.sitesMenu.find(".open").slideToggle(null,function(){$(this).removeClass("open")});map.clearOverlaySets();labelManager.resetLabelManager();if(datasetSearch!=null){datasetSearch.reset()}if(map.getInfoWindow())map.closeInfoWindow();search.reset()};var type=this.getCurrentType();if(type==this.types.EX){callback();this.clearExploreData(true)}else if(type==this.types.PR){this.clearProfileData(true,callback);if(this.types.EX){this.clearExploreData(true)}if(this.types.MA){this.clearMatchData(true)}}else if(type==this.types.MA){callback();this.clearMatchData(true,true)}},centerMap:function(){map.setCenter(new PLatLng(getDefaultMapLat(),getDefaultMapLng()),getDefaultMapZoom())},getPrintParams:function(){var link=new PMapLink(null,PEnvironment.pageName);var s=link.url;s+="&cbtype="+this.getCurrentType().name;if($("#moretitle").is(":visible")){s+="&idesc=true"}var icons=map.storedSetIcons;if(icons){var cnt=0;var iconParams="&icons=";for(var i in icons){iconParams+=i+":"+icons[i].category+";";cnt++}if(cnt>0){s+=iconParams}}return s},buildHamburger:function(){var $d=$("<div />",{class:"hamburger-container"});var that=this;this.hamburger=$d;$d.click(function(){that.toggleCurrentTypeMenu()});this.toggles.append($d)},toggleHamburger:function(){var types=this.types;var isOn=false;for(var i in types){if(types[i].content.hasClass("on")){isOn=true;break}}if(isOn){this.hamburger.addClass("on")}else{this.hamburger.removeClass("on")}},toggleCurrentTypeMenu:function(){var type=this.getCurrentType()}};CBMatchPopup=function(){this.container1=$("<div />");this.container1.addClass("cbMatchPopupOuterContainer centerContainer1");this.container2=$("<div />");this.container2.addClass("centerContainer2");this.container3=$("<div />");this.container3.addClass("centerContainer3");this.contentContainer=$("<div />");this.contentContainer.addClass("content");this.popupContainer=$("<div />");this.popupContainer.attr("id","cbMatchPopupContainer");this.popupContainer.addClass("cbMatchPopupContainer");this.popupContainer.append(this.contentContainer);this.container3.append(this.popupContainer);this.container2.append(this.container3);this.container1.append(this.container2);this.popupContents=null;this.numIndicators=3;this.numIndicatorsString="three";this.lastCompletedRow=0;this.numericLevels=["Low","Moderate","High"];this.values=new Object;this.eventTypes={};this.eventTypes.runmatch="runmatch";this.eventManager=new _eventManager;for(var ev in this.eventTypes){this.eventManager.registerEventID(ev)}this.selected=[{},{},{}]};CBMatchPopup.prototype.openPopup=function(edit){this.closePopup();var self=this;this.buildPopupContents();this.contentContainer.html(this.popupContents);this.dialog=$("<div/>");this.dialog.attr("id","cbMatchPopup");this.dialog.append(this.container1);this.dialog.dialog({modal:true,closeOnEscape:false,draggable:false,resizable:false,zIndex:5002,show:function(){$(this).slideDown("slow")
}});this.setEditMode(false);if(edit){this.setEditMode(true)}this.initializeSelectorDropdowns()};CBMatchPopup.prototype.closePopup=function(){this.contentContainer.html("");$("#cbMatchPopup").remove()};CBMatchPopup.prototype.buildPopupContents=function(){if(this.popupContents!=null){return}var html="<div class='mpHeader clone-custom-color'>"+P.CloneOptions.match_wizard_header+"</div>";html+="<div class='mpSubHeader'>"+P.CloneOptions.match_wizard_text+"</div>";html+="<a class='close' onclick='cbMatchPopup.closePopup()'><img class='close-x' src='images/cbclone/x-dark.png'></a>";html+="<div class='mpIndSelectors'>";for(var i=1;i<=this.numIndicators;i++){html+="<div class='mpIndSelectorRow generic-background'>";html+="  <div class='selectorRowNum clone-custom-color'>";html+="    <span>Layer #"+i+"</span>";html+="  </div>";html+="  <div class='selectorCell selectorCell-"+i+" selectorCellInd'>";html+="    <div class='selectorHeader selectorHeader-"+i+" clone-custom-color'>Select Category</div>";html+="    <div class='dropdownHeader'>&nbsp;</div>";html+="    <select id='selector-a-"+i+"' class='selector-a' />";html+="  </div>";html+="  <div class='selectorCell selectorCell-"+i+"'>";html+="    <div class='selectorHeader selectorHeader-"+i+" clone-custom-color'>Select Indicator</div>";html+="    <div id='dropdownHeader-b-"+i+"' class='dropdownHeader'>&nbsp;</div>";html+="    <select id='selector-b-"+i+"' class='selector-b' />";html+="  </div>";html+="  <div class='selectorCell selectorCell-"+i+"'>";html+="    <div class='selectorHeader selectorHeader-"+i+" clone-custom-color'>Select Level</div>";html+="    <div id='dropdownHeader-c-"+i+"' class='dropdownHeader'>&nbsp;</div>";html+="    <select id='selector-c-"+i+"' class='selector-c' />";html+="  </div>";html+="</div>"}html+="</div>";html+="<div class='mpFooter'>";html+="<div class='clone-custom-button button__run-match' onclick='cbMatchPopup.runMatch();'>"+P.CloneOptions.match_run_label+"</div>";html+="<div class='clone-button clone-cancel-button button__cancel' onclick='P.instances.map.cbtypes.clearMatchData(true, true);'>Start Over</div>";html+="</div>";this.popupContents=html};CBMatchPopup.prototype.startOver=function(){var self=this;alerter.popup("This will reset all selected indicators. Do you wish to continue?","No","Yes",function(){self.buildPopupContents();self.lastCompletedRow=0;self.values=new Object;self.contentContainer.html(self.popupContents);self.setEditMode(false);self.initializeSelectorDropdowns()})};CBMatchPopup.prototype.initializeSelectorDropdowns=function(){var self=this;$(".selector-a").each(function(index,dropdown){var dropdown=$(dropdown);var dropdownId=dropdown.attr("id");$("#"+dropdownId+" option").each(function(index,option){$(option).remove()});var newOption=$("<option />");newOption.attr({value:"NA",text:"-- Select category --",innerText:"-- Select category --"});newOption.html("-- Select category --");dropdown.append(newOption);for(var i=0;i<cbTaxonomy.tax.match.length;i++){var newOption=$("<option />");newOption.attr({value:i,text:cbTaxonomy.tax.match[i].name,innerText:cbTaxonomy.tax.match[i].name});newOption.html(cbTaxonomy.tax.match[i].name);if(self.isEditModeOn()){if(self.getSelectedValForRow(index,"cat")==i){newOption.attr("selected",true)}}dropdown.append(newOption)}self.rebuildDropkick(dropdownId);disableDropkick(dropdownId)});$(".selector-b, .selector-c").each(function(index,dropdown){var dropdown=$(dropdown);var dropdownId=dropdown.attr("id");var dropdownClass=dropdown.attr("class");var dropdownIdDetails=dropdownId.split("-");var dropdownType=dropdownIdDetails[1];var dropdownRow=dropdownIdDetails[2];if(dropdownType=="b"){self.resetIndicatorOrLevelDropdown(1,dropdownRow)}else if(dropdownType=="c"){self.resetIndicatorOrLevelDropdown(2,dropdownRow)}self.rebuildDropkick(dropdownId);disableDropkick(dropdownId)});$(".selectorCell").hide();$(".selectorCell-1").show();$(".selectorCellInd").show();enableDropkick("selector-a-1");$(".selectorHeader-1").show();this.values=new Object;var aLength=3;for(var i=0;i<aLength;i++){var num=i+1;var id="#selector-a-"+num;var li=$(id).find("li");this.processIndicator($(id)[0]);var id="#selector-b-"+num;this.processIndicator($(id)[0]);var id="#selector-c-"+num;this.processIndicator($(id)[0])}};CBMatchPopup.prototype.rebuildDropkick=function(dropdownId){var self=this;$("#"+dropdownId+"_chosen").remove();$("#"+dropdownId).chosen({width:"100%",disable_search:true});$("#"+dropdownId).on("change",function(){self.processIndicator(this)});if($("#"+dropdownId).attr("disabled")){disableDropkick(dropdownId)}};CBMatchPopup.prototype.processIndicator=function(item){var item=$(item);if(item.length<1){return}var itemId=item.attr("id");var itemClass=item.attr("class");var itemValue=item.val();var itemIdDetails=itemId.split("-");var itemType=itemIdDetails[1];var itemRow=parseInt(itemIdDetails[2]);var rowIndex=itemRow-1;if(this.values[itemId]&&this.values[itemId]==itemValue){return}else{this.values[itemId]=itemValue}if(itemType=="a"){var indDropdownId="selector-b-"+itemRow;var levDropdownId="selector-c-"+itemRow;this.resetIndicatorOrLevelDropdown(1,itemRow);if(itemValue!="NA"){if(!cbTaxonomy.tax.match[itemValue]||!cbTaxonomy.tax.match[itemValue].children||cbTaxonomy.tax.match[itemValue].children.length<1){return}for(var i=0;i<cbTaxonomy.tax.match[itemValue].children.length;i++){var ind=cbTaxonomy.tax.match[itemValue].children[i];var newOption=$("<option />");newOption.attr({value:i,text:ind.name,innerText:ind.name});newOption.html(ind.name);if(this.isEditModeOn()&&this.getSelectedValForRow(rowIndex,"ind")==i){newOption.attr("selected",true)}$("#"+indDropdownId).append(newOption)}enableDropkick(indDropdownId);disableDropkick(levDropdownId);$("#dropdownHeader-b-"+itemRow).text(cbTaxonomy.tax.match[itemValue].name);this.selected[rowIndex]["cat"]=itemValue}else{disableDropkick(indDropdownId);disableDropkick(levDropdownId)}this.rebuildDropkick(indDropdownId);this.rebuildDropkick(levDropdownId)}else if(itemType=="b"){var categoryValue=$("#selector-a-"+itemRow).val();var levDropdownId="selector-c-"+itemRow;this.resetIndicatorOrLevelDropdown(2,itemRow);if(itemValue!="NA"){var selectedInd=cbTaxonomy.tax.match[categoryValue].children[itemValue];if(selectedInd.type==cbTaxonomy.typeNumeric){if(!selectedInd.levels){selectedInd.levels=this.numericLevels}for(var i=selectedInd.levels.length-1;i>=0;i--){var newOption=$("<option />");newOption.attr({value:i,text:selectedInd.levels[i],innerText:selectedInd.levels[i]});newOption.html(selectedInd.levels[i]);if(this.isEditModeOn()&&this.getSelectedValForRow(rowIndex,"level")==i){newOption.attr("selected",true)}$("#"+levDropdownId).append(newOption)}}else if(selectedInd.type==cbTaxonomy.typeCategorical){if(!selectedInd.levels){selectedInd.levels=[]}for(var i=0;i<selectedInd.levels.length;i++){var newOption=$("<option />");newOption.attr({value:i,text:selectedInd.levels[i].name,innerText:selectedInd.levels[i].name});newOption.html(selectedInd.levels[i].name);if(this.isEditModeOn()&&this.getSelectedValForRow(rowIndex,"level")==i){newOption.attr("selected",true)}$("#"+levDropdownId).append(newOption)}}enableDropkick(levDropdownId);$("#dropdownHeader-c-"+itemRow).text(selectedInd.name);this.selected[rowIndex]["ind"]=itemValue}else{disableDropkick(levDropdownId)}this.rebuildDropkick(levDropdownId)}else if(itemType=="c"){if(itemValue!="NA"){var nextRow=itemRow+1;$(".selectorCell-"+nextRow).show();enableDropkick("selector-a-"+nextRow);if(this.lastCompletedRow<itemRow){this.lastCompletedRow=itemRow;$(".selectorHeader").hide();$(".selectorHeader-"+nextRow).show()}this.selected[rowIndex]["level"]=itemValue}}};CBMatchPopup.prototype.resetIndicatorOrLevelDropdown=function(which,row){if(which<1||which>2||row<1||row>this.numIndicators){return}var indDropdownId="selector-b-"+row;var levDropdownId="selector-c-"+row;var indDropdown=$("#"+indDropdownId);var levDropdown=$("#"+levDropdownId);var indDropdownHeader=$("#dropdownHeader-b-"+row);var levDropdownHeader=$("#dropdownHeader-c-"+row);if(indDropdown.length<1||levDropdown.length<1){return}if(which==1){$("#"+indDropdownId+" option").each(function(index,option){$(option).remove()});var newOption=$("<option />");newOption.attr({value:"NA",text:"-- Select indicator --",innerText:"-- Select indicator --"});newOption.html("-- Select indicator --");indDropdown.append(newOption);indDropdownHeader.html("&nbsp;");delete this.values[indDropdownId]}$("#"+levDropdownId+" option").each(function(index,option){$(option).remove()});var newOption=$("<option />");newOption.attr({value:"NA",text:"-- Select level --",innerText:"-- Select level --"});newOption.html("-- Select level --");levDropdown.append(newOption);levDropdownHeader.html("&nbsp;");delete this.values[levDropdownId]};CBMatchPopup.prototype.runMatch=function(loadselected){var indicators=[];for(var i=1;i<=this.numIndicators;i++){var indValue="NA";var levValue="NA";var catValue="NA";if(loadselected){var sel=this.selected;var index=i-1;if(sel[index].cat&&sel[index].ind&&sel[index].level){catValue=sel[index].cat;indValue=sel[index].ind;levValue=sel[index].level}}else{catValue=$("#selector-a-"+i).val();indValue=$("#selector-b-"+i).val();levValue=$("#selector-c-"+i).val()}if(indValue=="NA"||levValue=="NA"){continue}var selectedInd=cbTaxonomy.tax.match[catValue].children[indValue];var curInd=new Object;curInd.ids=selectedInd.ids;curInd.type=selectedInd.type;if(selectedInd.type==cbTaxonomy.typeNumeric){curInd.level=levValue;curInd.numLevels=this.numericLevels.length}else if(selectedInd.type==cbTaxonomy.typeCategorical){curInd.level=levValue;curInd.values=selectedInd.levels[levValue].values}indicators.push(curInd)}if(indicators.length<1){alerter.popup("You must select at least one category, indicator, and level to run a match.","OK");return}this.setEditMode(false);this.eventManager.triggerEvent("runmatch",indicators)};CBMatchPopup.prototype.addListener=function(eventId,func){this.eventManager.registerForEvent(eventId,[],func)};CBMatchPopup.prototype.removeListener=function(eventId,func){this.eventManager.deregisterForEvent(eventId,[],func)};CBMatchPopup.prototype.clearSelected=function(){this.selected=[{},{},{}]};CBMatchPopup.prototype.getSelectedValForRow=function(index,type){var val=this.selected[index][type];return val};CBMatchPopup.prototype.setEditMode=function(boo){this.inEditMode=boo};CBMatchPopup.prototype.isEditModeOn=function(){return this.inEditMode};CBPopUp=function(options){if(options&&options.elm)this.elm=options.elm;else this.elm=$("#popup");if(options&&options.style)this.elm.addClass("popOpt"+options.style);var showClose=false;if(options&&options.noClose)showClose=false;if(showClose){var close=$("<a />");close.addClass("close noPrint");var self=this;close.click(function(){self.hide()});close.html("Close <div>X</div>");this.elm.append(close)}var content=$("<div />");content.addClass("content");this.elm.append(content);this.popup_content=content;this.loader=$(document.createElement("img")).attr("src","/images/busy.gif");this.loader.hide();this.loader.css("position","absolute");this.elm.append(this.loader);this.content=null;this.inMotion=false};CBPopUp.prototype={show:function(callback,context){this.refreshSize();if(PEnvironment.pageName=="tables"){$("#chart").hide();$("#save").fadeOut()}this.popup_content.children().hide();this.showLoader();if(!this.elm.is(":visible")){this.inMotion=true;var self=this;this.elm.width(0).height(0).css({left:this.left+this.width/2+"px",top:this.top+this.height/2+"px"});this.elm.show().css({left:this.left+"px",top:this.top+"px",width:"100%",height:"auto",opacity:1});self.inMotion=false;self.changeContent(null,callback,context)}},hide:function(){if(this.elm.is(":visible")){var self=this;unselectColumn();this.popup_content.children().hide();this.elm.animate({left:this.left+this.elm.width()/2+"px",top:this.top+this.elm.height()/2+"px",width:"0px",height:"0px",opacity:0},700,"swing",function(){self.elm.hide();$("#chart").fadeIn();$("#save").fadeIn()})}},refreshSize:function(){var fillElm=$("#chartContainer");var pos=fillElm.offset();this.left=0;this.top=0;this.width=fillElm.width();if(PEnvironment.pageName!="tables")this.height=400;else this.height=fillElm.height();this.loader.css("left",this.width/2+"px");this.loader.css("top","50px")},changeContent:function(elm,callback,context){if(elm)this.content=elm;if(callback){this.callback=callback}if(this.inMotion==false&&this.content){this.popup_content.children().hide();this.popup_content.empty();this.popup_content.append(this.content);this.content.show();this.content=null;this.hideLoader();if(this.callback){this.callback.call();this.callback=null;this.context=null}}},showLoader:function(){$("#sites-list").addClass("loading")},hideLoader:function(){this.loader.hide();$("#sites-list").removeClass("loading")}};CBProfileDropdowns=function(){this.hasCustomRegionBuilding=true;this.allDropdowns=[];if(isCSIVersion()){this.hasCustomRegionBuilding=false;this.allDropdowns=[{id:"profileNeighborhoods",typeKey:"neighborhood",typeDisplay:"Neighborhood"}]}else if(isWPVersion()){this.hasCustomRegionBuilding=false;this.allDropdowns=[{id:"profileNeighborhoods",typeKey:"neighborhood",typeDisplay:"Neighborhood"},{id:"profileZips",typeKey:"zip",typeDisplay:"Zip Code"},{id:"profileCouncils",typeKey:"council",typeDisplay:"Council District"},{id:"profileSchoolCatchment",typeKey:"school",typeDisplay:"School Catchment"},{id:"profileCommunityUAA",typeKey:"community_umbrella_agency",typeDisplay:"Community Umbrella Agency Area"},{id:"profileSLDUpper",typeKey:"sld_upper",typeDisplay:"Upper State Legislative District"},{id:"profileSLDLower",typeKey:"sld_lower",typeDisplay:"Lower State Legislative District"}]}else if(isCBVersion()){this.allDropdowns=[{id:"profileNeighborhoods",typeKey:"neighborhood",typeDisplay:"Neighborhood"},{id:"profileZips",typeKey:"zip",typeDisplay:"Zip Code"},{id:"profileCouncils",typeKey:"council",typeDisplay:"Council District"}]}else if(isAWVersion()){}var self=this;this.dropkickOpts={width:"145px",change:function(){self.itemSelected(this)}}};CBProfileDropdowns.prototype.initializeAllDropdowns=function(){for(var i=0;i<this.allDropdowns.length;i++){var curDropdown=this.allDropdowns[i];this.initializeDropdown(curDropdown)}};CBProfileDropdowns.prototype.initializeDropdown=function(dropdownDetails){var dropdownId=dropdownDetails.id;var dropdown=$("#"+dropdownId);var locations=cbLocations[dropdownDetails.typeKey];var locationTypeDisplay=dropdownDetails.typeDisplay;if(dropdown.length<1||locations==null||locations.length<1){return}var defaultOption=$("<option />");var defaultOptionText=locationTypeDisplay+"s";if(isWPVersion()){var defaultOptionText=locationTypeDisplay}defaultOption.attr({value:"NA",text:defaultOptionText,innerText:defaultOptionText});defaultOption.html(defaultOptionText);dropdown.append(defaultOption);for(var j=0;j<locations.length;j++){var curLocation=locations[j];var newOption=$("<option />");newOption.attr({value:curLocation.id,text:curLocation.name,innerText:curLocation.name});newOption.html(curLocation.name);dropdown.append(newOption)}rebuildDropkick(dropdownId,this.dropkickOpts)};CBProfileDropdowns.prototype.itemSelected=function(dropdown){var self=this;var dropdown=$(dropdown);var dropdownId=dropdown.attr("id");var isNeighborhood=dropdownId=="profileNeighborhoods";var bid=$(dropdown).val();var selPlace=function(){selectPlaceCB(bid,true,true);self.resetAllDropdowns(dropdownId)};if(bid!="NA"){var boo=this.hasCustomRegionBuilding;if(boo&&polycreator.isCBCustomRegionSet()){alerter.popup("You currently have a custom area on the map. Do you wish to clear this region?","No","Yes",function(){polycreator.removeCBRegion();selPlace()},function(){self.resetAllDropdowns();return})}else if(boo&&polycreator.isBuildingCBRegion()){alerter.popup("You are currently building a custom area on the map. Do you wish to abandon this region?","No","Yes",function(){polycreator.stopCBRegion();selPlace()},function(){self.resetAllDropdowns();return})}else{selPlace()}}};CBProfileDropdowns.prototype.resetAllDropdowns=function(skipDropdownId){for(var i=0;i<this.allDropdowns.length;i++){var curDropdownId=this.allDropdowns[i].id;if(skipDropdownId!=null&&skipDropdownId==curDropdownId){continue}selectDropkickItem(curDropdownId,"NA",this.dropkickOpts)}};CBProfileDropdowns.prototype.getProfileLocation=function(){for(var i=0;i<this.allDropdowns.length;i++){var curDropdownId=this.allDropdowns[i].id;var curDropdown=$("#"+curDropdownId);var curValue=curDropdown.val();if(curValue!="NA"){return{id:curValue,name:$("#"+curDropdownId+" option:selected").text()}}}return null};CBProfileDropdowns.prototype.collapseAllDropdowns=function(){for(var i=0;i<this.allDropdowns.length;i++){collapseDropkick(this.allDropdowns[i].id)}};CBReportPins=function(opts){this.elm=$("#reportPins");this.cube;this.pageSize=50;this.pages=1;this.pinCount=0;this.place=null;this.loader=$(document.createElement("img")).attr("src","/images/busy.gif").css({display:"none",position:"absolute",top:"50px",left:"170px"});this.datasetType;this.pinType;this.hidetitle=false;if(opts&&opts.hidetitle){this.hidetitle=true}};CBReportPins.prototype={load:function(placeName,datasetId,datasetType,datasetName,placeId,vertices,pinCount,pinType,placeTypeId,polysetid,bounds,filters,callback){noDownload=false;if(PEnvironment.pageName=="maps"){var arr=[136100];for(var i=0;i<arr.length;i++){if(datasetId==arr[i]){noDownload=true}}}var elems=this.elm.find("#pinOptions a.clone-button");if(noDownload){elems.hide()}else{elems.show();elems[0].style.display="block";elems[0].style.padding="12px";elems[0].onclick=function(){P.instances.rPins.downloadCSV()}}this.placeName=placeName;this.datasetId=datasetId;this.datasetName=datasetName;this.placeId=placeId;this.vertices=vertices;this.pinCount=pinCount;this.pages=Math.ceil(this.pinCount/this.pageSize);this.datasetType=datasetType;this.pinType=pinType;this.placeTypeId=placeTypeId;this.polysetid=polysetid;P.instances.pagePopUp.show();var self=this;this.elm.find(".pageNav").hide();this.currentPage=0;var label="";if(vertices!=""){var verts=[];vertices=vertices.split("),(");for(var i=0;i<vertices.length;i++){var tmpVert=vertices[i].split(",");tmpVert[0]=parseFloat(tmpVert[0].indexOf("(")==0?tmpVert[0].substr(1,tmpVert[0].length):tmpVert[0]);tmpVert[1]=parseFloat(tmpVert[1].indexOf(")")!=-1?tmpVert[1].substr(0,tmpVert[1].length-1):tmpVert[1]);verts[verts.length]=new PLatLng(tmpVert[0],tmpVert[1])}this.place=new PPolygon(verts)}else if(placeId){this.place=new PPlace(placeId);this.place.typeid=placeTypeId;label=placeName}else if(bounds){this.place=new PPolygon(bounds);label="Current Map View"}this.place.label=placeName;if(polysetid)this.place.polysetid=this.polysetid;label="Click Update List button to show current points on map.";if(!this.hidetitle){this.elm.find("#title").html(datasetName+": <span class='label'>"+label+"</span>")}if(this.pages>1){this.elm.find(".pageNav").show();this.createPageLinks()}this.overlayset=new POverlaySet(datasetId);this.overlayset.limit=this.pageSize;this.overlayset.offset=0;this.overlayset.type=datasetType;this.overlayset.pinType=this.pinType;this.overlayset.noCount=true;if(filters&&filters.length>0){this.overlayset.setFilters(filters)}this.place.getMarkersWithin(this.overlayset,function(markers){self.markers=markers;self.displayTable();self.show(callback);self.currentPage=0})},displayTable:function(){var markers=this.markers;if(markers.length>0){var tableElem=$("<table />");tableElem.attr({id:"pinTable",cellpadding:1,cellspacing:1});tableElem.addClass("chartTable");tableElem.css("width","100%");var thead=$("<thead />");var trHead=$("<tr />");thead.append(trHead);var content="";var tableHeaders=new Array;var tableObject={};var markerPoints={};for(var i=0;i<markers.length;i++){var marker=markers[i];var markername="marker"+i;tableObject[markername]={};tableObject[markername].marker=marker;for(var j=0;j<marker.attributes.length;j++){var attribute=marker.attributes[j];if(jQuery.inArray(attribute.name,tableHeaders)==-1){trHead.append("<th>"+attribute.name+"</th>");tableHeaders.push(attribute.name)}var value="";if(isNumeric(attribute.value)&&attribute.unit){value+=PWebUtil.formatNumber(attribute.value,attribute.unit)}else{value+=attribute.value}tableObject[markername][attribute.name]={};tableObject[markername][attribute.name].value=value}}var tbody=$("<tbody />");for(var mname in tableObject){var tr=$("<tr />");tr[0].marker=tableObject[mname].marker;tr.click(function(){var marker=this.marker;var attributes=marker.attributes;var tabs=PMIdentificationPrinter.printAttributes(attributes,null,marker);map.openInfoWindowTabs(marker.getPoint(),tabs)});for(var j=0;j<tableHeaders.length;j++){var found=false;var column="";for(var aname in tableObject[mname]){if(tableHeaders[j]==aname){var found=true;column="<td>"+tableObject[mname][aname].value+"</td>"}}if(!found){column="<td class='empty'></td>"}tr.append(column)}tbody.append(tr)}tableElem.append(thead);tableElem.append(tbody);var div=$("<div />");div.addClass("scrollTableContainer");var arr=[127750,129150];if(markers.length>0){for(var i=0;i<arr.length;i++){if(markers[0].datasetID==arr[i]){div.addClass("temp-width-fix")}}}div.append(tableElem);this.elm.find("#tableContainer").html(div)}else{this.elm.find("#tableContainer").html("No pins available.")}},downloadCSV:function(){this.overlayset.format="csv";this.overlayset.offset=null;this.overlayset.limit=null;var self=this;this.place.getMarkersWithin(this.overlayset)},changePage:function(pageNum){if(pageNum==null)pageNum=this.pages-1;if(pageNum<this.pages&&pageNum>=0){this.currentPage=pageNum;this.createPageLinks();this.elm.find("#tableContainer").html("<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>");this.elm.find("#tableContainer").append(this.loader);this.overlayset.format="js";this.overlayset.offset=pageNum*this.pageSize;this.overlayset.limit=this.pageSize;var self=this;this.place.getMarkersWithin(this.overlayset,function(markers){self.markers=markers;self.currentPage=pageNum;self.displayTable();self.createPageLinks()})}},createPageLinks:function(){var currentPage=this.currentPage+1;var totalPages=this.pages;var pageNums=[];if(currentPage-1>1)pageNums.push(currentPage-1);if(currentPage>1)pageNums.push(currentPage);if(currentPage+1<totalPages)pageNums.push(currentPage+1);if(this.totalPages>20){var br=Math.ceil(totalPages/6);for(var i=1;i<6;i++){var num=br*i;if(num>currentPage+br/2)pageNums.push(num);else if(num<currentPage-br/2)pageNums.push(num)}}pageNums=pageNums.sort(function(a,b){return a-b});pageNums.unshift(1);if(pageNums[pageNums.length-1]!=totalPages)pageNums.push(totalPages);var pageLinks="";for(var i=0;i<pageNums.length;i++){if(pageNums[i]==currentPage)pageLinks+="<a class='selected'>"+pageNums[i]+"</a> ";else pageLinks+="<a onclick='P.instances.rPins.changePage("+(pageNums[i]-1)+")'>"+pageNums[i]+"</a> ";if(i!=pageNums.length-1&&(pageNums[i]>currentPage||pageNums[i]<currentPage-1))pageLinks+="..."}this.elm.find("#pageNums").html(pageLinks)},show:function(callback){cHeader=this.placeName;selectColumn();P.instances.pagePopUp.changeContent(this.elm,callback)},disableDownloadAndPrint:function(id,placeTypeId,placeId){var arr=[86500,129600,130350];for(var i=0;i<arr.length;i++){if(id==arr[i]&&placeTypeId&&(placeTypeId==6||isCensusTractTypeId(placeTypeId))){return false}else if(arr[i]==id&&(placeTypeId==95||placeTypeId==0)){var bounds=null;if(placeTypeId==0){for(var j=0;j<custom_places.length;j++){if(custom_places[j].id==placeId){bounds=custom_places[j].getBounds();break}}}else{bounds=ppolygon.getBounds()}if(bounds!=null){if(map.setCenterBoundsAndGetZoomLevelByViewPort(bounds,1e3,600)>=11){return false}else{return true}}else{return false}}else if(arr[i]==id){return true}}return false}};CBTaxonomy=function(){this.typeNumeric=1;this.typeCategorical=2;this.tax={explore:{},match:{}}};CBTaxonomy.prototype.setMatchOverrides=function(){if(isCBVersion()){this.tax.match[1].children=[{name:"Commercial",ind:true,type:2,ids:[9901451],levels:[{name:"All Commercial",values:[1,1,0,0,0,0,0,0,0,0,0]},{name:"Commercial (Auto-Oriented)",values:[1,0,0,0,0,0,0,0,0,0,0]},{name:"Commercial Mixed-Use",values:[0,1,0,0,0,0,0,0,0,0,0]}],children:[]},{name:"Industrial",ind:true,type:2,ids:[9901451],levels:[{name:"All Industrial",values:[0,0,1,1,0,0,0,0,0,0,0]},{name:"Industrial (Light, Medium, Heavy, Port)",values:[0,0,1,0,0,0,0,0,0,0,0]},{name:"Industrial Mixed-Use",values:[0,0,0,1,0,0,0,0,0,0,0]}],children:[]},{name:"Residential",ind:true,type:2,ids:[9901451],levels:[{name:"All Residential",values:[0,0,0,0,1,1,1,1,1,0,0]},{name:"Residential Single-Family Attached",values:[0,0,0,0,1,0,0,0,0,0,0]},{name:"Residential Two-Family Attached",values:[0,0,0,0,0,1,0,0,0,0,0]},{name:"Residential Single-Family Detached",values:[0,0,0,0,0,0,1,0,0,0,0]},{name:"Residential Multi-Family",values:[0,0,0,0,0,0,0,1,0,0,0]},{name:"Residential Mixed-Use",values:[0,0,0,0,0,0,0,0,1,0,0]}],children:[]},{name:"Special Purpose",ind:true,type:2,ids:[9901451],levels:[{name:"Parks and Open Space",values:[0,0,0,0,0,0,0,0,0,1,0]},{name:"Airport, Insitutional, Entertainment, Stadium",values:[0,0,0,0,0,0,0,0,0,0,1]}],children:[]}];this.tax.match[2].children[0].levels=[{name:"Residential",values:[1,0,0,0,0,0,0,0,0]},{name:"Commercial",values:[0,1,0,0,0,0,0,0,0]},{name:"Industrial",values:[0,0,1,0,0,0,0,0,0]},{name:"Civic/Institution",values:[0,0,0,1,0,0,0,0,0]},{name:"Culture/Recreation",values:[0,0,0,0,1,0,0,0,0]},{name:"Park/Open Space",values:[0,0,0,0,0,1,0,0,0]},{name:"Transportation",values:[0,0,0,0,0,0,1,0,0]},{name:"Vacant or Other",values:[0,0,0,0,0,0,0,1,0]},{name:"Water",values:[0,0,0,0,0,0,0,0,1]}];this.tax.match[3].children[0].levels=[{name:"Keystone Innovation Zone",values:[1,0]},{name:"Not a Keystone Innovation Zone",values:[0,1]}];this.tax.match[3].children[1].levels=[{name:"ALL Keystone Opportunity Zones",values:[1,1,1,1,0]},{name:"Keystone Opportunity Zone (KOZ)",values:[1,0,0,0,0]},{name:"Keystone Opportunity Expansion Zone (KOEZ)",values:[0,1,0,0,0]},{name:"Keystone Opportunity Improvement Zone (KOIZ)",values:[0,0,1,0,0]},{name:"Strategic Development Area",values:[0,0,0,1,0]},{name:"Not a Keystone Opportunity Zone",values:[0,0,0,0,1]}];for(var i=0;i<this.tax.match[4].children.length;i++){var curInd=this.tax.match[4].children[i];curInd.levels=["Low Access","Moderate Access","High Access"]}this.tax.match[5].children[2].levels=[{name:"Household Diverse",values:[1,0]},{name:"Not Household Diverse",values:[0,1]}];this.tax.match[6].children[4].levels=[{name:"Ethnically Diverse",values:[1,0,0,0,0]},{name:"Asian Pacific Islander (>80%)",values:[0,1,0,0,0]},{name:"Hispanic (>80%)",values:[0,0,1,0,0]},{name:"Non-Hispanic Black (>80%)",values:[0,0,0,1,0]},{name:"Non-Hispanic White (>80%)",values:[0,0,0,0,1]}];this.tax.match[7].children[2].levels=[{name:"Economically Diverse",values:[1,0]},{name:"Not Economically Diverse",values:[0,1]}]}else if(isAWEduction()){this.tax.match[5].children[4].levels=[{name:"White",values:[1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},{name:"African American",values:[0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},{name:"Hispanic",values:[0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},{name:"Asian",values:[0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}]}else if(isAWNeighborhood()){this.tax.match[3].children[4].levels=[{name:"White",values:[1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},{name:"African American",values:[0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},{name:"Hispanic",values:[0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},{name:"Asian",values:[0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}]}};var cbProfileDropdowns;var cbMatchPopup;var cbTaxonomy;var cbLocations;function loadCultureBlocks(){setCloneOptions();if(P.WKPrint.isPrintPage()===true){cb_checkContentLoaded()}if(P.CloneOptions.report_label){$(".generate-report-button").html("Generate "+P.CloneOptions.report_label.toLowerCase())}if(P.CloneOptions.include_map_boundaries){$(".map-options__container").show()}if(P.CloneOptions.show_download_ind_data){$(".legend--indicator__download-button").css("display","block")}session.removeAllRelevant();customizeCBLegendZooms();labelManager=new PLabelManager({zoomOffset:9});cbProfileDropdowns=new CBProfileDropdowns;cbMatchPopup=new CBMatchPopup;autoLogin(function(){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cbc&act=gl",dataType:"json",success:function(response){cbLocations=response.cbc;ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=cbc&act=gt",dataType:"json",success:function(response){cbTaxonomy=new CBTaxonomy;cbTaxonomy.tax={};cbTaxonomy.tax.explore=response.cbc.explore;cbTaxonomy.tax.match=response.cbc.match;ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=tax&act=p",success:function(data){if(data!==undefined&&data.responseCode===200){P.instances.debug.log(P.Debug.DEBUG2,"Pin Taxonomy obtained");pinTaxonomy=new Taxonomy(data.tax.taxonomy,P.constants.TAXONOMY_TYPE_POINTS);var rootNodes=pinTaxonomy.getRootNodes();for(var i in rootNodes){var node=rootNodes[i];pincats[i]=node;pincats[i].pinsets=pinTaxonomy.getAllChildrenOfNodeId(node.node_id)}pincatsType="old"}else{errorPopup(data)}if(cbTaxonomy.tax.match&&cbTaxonomy.tax.match.length>0){cbTaxonomy.setMatchOverrides()}setUpCultureBlocks();P.instances.map.mapOptions.refreshOptions()}})}})}})})}function setCloneOptions(){P.CloneOptions={map_label:productProperty.getValue("cb_map_label"),report_label:productProperty.getValue("cb_report_label"),match_label:productProperty.getValue("cb_match_label"),color_ramp_name:productProperty.getValue("cb_color_ramp_name"),include_explore:productProperty.getValue("cb_include_explore"),include_profile:productProperty.getValue("cb_include_profile"),include_match:productProperty.getValue("cb_include_match"),start_with_pop_up:productProperty.getValue("cb_start_with_pop_up"),analytics_color:productProperty.getValue("cb_analytics_color"),analytics_color_label:productProperty.getValue("cb_analytics_color_label"),custom_region_color:productProperty.getValue("cb_custom_region_color"),map_welcome_text:productProperty.getValue("cb_map_welcome_text"),report_welcome_text:productProperty.getValue("cb_report_welcome_text"),match_welcome_text:productProperty.getValue("cb_match_welcome_text"),report_file_name:productProperty.getValue("cb_report_file_name"),map_menu_text:productProperty.getValue("cb_map_menu_text"),report_menu_text:productProperty.getValue("cb_report_menu_text"),match_menu_text:productProperty.getValue("cb_match_menu_text"),report_boundaries_note:productProperty.getValue("cb_report_boundaries_note"),match_wizard_header:productProperty.getValue("cb_match_wizard_header"),match_wizard_text:productProperty.getValue("cb_match_wizard_text"),include_custom_region_feature:productProperty.getValue("cb_include_custom_region_feature"),include_map_boundaries:productProperty.getValue("cb_include_map_boundaries"),max_zoom:productProperty.getValue("max_zoom"),show_download_ind_data:productProperty.getValue("cb_show_download_ind_data"),boundary_color:productProperty.getValue("cb_boundary_color"),report_limit_boundary_id:productProperty.getValue("cb_report_limit_boundary_id"),button_color:productProperty.getValue("cb_button_color"),button_hover_color:productProperty.getValue("cb_button_hover_color"),search_string_addon:productProperty.getValue("cb_search_string_addon"),search_button_color:productProperty.getValue("cb_search_button_color"),search_button_hover_color:productProperty.getValue("cb_search_button_color_hover"),custom_font_color:productProperty.getValue("cb_custom_font_color"),source_link_constant:productProperty.getValue("cb_source_link_constant"),match_run_label:productProperty.getValue("cb_match_run_label"),report_latest_vintage_only:productProperty.getValue("cb_report_latest_vintage_only"),boundary_button_text:productProperty.getValue("cb_boundary_button_text")};
if(P.CloneOptions.report_limit_boundary_id&&P.CloneOptions.report_limit_boundary_id.length>0){P.CloneOptions.report_limit_boundary_id=P.CloneOptions.report_limit_boundary_id[0]}var cloneStyles="";if(P.CloneOptions.custom_font_color){cloneStyles+=".clone-custom-color, .clone-nav-tab.on, body.cb-clone .menu-column li.on { color: #"+P.CloneOptions.custom_font_color+" !important; }"+".clone-custom-button { background: #"+P.CloneOptions.custom_font_color+" !important; } "+".clone-custom-button:hover { background: #"+P.CloneOptions.custom_font_color+" !important; } "}if(P.CloneOptions.button_color){cloneStyles+=".clone-nav-tab.on { border-color: #"+P.CloneOptions.button_color+" !important; } "}if(P.CloneOptions.button_hover_color){cloneStyles+=".clone-button:hover { background-color: #"+P.CloneOptions.button_hover_color+" !important; }"}if(P.CloneOptions.search_button_color){cloneStyles+=".search-form-holder .search-form button { background-color: #"+P.CloneOptions.search_button_color+" !important; }"}if(P.CloneOptions.search_button_hover_color){cloneStyles+=".search-form-holder .search-form button:hover { background-color: #"+P.CloneOptions.search_button_hover_color+" !important; }"}$("<style>").text(cloneStyles).appendTo("head");if(P.CloneOptions.boundary_color){polycolor="#"+P.CloneOptions.boundary_color}}function setUpCultureBlocks(){var params=getUrlParams();if(P.WKPrint.isPrintPage()===true){$("head").append('<link rel="stylesheet" href="/cssPrint/culture_blocks.css" type="text/css" />')}session.checkUrl();mapsOnReadyCB();map.getLegend().setNumberOfBreaks(5);var n=P.CloneOptions.color_ramp_name;if(n){map.getLegend().setColorRamp(PColorRampOptions[n].ramp)}PEvent.addListener(map,"removeindicator",function(){$("#legend").css({top:"auto",left:"auto"});if(map.getInfoWindow()){map.closeInfoWindow()}});if(productProperty.exists("cb_boundary_button_text")){var text=productProperty.getValue("cb_boundary_button_text");$("#cb-content > div.nav-title-container > div.map-options__container > button").html(text);if(text.length>"Boundaries".length){var newwidth=72+(text.length-"Boundaries".length)*6;$("#cb-content > div.nav-title-container > div.map-options__container > button").width(newwidth)}}if(P.WKPrint.isPrintPage()===true){setUpCultureBlocksPrint(params)}}function getProfileReportUrl(place){if(isCSIVersion()){var url="/files/csi/CSI_Report_"+place.id+".pdf";return url}var url="/report.html?";if(place.ctypeid){url+="areaType=custom&cpid="+place.id}else{url+="areaType=predefined&pid="+place.id}return url}function updateLegendsPositioning(){var cont=$("#map-legends-container");var height=cont.height();var p=$("#map").position();$("#map-legends-container").css({top:p.top,left:p.left+20})}function clearCultureBlocksMap(){var layers=pMapLayer.nonCategorizedLayers;for(var i=0;i<layers.length;i++){var l=layers[i];if(l.on!=true){pMapLayer[l.constant].off();if(l.label_constant&&pMapLayer[l.label_constant]){pMapLayer[l.label_constant].off()}}}P.instances.map.mapOptions.populate();map.cbtypes.fullClearOfCurrentMap()}function screenGrabCultureBlocksPrint(){var element=document.createElement("ScreengrabElement");document.documentElement.appendChild(element);var evt=document.createEvent("Events");evt.initEvent("ScreengrabEvent",true,false);element.dispatchEvent(evt)}function printCultureBlocks(){var filename="";if(isCSIVersion()){filename="KnowYourNeighborhood"}else if(isWPVersion()){filename="Childcare "}else if(isAWVersion()){if(productProperty.getValue("name")=="ArtsWave_Neighborhood"){filename="Neighborhood Tool "}else{filename="Arts and Education Tool "}}else if(isLLVersion()){filename="Lincoln Institute of Land Policy "}else{filename="CultureBlocks "}P.instances.wkprint.setPrintCallback(handleNotificationPrint);if(PEnvironment.pageName=="report"){filename+="Report -";P.instances.wkprint.setFileName(filename,true);P.instances.wkprint.setOrientation(P.WKPrint.PORTRAIT);P.instances.wkprint.printThisPage()}else{filename+="Map -";P.instances.wkprint.setFileName(filename,true);var params=map.cbtypes.getPrintParams();var u=document.URL+params;P.instances.wkprint.setOrientation(P.WKPrint.LANDSCAPE);P.instances.wkprint.setUrl(u);P.instances.wkprint.print()}}function setUpCultureBlocksPrint(params){map.cbtypes.inPrintMode=true;var types=map.cbtypes.types;var type=map.cbtypes.getTypeByName(params["cbtype"]);map.cbtypes.selectType(type);var params=getUrlParams();if(params["cp"]){polycreator.load(params["cp"],function(places){for(var i=0;i<places.length;i++){var place=places[i];place.fill=1;if(P.CloneOptions.custom_region_color){place.color="#"+P.CloneOptions.custom_region_color}polycreator.setUpPlaceAndPolylines(place,map,true)}})}if(params["o"]){var icons=params["icons"];if(icons){var sets=icons.split(";");map.storedSetIcons={};for(var i=0;i<sets.length;i++){var set=sets[i].split(":");map.storedSetIcons[set[0]]=PinIcons[set[1]]}}PEvent.addListener(map,"setoverlaysets",function(){var setids=params["o"].split(",");if(setids&&setids.length>0){for(var i=0;i<setids.length;i++){var labelset=params["o"+i];if(setids[i]==labelset){labelManager.showLabelSet(setids[i],"old");$("#label"+setids[i]).click()}}}if(params["iwtype"]&&params["iwtype"]=="identify"){showInfoWindowFromUrl(params)}});getOverlaySetsFromSession()}if(type==types.EX||type==types.PR){if(params["i"]){selectIndicatorsCB([params["i"]])}}else if(type==types.MA){$(".maptitlebox_holder").hide();$("head").append('<link rel="stylesheet" href="/cssPrint/culture_blocks_match.css" type="text/css" />');var legends=$(".analytics-legend");if(params["m0i"]){selectIndicatorsCB.call({prefLegend:0},params["m0i"])}else{$(legends[0]).hide()}if(params["m1i"]){selectIndicatorsCB.call({prefLegend:1},params["m1i"])}else{$(legends[1]).hide()}if(params["m2i"]){selectIndicatorsCB.call({prefLegend:2},params["m2i"])}else{$(legends[2]).hide()}}else if(type==types.PR){}}function mapsOnReadyCB(){mapsPageLoaderCB();analyticsMapLoaderCB();var opts=P.CloneOptions;opts.map=map;if(!cbTaxonomy.tax.match||cbTaxonomy.tax.match.length==0){opts.include_match=false}map.cbtypes=new CBMapPageTypes(opts);cbProfileDropdowns.initializeAllDropdowns()}function initCBSearchBox(options){var f=function(places){var html=null;if(places instanceof PAddress){if(places.wasFound()){session.put("place",places.addr);session.put("lng",places.x);session.put("lat",places.y);html=""+places.addr+"<br /><br />";addMarkerWindow(html,new PLatLng(places.y,places.x),5);cbProfileDropdowns.resetAllDropdowns()}else{var content="Address cannot be found. This address either is not correct or cannot be found in Philadelphia.";alerter.popup(content,"OK")}}else{var l=places.length;var full=places;places=[];var p;for(var i=0;i<l;i++){p=full[i];if(p.country=="United States"){places.push(p)}}if(places.length==0){alerter.popup('Location "<b>'+search.getSearchString()+'</b>" not found.',"OK")}else{var html=createPlacesDivCB(places,search.getSearchString());addMarkerWindow(html,places[0]);session.put("p",places[0].id);cbProfileDropdowns.resetAllDropdowns()}}};var options={responseEvent:f};initializeSearchForm(options)}function selectIndicatorsCB(){var inds=arguments;var ind0=arguments[0];var fromlist=true;var indarr=[ind0];var selected=0;if(PEnvironment.pageName=="analytics"){var disableList=[];if(jQuery.inArray(ind0[0],disableList)>=0){allowSelect=false;unsupportedIndicator()}else{allowSelect=true;var legendIndex=legendMerger.addIndicator(_.first(indarr,3),selected,fromlist,this.prefLegend);session.put("m"+legendIndex+"i",ind0);updateTitle(0);if(typeof wiz!="undefined"&&wiz!=null)wiz.next();closeCubeWindow()}}else{session.put("i",ind0);widget.setIndicatorListByIds(indarr,selected,fromlist);closeCubeWindow()}}function createPlacesDivCB(candidatePlaces,searchString,cbProfileLocation){var places=[];if(searchString){for(var i=0;i<candidatePlaces.length;++i){if(candidatePlaces[i].getLabel().toLowerCase().indexOf(searchString.toLowerCase())==0){places.push(candidatePlaces[i])}}for(var i=0;i<candidatePlaces.length;++i){if(candidatePlaces[i].getLabel().toLowerCase().indexOf(searchString.toLowerCase())!=0){places.push(candidatePlaces[i])}}}else{places=candidatePlaces}var l=similarClicks.length;for(var i=0;i<l;i++)PEvent.removeListener(similarClicks[i]);similarClicks=[];html=document.createElement("div");html.className="similarresults";var title=document.createElement("div");title.innerHTML=places[0].getLabel()+" ("+places[0].getType().getName()+")";html.appendChild(title);if(cbProfileLocation||P.instances.map.cbtypes.getCurrentType().name=="PR"){var attachGetProfile=false;if(P.CloneOptions.report_latest_vintage_only){var allDefs=boundaryMatrix.getAllBoundaryDefinitionsForTypeId(places[0].getType().getId());if(allDefs.length>0){allDefs=_.sortBy(allDefs,"displayYear");if(places[0].getDefinitionId()==allDefs[allDefs.length-1].boundaryDefinitionId){attachGetProfile=true}}}else{attachGetProfile=true}if(attachGetProfile){var buttonContainer=getCBGetProfileButton(places[0],cbProfileLocation);if(buttonContainer){html.appendChild(buttonContainer)}}}if(places.length>1){var similar=document.createElement("div");similar.innerHTML="<br><b>Similar Results:</b><br>";html.appendChild(similar);for(var i=1;i<places.length;i++){var placelink=document.createElement("span");placelink.className="similarlinks";placelink.style.color="#5D83D0";placelink.textDecoration="underline";placelink.innerHTML=places[i].getLabel()+getState(places[i])+" ("+places[i].getType().getName()+")";placelink.place=places[i];similarClicks.push(PEvent.addListener(placelink,"mouseup",function(){selectLoadedPlace(this.place,true)}));html.appendChild(placelink);html.appendChild(document.createElement("br"))}}map.saveInfoWindow=true;map.infoWindowType="place";return html}function getCBGetProfileButton(place,cbProfileLocation){if(!P.CloneOptions.include_profile){return null}var buttonContainer=document.createElement("div");buttonContainer.className="infoBubbleGetProfile";var button=document.createElement("a");button.id="getProfileButton";button.className="on clone-custom-button";button.innerHTML="Get "+P.CloneOptions.report_label;if(isCSIVersion()){var arr=[3578951,3578963,3578977,3579088,3579092,3579012];var noReport=false;for(var i=0;i<arr.length;i++){if(arr[i]==place.id){noReport=true;var f=function(){var t="No Neighborhood Report Card available at this time.  The neighborhood selected has insufficient data";alerter.popup(t,"OK")};$(button).click(f)}}if(noReport){buttonContainer.appendChild(button);return buttonContainer}}if(cbProfileLocation){button.target="_blank";button.href=getProfileReportUrl(place);buttonContainer.appendChild(button)}else if(!isCSIVersion()){var type=place.getType();var addButton=true;var arr=[PPlaceType.CB_ZONING,PPlaceType.CB_KOZ,PPlaceType.CB_KIZ,PPlaceType.CB_LANDUSE];for(var i=0;i<arr.length;i++){if(type==arr[i]){addButton=false}}if(addButton){if(P.CloneOptions.report_limit_boundary_id){$(buttonContainer).css({visibility:"hidden"});buttonContainer.appendChild(button);place.getAggregates(PPlaceType.COUNTY,2,null,function(counties){if(counties.length==1&&counties[0].id==P.CloneOptions.report_limit_boundary_id){button.target="_blank";button.href=getProfileReportUrl(place)}else{$(button).click(notInPhiladelphiaAlert)}$(buttonContainer).css({visibility:"visible"})})}else{button.target="_blank";button.href=getProfileReportUrl(place);buttonContainer.appendChild(button)}}}return buttonContainer}function selectPlaceCB(geo_boundary_id,overrideZoomWarning,cbProfileLocation,cbHideMapBoundary){if(allowSelect!=false){placeLoader.load([geo_boundary_id],function(place){if(place.length>0){selectLoadedPlaceCB(place[0],overrideZoomWarning,cbProfileLocation,cbHideMapBoundary)}})}}function selectLoadedPlaceCB(place,overrideZoomWarning,cbProfileLocation,cbHideMapBoundary){if(allowSelect!=false){var geo_boundary_id=place.getID();if(PEnvironment.pageName=="tables"){if(window.chart){addPlaceType(geo_boundary_id);session.put("p",geo_boundary_id)}}else if(PEnvironment.pageName=="citi-reports"){addPlaceToCitiMap([place])}else{if(window.map){if(PEnvironment.pageName=="widget"&&textOnlyIsOn){textOnlyLoadPlace([place])}var curZoom=map.getZoom();if(!overrideZoomWarning){widget.refresh();var text="This data layer is specific to <b>"+place.getLabel()+", "+place.getState()+"</b>.<br /><br />Do you wish to recenter the map over this location, or remain at the current position at the current zoom level?";var yes=function(){var html=createPlacesDivCB([place],null,cbProfileLocation);addMarkerWindow(html,place,null,null,cbHideMapBoundary);session.put("p",geo_boundary_id)};alerter.popup(text,"Stay","Recenter",yes)}else{var html=createPlacesDivCB([place],null,cbProfileLocation);addMarkerWindow(html,place,null,null,cbHideMapBoundary);session.put("p",geo_boundary_id)}if(!cbProfileLocation){cbProfileDropdowns.resetAllDropdowns()}}}}}function clearMapDataCB(){var indid=map.getIndicator().id;$("#"+indid).removeClass("on");widget.clear();map.removeIndicator()}function getSiteListHtmlCB(set,place){var html='<div id="sites-list">'+'<div id="tableContainer" class="table-container">'+'<div id="chartContainer" class="chartContainer">'+'<div id="popup" class="popup alertList">'+'<div id="reportPins" class="reportPlaces">'+'<div class="title" align="left" id="title"></div>'+'<div id="tableContainer"><span style="color:#ccc;font-style:italic">Loading...</span></div>'+'<div class="pageNav" onselectstart="return false;" style="display:block;">'+'<div class="pageLinks" onclick="P.instances.rPins.changePage(0);">'+'<div class="button first"></div>'+'<div class="flt">First</div>'+"</div>"+'<div class="pageLinks" onclick="P.instances.rPins.changePage(P.instances.rPins.currentPage-1);">'+'<div class="button prev"></div>'+'<div class="flt">Prev</div>'+"</div>"+'<div class="flt">Page</div>'+'<div class="pageLinks" id="pageNums"></div>'+'<div class="pageLinks" onclick="P.instances.rPins.changePage(P.instances.rPins.currentPage+1);">'+'<div class="flt">Next</div>'+'<div class="button next"></div>'+"</div>"+'<div class="pageLinks" onclick="P.instances.rPins.changePage();">'+'<div class="flt">Last</div>'+'<div class="button last"></div>'+"</div>"+"</div>"+'<div class="buttons noPrint" id="pinOptions">'+'<a class="clone-button" onclick="P.instances.rPins.downloadCSV()"><span>Export to Excel</span></a>'+"</div>"+"</div>"+"</div>"+"</div>"+"</div>"+"</div>";return html}function addSitesCB(mapobj,set){if(set==null){return}if(set!=null){mapobj.addOverlaySet(set);if(isCultureBlocksSubwayDataset(set)){setDefaultSubwayFilters(set)}}for(var i=0;i<set.children.length>0;i++){var s=createSites(mapobj,getOverlaySetByIdAndType(set.children[i].id,set.children[i].type));addSites(mapobj,s)}labelManager.updateMapLabels()}function addDetailsButtonCB(){$("#morelink").show();if($("#morelink").hasClass("on")){$("#morelink").html("close")}else{$("#morelink").html("details")}}function updateDetailsButtonCB(isOn){if(isOn){$("#morelink").html("close")}else{$("#morelink").html("details")}}function isCBVersion(){return productProperty.getValue("site_prefix")=="cb"}function isCSIVersion(){return productProperty.getValue("site_prefix")=="csi"}function isWPVersion(){return productProperty.getValue("site_prefix")=="wp"}function isLLVersion(){return productProperty.getValue("site_prefix")=="nationsland-lincoln"}function isAWVersion(){return isAWNeighborhood()||isAWEduction()}function isAWEduction(){return productProperty.getValue("site_prefix")=="artswaveatlas-artseducationtool"}function isAWNeighborhood(){return productProperty.getValue("site_prefix")=="artswaveatlas-neighborhoodtool"}function isCSIorWPVersion(){return isCSIVersion()||isWPVersion()}function isCBClone(){return isCBVersion()||isCSIVersion()||isWPVersion()||isAWVersion()||isLLVersion()}function setUpNeighborhoodLayerCB(){var bounds=pMapLayer.CSI_NHOOD;var labels=pMapLayer.CSI_NHOOD_LABEL;PMapType.DEFAULT.addMapLayer(bounds,13);PMapType.DEFAULT.addMapLayer(labels)}function toggleMapLayerCB(elem,l){var layer=pMapLayer[l.name]||pMapLayer[l.constant];var labels=pMapLayer.mapLayerLabels[l.name]||pMapLayer.mapLayerLabels[l.constant];if(elem.checked){layer.on();if(labels){labels.on()}layer.onFromMapBoundaries=true;labels.onFromMapBoundaries=true}else{layer.off();if(labels){labels.off()}}}function toggleNeighborhoodMapLayerCSI(elem){if(elem.checked){pMapLayer.CSI_NHOOD.on();pMapLayer.CSI_NHOOD_LABEL.on()}else{pMapLayer.CSI_NHOOD.off();pMapLayer.CSI_NHOOD_LABEL.off()}}function customizeCBLegendZooms(){if(isCBVersion()||isCSIVersion()||isWPVersion()){PPlaceTypeConfig.PLEGEND=new PPlaceTypeConfig;PPlaceTypeConfig.PLEGEND.zooms=[];PPlaceTypeConfig.PLEGEND.zooms[0]=[PPlaceType.BLOCKGROUP,PPlaceType.CENSUSTRACT,PPlaceType.PHILA_MVA_2011,PPlaceType.MILW_MVA_2011,PPlaceType.COMMUTING_ZONES,PPlaceType.CB_KOZ,PPlaceType.CB_KIZ];PPlaceTypeConfig.PLEGEND.zooms[4]=[PPlaceType.CB_ZONING,PPlaceType.CB_LANDUSE]}else if(isAWVersion()){PPlaceTypeConfig.PLEGEND=new PPlaceTypeConfig;PPlaceTypeConfig.PLEGEND.zooms=[];PPlaceTypeConfig.PLEGEND.zooms[0]=[PPlaceType.BLOCKGROUP,PPlaceType.CENSUSTRACT,PPlaceType.AW_NEIGHBORHOOD,PPlaceType.COUNTY_SUBDIVISION,PPlaceType.ZIP,PPlaceType.SCHOOL,PPlaceType.CONGRESSIONAL,PPlaceType.CITY,PPlaceType.SLD_LOWER,PPlaceType.SLD_UPPER,PPlaceType.COUNTY,PPlaceType.MD,PPlaceType.CBSA,PPlaceType.STATE];PPlaceTypeConfig.PLEGEND.zooms[4]=[PPlaceType.CB_ZONING,PPlaceType.CB_LANDUSE]}}function notInPhiladelphiaAlert(){var text="Reports are only available within Philadelphia.";var alerter=new PAlerter;alerter.popup(text,null,null,"OK")}function toggleIndicatorDescriptionCB(){var more=document.getElementById("moretitle");var morelink=document.getElementById("morelink");if(!$(morelink).hasClass("on")){var ind=map.getIndicator();more.innerHTML=ind.getDescription();var sources=ind.getSources();if(P.CloneOptions.source_link_constant){more.innerHTML+=" <a class='dataLink' target='_blank' href='"+P.CloneOptions.source_link_constant+"'>(see data directory)</a>"}else if(sources.length>1){more.innerHTML+=" (See data directory for "+ind.getSourceList(true)+".)"}else if(sources.length==1){var sourceURL=ind.getSourceURL(sources[0]);if(sourceURL!=null){more.innerHTML+=" <a class='dataLink' target='_blank' href='"+sourceURL+"'>(see data directory)</a>"}}jQuery("#moretitle").show(200);jQuery("#moretitle").fadeIn(200);updateDetailsButton(true)}else{jQuery("#moretitle").hide(200);updateDetailsButton()}$(morelink).toggleClass("on")}function matchMenuLegendUpdate(){var $legTitles=$(".legend.legend--analytics").find(".legend__title");var $menuTitles=$(".match-layer-selected-container-expanded");$menuTitles.each(function(i){$(this).html($($legTitles[i]).clone(true,true));$(this).find(".select-layer").addClass("clone-custom-button")})}function checkValueForNull(val){if(val==null||val=="N/A"){return 0}else{return val}}function getCloneAttribute(a){return P.CloneOptions[a]}function isCustomRegionOnForClones(){var v=false;var c=$(".custom-location-modal-container");if(c.find(".modal:visible").length>0){v=true}return v}function cb_restoreElementStatus(){$("div.report-download-button").hide();$("body").css("background-color","white");if(PEnvironment.pageName=="maps"){var tmp=$(".content__header__additional-info__content p").html();if(tmp.length>600){$("body.cb-clone > div.top-container").css("min-height","125px");$("body.cb-clone #map").height("690px");$("body.cb-clone .map-and-legends").height("690px");$("body.cb-clone #cb-content .map").css("min-height",0);$("body.cb-clone #toolmap-copyrights").css("margin-top","10px")}}else if(PEnvironment.pageName=="report"){$("body.cb-clone div.top-container").remove()}}function cb_checkContentLoaded(){if(!(P.WKPrint.isPrintPage()===true)){return}if(cb_isContentLoaded()){if(typeof cb_restoreElementStatus=="function"){try{cb_restoreElementStatus()}catch(e){console.log(e)}}P.instances.wkprint.removeAction("onLoad")}else{setTimeout(function(){cb_checkContentLoaded()},1e3)}}function cb_isContentLoaded(){if(PEnvironment.pageName=="report"){console.log("inside isContentLoaded() PEnvironment.pageName is report");if(isAWVersion()){var mapimagecount=$("#merged").find("img").length;var chart1count=$("#chart1").find("canvas").length;var chart2count=$("#chart2").find("canvas").length;var chart3count=$("#chart3").find("canvas").length;var chart4count=$("#chart4").find("canvas").length;if(mapimagecount>=20&&chart1count>=1&&chart2count>=1&&chart3count>=1&&chart4count>=1){return true}}else if(isWPVersion()){var mapimagecount=$("#merged").find("img").length;var chart1count=$("#wp-childcare-pie1").find("canvas").length;var chart2count=$("#wp-childcare-pie2").find("canvas").length;var chart3count=$("#age-chart").find("canvas").length;if(mapimagecount>=20&&chart1count>=1&&chart2count>=1&&chart3count>=1){return true}}else if(isCBVersion()){var mapimagecount=$("#merged").find("img").length;var chart1count=$("#chart1").find("canvas").length;var chart2count=$("#chart2").find("canvas").length;var chart3count=$("#chart3").find("canvas").length;var chart4count=$("#chart4").find("canvas").length;if(mapimagecount>=20&&chart1count>=1&&chart2count>=1&&chart3count>=1&&chart4count>=1){return true}}}else if(PEnvironment.pageName=="maps"){if(isWPVersion()||isCBVersion()||isAWVersion()){console.log("inside isContentLoaded() the number of images present is "+$("#merged").find("img").length);var mapimagecount=$("#merged").find("img").length;if(mapimagecount>=48){return true}}else{console.log("inside isContentLoaded() the number of images present is "+$("#merged").find("img").length);var mapimagecount=$("#merged").find("img").length;if(mapimagecount>=30){return true}}}else if(PEnvironment.pageName=="analytics"){if(isCBVersion()||isAWVersion()){var mapimagecount=$("#merged").find("img").length;if($("body.cb-clone .nav-title-container").width()>=1900){console.log("inside isContentLoaded() the number of images present is "+$("#merged").find("img").length);if(mapimagecount>=80){return true}console.log("inside isContentLoaded() the number of images present is "+$("#merged").find("img").length)}else{if(mapimagecount>=40){return true}}}}return false}function showCloneCustomRegionInfoBubble(point){var $button=$(".generate-report-button").first().clone(true);var $d=$("<div />");$d.append("<br />");$d.append($button);P.instances.map.openInfoWindow(point,$d[0])}function mapsPageLoaderCB(){var slideComplete={complete:function(){$(window).resize()}};function resetMap(){P.instances.map.mapOptions.setToDefault();P.instances.map.getLegend().setNumberOfBreaks(DEFAULT_NUMBREAKS);if(widget){widget.clear()}clearLocation();if(polyCreator){polyCreator.reset();if(polyCreator.dropdown){polyCreator.dropdown.reset()}if(polyCreator.isBuildOn()){toggleCustomRegion()}}P.instances.map.clearOverlays();P.instances.map.clearOverlaySets();if(datasetSearch!=null){datasetSearch.reset()}if(P.instances.map.getInfoWindow()){P.instances.map.closeInfoWindow()}session.remove("curZoom");session.remove("curLat");session.remove("curLng");session.removeAllRelevant();P.constants.initialLoad=true;var opts=P.CloneOptions;P.instances.map.setCenter(new PLatLng(getDefaultMapLat(),getDefaultMapLng()),getDefaultMapZoom());resizeMapContainer();$window.trigger(P.events.MAP_RESET)}function resizeMapContainer(){$mapContainer.css("height",$window.height()-$mapContainer.offset().top-$(".content__footer").height());P.instances.map.kamap.resize();if(P.instances.map!==undefined&&P.instances.map.kamap!==undefined){if(P.constants.initialLoad==true){P.constants.initialLoad=false;var opts=P.CloneOptions;initializeMapLocation(opts)}}trfLegendBreaks.adjustMaxHeight();$window.trigger(P.events.MAP_RESIZED)}function initializeGlobals(){if(P.CloneOptions.max_zoom){P_SCALES_DEFAULT=P_SCALES_NORMAL.slice(P_SCALES_NORMAL.length-P.CloneOptions.max_zoom,P_SCALES_NORMAL.length);PMapType.DEFAULT.setScales(P_SCALES_DEFAULT)}P.instances.wkprint.setOrientation(P.WKPrint.LANDSCAPE);map=new PMap(document.getElementById("map"));map.getLegend().setNumberOfBreaks(DEFAULT_NUMBREAKS);P.instances.map.mapOptions=new TrfMapBoundaries($(".map-boundaries-menu"));P.instances.map.addControl(new PLargeMapControl);P.instances.map.enableDoubleClickZoom();P.instances.map.enableScrollWheelZoom();P.instances.map.disableKeyboard();map.sid=PEnvironment.productId;$("#map").append($("#working_spinner"));printTemplate="PolicyMapMapPage";pmToolbar=new Toolbar;pmToolbar.disable("download","(Coming Soon)")}function updateMapTitleAndLegendHeader(indicator){if(indicator&&typeof indicator==="object"){var label=indicator.getFullLabel();var more=indicator.getDescription();var sources=indicator.getSources();$mapTitle.find(".title").text(label);$indicatorLegend.find(".legend__title__content").text(indicator.displayName);$indicatorLegend.find(".legend__title").show();$indicatorLegend.find(".legend__title__source").show();if(sources.length>1){more+=" (See data directory for "+indicator.getSourceList(true)+".)"}else if(sources.length===1){var sourceURL=indicator.getSourceURL(sources[0]);if(sourceURL!==null){more+=" <a class='dataLink' target='_blank' href='"+sourceURL+"'>(see data directory)</a>"}if(!sources[0].display||!sources[0].name){$indicatorLegend.find(".legend__title__source").hide()}}$(".content__header__additional-info__content p").html(more);$mapTitle.slideDown(slideComplete)}else{hideContentHeader()}if(P.WKPrint.isPrintPage()===true){var $desc=$(".content__header__additional-info__content");if($desc.length>0){$desc.show();if(PEnvironment.pageName=="maps"){if($("div.search-form-holder").length){$("div.search-form-holder").hide();$("div.header-opts").hide();var title=$("div.title").first().html();$("div.nav-title-container").hide();$("div.logo").after('<div id="titleprint">'+title+"</div>");$desc.insertAfter($("#titleprint"))}}else{$desc.insertAfter($desc.parent())}}}}function updateMapPosition(indicator){var center,zoom;if(session.get("place")&&session.get("lng")&&session.get("lat")&&session.get("zoom")){center=new PLatLng(session.get("lat"),session.get("lng"));zoom=session.get("zoom")}else{center=P.instances.map.getCenter();zoom=P.instances.map.getZoom()}var mo=P.instances.map.mapOptions;if(mo){mo.setShowCurrentElement();if(mo.isCurrentOn()){mo.showLayerForCurrentView()}}mapstates.add(new PMapState(center,zoom,indicator,null,mapstates.currentplace,session.get("place")),prevmaps)}function initializeLegend(){indicatorLegend=widget=new PTRFIndicatorLegend(map,P.instances.map.getLegend(),{enableToggle:true,enableShade:true,enableBreaks:true});indicatorBreaks=indicatorLegend.getIndicatorBreaks();indToggle=indicatorLegend.getIndicatorToggle();legendContainer=new PLegendContainer($indicatorLegend);indicatorLegend.addListener("refresh",legendContainer.show,legendContainer);indicatorLegend.addListener("clear",legendContainer.hide,legendContainer);indicatorLegend.addListener("changed",updateMapTitleAndLegendHeader);trfLegendIndicators=new TrfLegendIndicators($indicatorLegend);indToggle.addListener("refresh",trfLegendIndicators.refresh,trfLegendIndicators);indToggle.addListener("clear",trfLegendIndicators.clear,trfLegendIndicators);trfLegendBreaks=new TrfLegendBreaks($(".legend__breakdown"),$("#legend__shading__ranges"));indicatorBreaks.addListener("refresh",trfLegendBreaks.refresh,trfLegendBreaks);indicatorBreaks.addListener("clear",trfLegendBreaks.clear,trfLegendBreaks);trfLegendShadeBy=new TrfLegendShadeBy($("#legend__shading__shaded-by"),$(".legend__title__source__content"),$("#legend__shading__ranges"));indicatorShade=indicatorLegend.getIndicatorShade();indicatorShade.addListener("refresh",trfLegendShadeBy.update,trfLegendShadeBy);indicatorShade.addListener("clear",trfLegendShadeBy.clear,trfLegendShadeBy);trfLegendShadeBy.addListener("change",indicatorShade.changeShade,indicatorShade);legendContainer.init();map.addListener("setindicator",function(indicator){updateLegendPositionOnMap();P.instances.map.getLegend().clearStoredScale();if(indicator.breakid==P_BREAKTYPE_EXACT_VALUE_ID||indicator.breakid==P_BREAKTYPE_EXACT_VALUE_CUSTOM_ID){trfLegendBreaks.disableColorEditToggle()}else{trfLegendBreaks.enableColorEditToggle();trfLegendBreaks.enableRangesEditToggle()}})}function intializeCustomRegions(){polygonOptions=new PPolyCreatorOptions;polygonOptions.poly.weight=4;polygonOptions.poly.opacity=.9;var c=null;if(P.CloneOptions.custom_region_color){var c="#"+P.CloneOptions.custom_region_color}polygonOptions.poly.color=c;polygonOptions.poly.fill=c;polygonOptions.line.color=c;polyCreator=polycreator=new PPolyCreator(polygonOptions);polyCreator.boundaryWidget=new PPolyCreatorBoundaryWidget(polyCreator);polyCreator.circleWidget=new PPolyCreatorCircleWidgetCB(polyCreator,$(".radius-modal"));polyCreator.assembleInfoWidget=new PPolyCreatorAssembleInfoWidget(polyCreator);polyCreator.drawWidget=new PPolyCreatorDrawWidgetCB(polyCreator,$(".draw-modal"))}P.constants.initialLoad=true;var $mapContainer=$("#map");var $window=$(window);var $indicatorLegend=$(".legend--indicator");var $mapHeaderToggle=$(".content__header__additional-info__toggle");var $mapTitle=$(".content__header");var indicatorLegend;var indicatorBreaks;var indToggle;var legendContainer;var trfLegendIndicators;var trfLegendBreaks;var trfLegendShadeBy;var indicatorShade;var debug=new P.Debug;debug.override("MPL");var polygonOptions;var polyCreator;var trfCustomRegions;var dataPointsLegend;initializeSearchForm();initializeGlobals();dataPointsLegend=new TrfDataPointsLegend($("#data-points-legend"),map);initializeLegend();resizeMapContainer();intializeCustomRegions();$window.resize(resizeMapContainer);$window.on(P.events.MAP_CHECK_RESIZE,resizeMapContainer);var c=$("#map");$(".legend").draggable({containment:c,handle:"h2, .legend__content",cancel:".chosen-drop, input, .no-drag",scroll:false,stack:"#map, .legend, #theInsideLayer",zIndex:Strata.OVER_MAP0,drag:function(){if($(this).position().left!==0){$(this).removeClass("legend--docked")}$(this).css("height","auto")}});$mapHeaderToggle.click(toggleMapTitleAdditionalInfo);$(".content__header .title").click(toggleMapTitleAdditionalInfo);function toggleMapTitleAdditionalInfo(){if($mapHeaderToggle.hasClass("is-maximized")){$mapHeaderToggle.removeClass("is-maximized");$(".content__header__additional-info__content").slideUp()}else{$mapHeaderToggle.addClass("is-maximized");$(".content__header__additional-info__content").slideDown()}}$(".content__header__additional-info__close").click(function(){$mapHeaderToggle.removeClass("is-maximized");$(".content__header__additional-info__content").slideUp()});$(".legend__indicators select").chosen({disable_search_threshold:15,width:"142px"});$(".content__header__close-icon").click(function(){clearMapData();session.remove("i")});$(".map-options__reset").click(resetMapAlert);$(".map-options__clear-location").click(function(event){event.preventDefault();clearLocationAlert()});$(map).bind("dragend",function(){$(".content__breadcrumbs").html("stuff")});widget.addListener("clear",hideContentHeader,this);PEvent.addListener(map,"click",function(overlay,point){debug.log(P.Debug.DEBUG,point);PMIdentificationModule.clickHandler(overlay,point)});PEvent.addListener(map,"dblclick",function(){P.instances.map.cancelIdentify=true;P.instances.map.closeInfoWindow()});PEvent.addListener(polyCreator,"addpoly",function(points){polycreator.finishCBRegion(points[0])});PEvent.addListener(polyCreator,"savepoly",function(places){polyCreator.addSavedPoly(places)});PEvent.addListener(map,"setindicator",function(){var indicator=P.instances.map.getIndicator();updateMapTitleAndLegendHeader(indicator);updateMapPosition(indicator);$window.resize()});PEvent.addListener(map,"removeindicator",function(){updateLegendPositionOnMap();$(".content__header").hide("slow")});function hideContentHeader(){$(".content__header").slideUp(slideComplete)}PEvent.addListener(P.instances.map,"moveend",function(){session.put("curLat",P.instances.map.getCenter().lat());session.put("curLng",P.instances.map.getCenter().lng());session.put("curZoom",P.instances.map.getZoom());labelManager.updateMapLabels();
navteqCounter()});PEvent.addListener(P.instances.map,"zoomend",function(){session.put("curZoom",P.instances.map.getZoom());var legend=P.instances.map.getLegend();labelManager.updateMapLabels();legend.clearStoredScale();if(legend.boundaryTypeIsLocked()){if(!legend.isValidBoundaryType(P.instances.map.getLegend().getBoundaryType())){legend.unlockBoundaryType()}}P.instances.map.mapOptions.populate();if(P.instances.map.getLegend().getBoundaryType()){widget.getIndicatorShade().setOldBoundaryTypeId(P.instances.map.getLegend().getBoundaryType().id)}if(widget.legend.getBoundaryType()&&widget.getIndicatorShade().getOldBoundaryTypeId()!=widget.legend.getBoundaryType().id){widget.getIndicatorShade().setOldBoundaryTypeId(widget.legend.getBoundaryType().id)}navteqCounter();widget.refresh();P.instances.map.refresh();var tmpLeg;for(var i=0;tmpLeg=legendMerger.getLegend(i);i++){var leg=tmpLeg.legend;if(leg.getBoundaryType()&&tmpLeg.getIndicatorShade().getOldBoundaryTypeId()!=leg.getBoundaryType().id){tmpLeg.getIndicatorShade().setOldBoundaryTypeId(leg.getBoundaryType().id)}}if(PEnvironment.pageName=="analytics"){mapRefreshed()}});$(".map-options__map-boundaries__current-overlays-toggle").click(function(event){event.preventDefault();mapOptions(this,true)});function addOverlaySetFiltersFromSession(overlaySet){if(overlaySet!=null){var filters=session.getFilters(overlaySet);if(filters){if(filters[0]&&filters[0].values[0]=="COLORCODE"){var ftrs=[];var displayfilters=overlaySet.displayfiltergroups[filters[0].name];var m=displayfilters.length;for(var j=0;j<m;j++){if(displayfilters[j].values[0]!="COLORCODE")ftrs.push(displayfilters[j])}overlaySet.setFiltersByIcons(ftrs,overlaySet.colorcodes);overlaySet.filtergroups[filters[0].name]=[];overlaySet.filtergroups[filters[0].name].push(filters[0])}else overlaySet.setFilters(filters)}for(var i=0;i<overlaySet.children.length;i++){addOverlaySetFiltersFromSession(overlaySet.children[i])}}return overlaySet}function getOverlaySetsFromSession(){var promises=[];if(session.get("o")){var oldOverlaySetIds=session.get("o").split(",");_.each(oldOverlaySetIds,function(oldOverlaySetId){var addFiltersToOverlaySetPromise=getOverlaySet(oldOverlaySetId,"old").then(addOverlaySetFiltersFromSession);promises.push(addFiltersToOverlaySetPromise)})}if(session.get("dlo")){var dataLoaderOverlaySetIds=session.get("dlo").split(",");_.each(dataLoaderOverlaySetIds,function(dataLoaderOverlaySetId){var addFiltersToOverlaySetPromise=getOverlaySet(dataLoaderOverlaySetId,"dl").then(addOverlaySetFiltersFromSession);promises.push(addFiltersToOverlaySetPromise)});if(_.size(dataLoaderOverlaySetIds)===1&&session.get("dloz")&&!session.get("o")){ajax.call({url:PEnvironment.dataServicesUrl+"?id=1&ty=data&t=site&act=b&did="+dataLoaderOverlaySetIds[0],success:function(response){var coords=response.site;if(coords.minx&&coords.miny&&coords.maxx&&coords.maxy){var sw=new PLatLng(coords.miny,coords.minx);var ne=new PLatLng(coords.maxy,coords.maxx);map.setCenterBounds(new PLatLngBounds(sw,ne));session.remove("dloz")}}})}}$.when.apply($,promises).then(function addOverlaySetsToMap(){var sets=[];for(var i=0;i<arguments.length;i++){if(arguments[i]==null){continue}var curSet=arguments[i];sets.push(curSet);for(var j=0;j<curSet.children.length;j++){sets.push(curSet.children[j])}}if(sets.length>0){map.setOverlaySets(sets);labelManager.updateMapLabels()}})}function loadMapFromSession(){var pLatLng=map.getCenter();var numBreaks;session.checkUrl();if(typeof ria!=="undefined"){if(session.get("i")!==void 0){if(session.get("rmp")&&PColorRampOptions[session.get("rmp")]){widget.legend.setColorRamp(PColorRampOptions[session.get("rmp")].ramp)}if(session.get("nb")){numBreaks=parseInt(session.get("nb"),10);if(!_.isNaN(numBreaks)){widget.legend.setNumberOfBreaks(numBreaks)}}selectIndicators(session.get("i"));taxonomyMenu.setActiveRootNodeByIndicatorId(parseInt(session.get("i")[0],10))}getOverlaySetsFromSession();P.instances.map.mapOptions.loadMapOptionsFromSession()}if(session.get("curLat")&&session.get("curLng")&&session.get("curZoom")){map.setCenter(new PLatLng(session.get("curLat"),session.get("curLng")),session.get("curZoom"))}}var urlParams=getUrlParams()}function analyticsMapLoaderCB(){function initializeGlobals(){legendContainer=new Array;indicatorLegend=new Array;legendMerger=new PLegendMerger(map)}function resizeMapContainer($container){$mapContainer.css("height",$window.height()-$mapContainer.offset().top-$(".content__footer").height());if(P.instances.map!==void 0&&P.instances.map.kamap!==void 0){P.instances.map.kamap.resize();P.instances.map.setCenter(P.instances.map.getCenter());if(P.constants.initialLoad==true){P.constants.initialLoad=false;var opts=P.CloneOptions;initializeMapLocation(opts)}}$window.trigger(P.events.MAP_RESIZED)}function initializeAnalyticsLegends(){var $analyticsLegend=$(".legend--analytics");$analyticsLegend.find(".legend__toggle-icon").click(function toggleLegendSize(){if($analyticsLegend.hasClass("is-minimized")){$(this).removeClass("is-minimized");$analyticsLegend.removeClass("is-minimized")}else{$(this).addClass("is-minimized");$analyticsLegend.addClass("is-minimized")}});$legends.each(function(index){var $legend=$(this);var editButton=$legend.find(".legend__edit-button");var pLegend=new PLegend;indicatorLegend.push(new PTRFIndicatorLegend(null,pLegend,{enableToggle:true,enableShade:true,enableRange:true,instanceId:"m"+index}));editButton.click(function(event){event.preventDefault();$(this).toggleClass("is-active");$legend.find(".legend__indicators").toggle()})});indElms=$legends;for(var i=0;i<indElms.length;i++){indElms[i]=$(indElms[i]);var indToggle=indicatorLegend[i].getIndicatorToggle();var indicatorShade=indicatorLegend[i].getIndicatorShade();indicatorShade.disableDefault=true;var indicatorRange=indicatorLegend[i].getIndicatorRange();var indicatorValues=indicatorLegend[i].getIndicatorValues();legendContainer[i]=new PLegendContainer(indElms[i]);indicatorLegend[i].addListener("refresh",legendContainer[i].enable,legendContainer[i]);indicatorLegend[i].addListener("refresh",placeZoomSliderMarker,legendContainer[i]);indicatorLegend[i].addListener("clear",legendContainer[i].disable,legendContainer[i]);indicatorLegend[i].addListener("clear",placeZoomSliderMarker,legendContainer[i]);var trfLegendIndicators=new TrfAnalyticsLegendIndicators(indElms[i]);indToggle.addListener("refresh",trfLegendIndicators.refresh,trfLegendIndicators);indToggle.addListener("clear",trfLegendIndicators.clear,trfLegendIndicators);var rangeWidget=new PRangeWidget(indElms[i].find("#slider_container"));rangeWidget.addListener("update",indicatorRange.setRange,indicatorRange);rangeWidget.init();indicatorRange.addListener("refresh",rangeWidget.updateRange,rangeWidget);indicatorRange.addListener("enable",rangeWidget.enable,rangeWidget);indicatorRange.addListener("disable",rangeWidget.disable,rangeWidget);indicatorLegend[i].addListener("clear",rangeWidget.resetRange,rangeWidget);legendContainer[i].addListener("disable",rangeWidget.disable,rangeWidget);var valuesWidget=new PValuesWidget(indElms[i].find("#values_container"));valuesWidget.addListener("update",indicatorValues.toggleValues,indicatorValues);indicatorValues.addListener("load",valuesWidget.refresh,valuesWidget);indicatorValues.addListener("enable",valuesWidget.enable,valuesWidget);indicatorValues.addListener("disable",valuesWidget.disable,valuesWidget);indicatorValues.addListener("clear",valuesWidget.clear,valuesWidget);legendContainer[i].addListener("disable",valuesWidget.disable,valuesWidget);var opts={defaultText:'<span class="select-layer" onclick="cbMatchPopup.openPopup(true)">Select Layer</span>',noIndex:true};var indInfo=new PIndicatorInfoWidget(indElms[i].find(".legend__title"),opts);indInfo.index=i;indicatorLegend[i].addListener("refresh",indInfo.update,indInfo);indicatorLegend[i].addListener("clear",indInfo.clear,indInfo);indicatorLegend[i].addListener("refresh",matchMenuLegendUpdate,indInfo);indicatorLegend[i].addListener("clear",matchMenuLegendUpdate,indInfo);var trfLegendShadeBy=new TrfLegendShadeBy(indElms[i].find(".legend__shading__shaded-by"),indElms[i].find(".legend__title__source__content"),indElms[i].find("#legend__shading__ranges"));indicatorShade.addListener("refresh",trfLegendShadeBy.update,trfLegendShadeBy);indicatorShade.addListener("clear",trfLegendShadeBy.clear,trfLegendShadeBy);trfLegendShadeBy.addListener("change",indicatorShade.changeShade,indicatorShade);legendContainer[i].init();legendContainer[i].disable();legendMerger.addLegend(indicatorLegend[i])}map.setLegendMerger(legendMerger);$(".legend__indicators select").chosen({disable_search_threshold:15,width:"122px"});var c=$("#map");$(".legend").draggable({containment:c,handle:"h2, .legend-content",scroll:false,stack:"#map, .legend, #theInsideLayer",zIndex:Strata.OVER_MAP0,drag:function(){if($(this).position().left!==0){$(this).removeClass("legend--docked")}$(this).css("height","auto")}})}function analyticsRun(){$window.on(P.events.MAP_CHECK_RESIZE,resizeMapContainer);$(".small-map-message").draggable({containment:"#map",scroll:false,stack:"#map, .legend, #theInsideLayer",drag:function(){if($(".small-map-message").css("bottom")==="0px"){$(".small-map-message").css("bottom","auto")}}});map.addListener("setindicator",function(){var tmpLeg;for(var i=0;tmpLeg=legendMerger.getLegend(i);i++){var leg=tmpLeg.legend;leg.clearStoredScale();if(leg.getBoundaryType()&&tmpLeg.getIndicatorShade().getOldBoundaryTypeId()!=leg.getBoundaryType().id){tmpLeg.getIndicatorShade().setOldBoundaryTypeId(leg.getBoundaryType().id)}}mapRefreshed()});map.addListener("removeindicator",function(){updateLegendPositionOnMap()});PEvent.addListener(map,"zoomstart",function(){map.mapOptions.populate();for(var i=0;i<3;i++){var legend=legendMerger.getLegend(i);legend.refresh()}})}if(typeof index_delayed!="undefined"){index_delayed()}var $mapContainer=$("#map");var $window=$(window);var $legends=$(".analytics-legend__item");var dataPointsLegend;if(typeof P.constants.initialLoad==="undefined"){P.constants.initialLoad=true}var debug=new P.Debug;var $wizard=$(".wizard");initializeGlobals();initializeAnalyticsLegends();resizeMapContainer();$window.resize(resizeMapContainer);analyticsRun()}PPolyCreatorCircleWidgetCB=function(polycreator,cont){this.polycreator=polycreator;this.$cont=cont;this.$generateButton=$(".generate-report-button");this.resetGenerateButton();var that=this;this.$cont.find(".generate-report-cancel-button").click(function(){that.polycreator.disableRegionBuilderCB()});this.$cont.find(".close-x").click(function(){that.polycreator.disableRegionBuilderCB()});this.$radiusForm=$("#search-form-radius");this.$radiusElem=this.$radiusForm.find(".radius");var response=function(places){if(places instanceof PAddress){if(places.wasFound()){html=""+places.addr+"<br /><br />";cbProfileDropdowns.resetAllDropdowns();that.showCircle(places)}else{var alerter=new PAlerter;var content='Location "<b>'+places.addr+'</b>" not found. For help finding your address:';alerter.popup(content,"OK")}}else{var alerter=new PAlerter;alerter.popup("Please specify a street address, not an area.","OK")}};var searchTypes=["Default"];var options={formWidth:290,placeholderLocation:'e.g., "601 Walnut Street, Philadelphia, PA 19106"',responseEvent:response};var rsearch=new TrfSearch($("#search-form-radius-address"),searchTypes,options);this.rsearch=rsearch;var that=this;this.$radiusForm.submit(function(event){event.preventDefault();if(that.polycreator.CIRCLE.centerpoint){that.updateRadius()}})};PPolyCreatorCircleWidgetCB.prototype={show:function(){this.$cont.show();this.$cont.addClass("on");this.$cont.parent().parent().addClass("stick")},hide:function(){this.$cont.hide();this.$cont.removeClass("on");this.$cont.parent().parent().removeClass("stick")},resetGenerateButton:function(){var b=this.$generateButton;b.unbind("click");b.removeAttr("href");b.removeClass("on");b.click(function(){var alerter=new PAlerter;alerter.popup("First create a custom region to generate a report.","OK")})},updateRadius:function(){var pc=this.polycreator;var elem=this.$radiusElem;var miles=elem.val();if(miles==null||miles==0||isNaN(miles)){var alerter=new PAlerter;alerter.popup("A valid radius must be provided.","OK");elem.val(pc.CIRCLE.radius);return false}pc.updateRadiusCB(pc.CIRCLE.centerpoint,miles);return true},showCircle:function(places){var pc=this.polycreator;var address=places;var point=new PLatLng(address.y,address.x);var miles=this.$radiusElem.val();var vert=pc.drawCircle(point,miles,true);pc.CIRCLE.address=address instanceof PLatLng?address:address.y+", "+address.x;pc.eventManager.triggerEvent("addpoly",[point])}};PPolyCreatorDrawWidgetCB=function(polycreator,cont){this.polycreator=polycreator;this.$cont=cont;this.$generateButton=$(".generate-report-button");this.resetGenerateButton();var that=this;this.$cont.find(".generate-report-cancel-button").click(function(){that.polycreator.disableRegionBuilderCB()});this.$cont.find(".close-x").click(function(){that.polycreator.disableRegionBuilderCB()})};PPolyCreatorDrawWidgetCB.prototype={show:function(){this.$cont.show();this.$cont.addClass("on");this.$cont.parent().parent().addClass("stick")},hide:function(){this.$cont.hide();this.$cont.removeClass("on");this.$cont.parent().parent().removeClass("stick")},resetGenerateButton:function(){var b=this.$generateButton;b.unbind("click");b.removeAttr("href");b.removeClass("on");b.click(function(){var alerter=new PAlerter;alerter.popup("First create a custom region to generate a report.","OK")})}};function displayArtsWaveReport(aggregates,boundarea,counties){P.CloneOptions.chartsColors=["#ed3523","#542889","#a1a1a4","#00aeef","#d7b034","#8dc63f"];$(".color.report-area").css("background-color",P.CloneOptions.chartsColors[0]);$(".color.county").css("background-color",P.CloneOptions.chartsColors[1]);boundarea.getAggregates(PPlaceType.ZIP,null,null,function(aggs){displayDistrictsCB(aggs,"zip-codes",boundarea)},0,null,PPlaceType.LABEL,null,0,null,PPlaceType.LABEL);boundarea.getAggregates(PPlaceType.AW_NEIGHBORHOOD,null,null,function(aggs){displayDistrictsCB(aggs,"neighborhoods",boundarea)},0,null,PPlaceType.LABEL,null,0,null,PPlaceType.LABEL);boundarea.getAggregates(PPlaceType.SCHOOL,null,null,function(aggs){displayDistrictsCB(aggs,"school-districts",boundarea)},0,null,PPlaceType.LABEL,null,0,null,PPlaceType.LABEL);var display=function(groupPlaceTypeAggregates){boundarea.getPlacesContaining(PPlaceType.COUNTY,null,null,function(boundaryCounties){var boundaryCounty=null;if(boundaryCounties.length==1){boundaryCounty=boundaryCounties[0]}var obj={pplace:boundarea,county:boundaryCounty,groupPlaceTypeAggregates:groupPlaceTypeAggregates};populateArtsWaveIndicatorData(obj)},3)};var groups=[PPlaceTypeConfig2.AGGREGATION.dataset.ACS];getGroupPlaceTypeAggregates(boundarea,groups,aggregates,display,{getAggsForAllDef:true});var params=getUrlParams();if(P.WKPrint.isPrintPage()===true){$("head").append('<link rel="stylesheet" href="/cssPrint/culture_blocks.css" type="text/css" />');$(".print-page2").append($(".report-charts"))}populateArtsWaveSitesTable(boundarea)}function populateArtsWaveSitesTable(boundarea){var populateTableList=function(cnt,ids,$cont){if(ids[cnt]==null){var $cnt_elem=$cont.find(".count"+cnt);$cnt_elem.html("n/a");$cnt_elem.next().html("");cnt++;if(cnt<ids.length){populateTableList(cnt,ids,$cont)}return}var set=new POverlaySet(ids[cnt]);set.type="old";set.cnt=cnt;boundarea.getMarkersWithin(set,function(markers){var length=0;if(markers.length>0){if(markers[0]instanceof PMarker){length=markers.length}else{length=markers[0]}}var $cnt_elem=$cont.find(".count"+cnt);$cnt_elem.html(length);if(length==0){$cnt_elem.next().hide()}else{$cnt_elem.next().click(function(){$(".seelist").html("(click to see list)");var elem=$(this).parent().parent().next().find(".list");if(elem.hasClass("on")){elem.hide();elem.removeClass("on");return}$(this).html("(click to close list)");var elems=$(".see-lists-section").find(".list");elems.empty();elems.hide();elems.removeClass("on");elem.addClass("on");elem.show();var html=getSiteListHtmlCB(set,boundarea);elem.html(html);generateReportSitesList(set,boundarea)})}cnt++;if(cnt<ids.length){populateTableList(cnt,ids,$cont)}})};if(isAWEduction()){var ids=[148100,149600,149550];populateTableList(0,ids,$("#cultural-assets"));var ids=[147750,147800,148450,149500,147850];populateTableList(0,ids,$("#education"));var ids=[148400,148350];populateTableList(0,ids,$("#neighborhood-resources"))}else if(isAWNeighborhood()){var ids=[150250,150450,150400,150200];populateTableList(0,ids,$("#cultural-assets"));var ids=[147750,147800,148450,149500,147850];populateTableList(0,ids,$("#education"));var ids=[148400,148350,150350,133900,150300];populateTableList(0,ids,$("#neighborhood-resources"))}}function populateArtsWaveIndicatorData(obj){var pplace=obj.pplace;var getplaces=[];var useStepsDefault=false;var stepplaces=obj.groupPlaceTypeAggregates[PPlaceTypeConfig2.AGGREGATION.dataset.ACS];if(stepplaces&&stepplaces.length>0)useStepsDefault=true;if(!obj.ignorePPlace&&pplace&&!pplace.isCustomOrPoly()){getplaces=[pplace]}else if(!obj.ignorePPlace&&pplace&&pplace.isAssembledCustom()){getplaces=pplace.getAssembledPlaces()}else if(useStepsDefault){getplaces=stepplaces}var i={};i.CPOP=new PIndicator(9869069);i.CHH=new PIndicator(9869078);i.CPOP18B=new PIndicator(9868993);i.CPOP65P=new PIndicator(9868923);i.CPOP0_4=new PIndicator(9868901);i.CPOP5_9=new PIndicator(9869090);i.CPOP10_14=new PIndicator(9869025);i.CPOP15_17=new PIndicator(9868851);i.CPOP18_34=new PIndicator(9868870);i.CPOP35_54=new PIndicator(9869042);i.CPOP55_64=new PIndicator(9869076);i.CHILT15=new PIndicator(9871823);i.CHI15_25=new PIndicator(9871862);i.CHI25_35=new PIndicator(9871920);i.CHI35_50=new PIndicator(9871806);i.CHI50_75=new PIndicator(9871923);i.CHI75_100=new PIndicator(9871914);i.CHILT100=new PIndicator(9871935);i.CHIALL=new PIndicator(9871984);var countyinds=[];for(var ind in i){countyinds.push(i[ind])}i.CLT9TH=new PIndicator(9873900);i.CSMHSNODIP=new PIndicator(9873915);i.CHS=new PIndicator(9873934);i.CSMCOLASS=new PIndicator(9873912);i.CBACHP=new PIndicator(9873911);i.CEDUALL=new PIndicator(9873929);i.CFAM=new PIndicator(9868933);i.CPOPALLAGE=new PIndicator(9869056);i.CPOPWH=new PIndicator(9869048);i.CPOPBK=new PIndicator(9868917);i.CPOPAS=new PIndicator(9868922);i.CPOPALLRACE=new PIndicator(9868881);i.CPOPHISP=new PIndicator(9868879);i.CPOPALLETH=new PIndicator(9868976);i.MHHINC=new PIndicator(9871831);var allinds=[];for(var ind in i){allinds.push(i[ind])}var periods=[2e3,P.constants.latestACSPeriod];var opts={stepplaces:stepplaces,actualPlace:pplace,ignorePPlace:obj.ignorePPlace};var cube=new PCube(allinds,getplaces,periods,opts);cube.loadValues(function(values){this.values=values;var periods=this.periods;var cpop00=getSumOfPlaces(this,i.CPOP,periods[0]);var cpop=getSumOfPlaces(this,i.CPOP,periods[1]);var val=PWebUtil.formatNumber(cpop);$("#total-population").html(val);var chhValues10=this.getValuesObjectOfPlaces(i.CHH,periods[1]);if(!obj.ignorePPlace&&!cpop){obj.ignorePPlace=true;populateArtsWaveIndicatorData(obj);return}var pls00=this.getPlacesForIndAndPeriod(i.CPOP,periods[0]);var pls10=this.getPlacesForIndAndPeriod(i.CPOP,periods[1]);var t="As of 2013, this area was home to "+PWebUtil.formatNumber(cpop)+" residents";if(pls00.length==1&&pls10.length==1){t+=", with a population change of "+PWebUtil.formatNumber(divideCheck(cpop-cpop00,cpop00,100),"_%")+" since 2000"}t+=".";$("#population-text").html(t);var aggList=$("#agg-list");var aggToggle=$("#agg-toggle");var aggTogglePrint=$("#agg-toggle-print");var t=getAggregatedPlaceNames(pls10);aggList.html(t);aggToggle.click(function(){if(aggList.is(":visible")){aggList.slideUp();aggToggle.text("(+) Show")}else{aggList.slideDown();aggToggle.text("(-) Hide")}});var params=getUrlParams();if(params["da"]){aggToggle.click()}var s1=getSumOfPlaces(this,i.CPOP18B,periods[1]);var s2=getSumOfPlaces(this,i.CPOPALLAGE,periods[1]);var s=divideCheck(s1,s2,100);var val=PWebUtil.formatNumber(s,"_%");$("#under-18").html(val);if(pls10.length>1){$(".median-income-row").hide()}else{var mhhinc=getSumOfPlaces(this,i.MHHINC,periods[1]);var val=PWebUtil.formatNumber(mhhinc,"$_");$("#median-income").html(val)}var cpophisp=getSumOfPlaces(this,i.CPOPHISP,periods[1]);var cpopalleth=getSumOfPlaces(this,i.CPOPALLETH,periods[1]);var s=divideCheck(cpophisp,cpopalleth,100);var val=PWebUtil.formatNumber(s,"_%");$("#hispanic-pop").html(val);var data=[];var s1=getSumOfPlaces(this,i.CLT9TH,periods[1]);var ceduall=getSumOfPlaces(this,i.CEDUALL,periods[1]);var s=divideCheck(s1,ceduall,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["Less than 9th Grade",parseFloat(s)]);var s1=getSumOfPlaces(this,i.CSMHSNODIP,periods[1]);var s=divideCheck(s1,ceduall,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["Some High School",parseFloat(s)]);var s1=getSumOfPlaces(this,i.CHS,periods[1]);var s=divideCheck(s1,ceduall,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["High School Diploma",parseFloat(s)]);var s1=getSumOfPlaces(this,i.CSMCOLASS,periods[1]);var s=divideCheck(s1,ceduall,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["Some College or Associate's",parseFloat(s)]);var s1=getSumOfPlaces(this,i.CBACHP,periods[1]);var s=divideCheck(s1,ceduall,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["At Least a Bachelor's Degree",parseFloat(s)]);var plot1=jQuery.jqplot("chart1",[data],{title:"Education",seriesColors:P.CloneOptions.chartsColors,seriesDefaults:{renderer:jQuery.jqplot.PieRenderer,rendererOptions:{showDataLabels:true}},legend:{renderer:$.jqplot.EnhancedLegendRenderer,show:true,location:"s",placement:"outside",rendererOptions:{numberColumns:2},border:"none"},grid:{drawGridlines:false,borderColor:"transparent",shadow:false,drawBorder:false,shadowColor:"transparent"}});var data=[];var cpopwh=getSumOfPlaces(this,i.CPOPWH,periods[1]);var cpopallrace=getSumOfPlaces(this,i.CPOPALLRACE,periods[1]);var s=divideCheck(cpopwh,cpopallrace,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["White",parseFloat(s)]);var cpopbk=getSumOfPlaces(this,i.CPOPBK,periods[1]);var cpopallrace=getSumOfPlaces(this,i.CPOPALLRACE,periods[1]);var s=divideCheck(cpopbk,cpopallrace,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["African American",parseFloat(s)]);var cpopas=getSumOfPlaces(this,i.CPOPAS,periods[1]);var cpopallrace=getSumOfPlaces(this,i.CPOPALLRACE,periods[1]);var s=divideCheck(cpopas,cpopallrace,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["Asian",parseFloat(s)]);var s=divideCheck(cpopallrace-cpopwh-cpopbk-cpopas,cpopallrace,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["Other",parseFloat(s)]);var plot1=jQuery.jqplot("chart2",[data],{title:"Race",seriesColors:P.CloneOptions.chartsColors,seriesDefaults:{renderer:jQuery.jqplot.PieRenderer,rendererOptions:{showDataLabels:true}},legend:{renderer:$.jqplot.EnhancedLegendRenderer,show:true,location:"s",placement:"outside",rendererOptions:{numberColumns:2},border:"none"},grid:{drawGridlines:false,borderColor:"transparent",shadow:false,drawBorder:false,shadowColor:"transparent"}});var chiall=getSumOfPlaces(this,i.CHIALL,periods[1]);var arr1=[];var s=getSumOfPlaces(this,i.CHILT15,periods[1]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr1.push([parseFloat(val),1]);var s=getSumOfPlaces(this,i.CHI15_25,periods[1]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr1.push([parseFloat(val),2]);var s1=getSumOfPlaces(this,i.CHI25_35,periods[1]);var s2=getSumOfPlaces(this,i.CHI35_50,periods[1]);var s=s1+s2;var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr1.push([parseFloat(val),3]);var s=getSumOfPlaces(this,i.CHI50_75,periods[1]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr1.push([parseFloat(val),4]);var s=getSumOfPlaces(this,i.CHI75_100,periods[1]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr1.push([parseFloat(val),5]);var s1=getSumOfPlaces(this,i.CHILT100,periods[1]);var s=chiall-s1;var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr1.push([parseFloat(val),6]);var ageDistArr1=[];var s=getSumOfPlaces(this,i.CPOP0_4,periods[1]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr1.push(parseFloat(val));var s1=getSumOfPlaces(this,i.CPOP5_9,periods[1]);var s2=getSumOfPlaces(this,i.CPOP10_14,periods[1]);var s3=getSumOfPlaces(this,i.CPOP15_17,periods[1]);var s=s1+s2+s3;var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr1.push(parseFloat(val));var s=getSumOfPlaces(this,i.CPOP18_34,periods[1]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr1.push(parseFloat(val));var s1=getSumOfPlaces(this,i.CPOP35_54,periods[1]);var s2=getSumOfPlaces(this,i.CPOP55_64,periods[1]);var s=s1+s2;var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr1.push(parseFloat(val));var s=getSumOfPlaces(this,i.CPOP65P,periods[1]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr1.push(parseFloat(val));var p=new PPlace(3579149);var cube2=new PCube(countyinds,[p],periods);cube2.loadValues(function(metrovalues){this.values=metrovalues;var cpop=getSumOfPlaces(this,i.CPOP,periods[1]);var chiall=getSumOfPlaces(this,i.CHIALL,periods[1]);var arr2=[];var s=getSumOfPlaces(this,i.CHILT15,periods[1]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr2.push([parseFloat(val),1]);var s=getSumOfPlaces(this,i.CHI15_25,periods[1]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr2.push([parseFloat(val),2]);var s1=getSumOfPlaces(this,i.CHI25_35,periods[1]);var s2=getSumOfPlaces(this,i.CHI35_50,periods[1]);var s=s1+s2;var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr2.push([parseFloat(val),3]);var s=getSumOfPlaces(this,i.CHI50_75,periods[1]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr2.push([parseFloat(val),4]);var s=getSumOfPlaces(this,i.CHI75_100,periods[1]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr2.push([parseFloat(val),5]);var s1=getSumOfPlaces(this,i.CHILT100,periods[1]);var s2=getSumOfPlaces(this,i.CHIALL,periods[1]);var s=s2-s1;var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr2.push([parseFloat(val),6]);var ageDistArr2=[];var s=getSumOfPlaces(this,i.CPOP0_4,periods[1]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr2.push(parseFloat(val));var s1=getSumOfPlaces(this,i.CPOP5_9,periods[1]);var s2=getSumOfPlaces(this,i.CPOP10_14,periods[1]);var s3=getSumOfPlaces(this,i.CPOP15_17,periods[1]);var s=s1+s2+s3;var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr2.push(parseFloat(val));var s=getSumOfPlaces(this,i.CPOP18_34,periods[1]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr2.push(parseFloat(val));var s1=getSumOfPlaces(this,i.CPOP35_54,periods[1]);var s2=getSumOfPlaces(this,i.CPOP55_64,periods[1]);var s=s1+s2;var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr2.push(parseFloat(val));var s=getSumOfPlaces(this,i.CPOP65P,periods[1]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr2.push(parseFloat(val));var renderBarCharts=function(householdIncomeData,ageDistributionData){var ticks=["< $15K","$15 - 25K","$25K-50K","$50K-75K","$75k-100K","> $100K"];var plot2=$.jqplot("chart3",householdIncomeData,{title:"Household Income",seriesColors:P.CloneOptions.chartsColors,seriesDefaults:{renderer:$.jqplot.BarRenderer,pointLabels:{show:false,location:"e",edgeTolerance:-15},shadowAngle:135,rendererOptions:{barDirection:"horizontal"}},axes:{yaxis:{renderer:$.jqplot.CategoryAxisRenderer,ticks:ticks},xaxis:{tickOptions:{formatString:"%d%"}}}});var ticks=["< 5","5-17","18-34","35-64","> 64"];var plot1=$.jqplot("chart4",ageDistributionData,{title:"Age Distribution",seriesColors:P.CloneOptions.chartsColors,seriesDefaults:{renderer:$.jqplot.BarRenderer,rendererOptions:{fillToZero:true}},axes:{xaxis:{renderer:$.jqplot.CategoryAxisRenderer,ticks:ticks},yaxis:{tickOptions:{formatString:"%d%"}}}})};if(obj.county!=null){var $barChartLegend=$(".bar-chart-legend");var $newRow=$("<div />");$newRow.addClass("row");var $rowColor=$("<div />");$rowColor.addClass("color county");var $rowLabel=$("<span />");$rowLabel.text(obj.county.getLabel()+" County");$newRow.append($rowColor,$rowLabel);$barChartLegend.append($newRow);var cube3=new PCube(countyinds,[obj.county],periods);cube3.loadValues(function(countyvalues){this.values=countyvalues;var cpop=getSumOfPlaces(this,i.CPOP,periods[1]);var chiall=getSumOfPlaces(this,i.CHIALL,periods[1]);var arr3=[];var s=getSumOfPlaces(this,i.CHILT15,periods[1]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr3.push([parseFloat(val),1]);var s=getSumOfPlaces(this,i.CHI15_25,periods[1]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr3.push([parseFloat(val),2]);var s1=getSumOfPlaces(this,i.CHI25_35,periods[1]);var s2=getSumOfPlaces(this,i.CHI35_50,periods[1]);var s=s1+s2;var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr3.push([parseFloat(val),3]);var s=getSumOfPlaces(this,i.CHI50_75,periods[1]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr3.push([parseFloat(val),4]);var s=getSumOfPlaces(this,i.CHI75_100,periods[1]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr3.push([parseFloat(val),5]);var s1=getSumOfPlaces(this,i.CHILT100,periods[1]);var s2=getSumOfPlaces(this,i.CHIALL,periods[1]);var s=s2-s1;var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr3.push([parseFloat(val),6]);var ageDistArr3=[];var s=getSumOfPlaces(this,i.CPOP0_4,periods[1]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr3.push(parseFloat(val));var s1=getSumOfPlaces(this,i.CPOP5_9,periods[1]);var s2=getSumOfPlaces(this,i.CPOP10_14,periods[1]);var s3=getSumOfPlaces(this,i.CPOP15_17,periods[1]);var s=s1+s2+s3;var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr3.push(parseFloat(val));var s=getSumOfPlaces(this,i.CPOP18_34,periods[1]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr3.push(parseFloat(val));var s1=getSumOfPlaces(this,i.CPOP35_54,periods[1]);var s2=getSumOfPlaces(this,i.CPOP55_64,periods[1]);var s=s1+s2;var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr3.push(parseFloat(val));var s=getSumOfPlaces(this,i.CPOP65P,periods[1]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr3.push(parseFloat(val));var householdIncomeData=[arr1,arr2,arr3];var ageDistributionData=[ageDistArr1,ageDistArr2,ageDistArr3];renderBarCharts(householdIncomeData,ageDistributionData)})}else{$(".no-county-data").show();var householdIncomeData=[arr1,arr2];var ageDistributionData=[ageDistArr1,ageDistArr2];renderBarCharts(householdIncomeData,ageDistributionData)}})},{includeMappings:true})}function displayCultureBlocksReport(aggregates,boundarea,counties){getPhillyContainmentsLists(boundarea);var aggObj={1:[],2:[],3:[],4:[]};for(var i=0;i<aggregates.length;i++){var p=aggregates[i];var mIds=boundaryMatrix.getAllMatrixIdsForDefinitionId(p.getDefinitionId());for(var j=0;j<mIds.length;j++){mId=mIds[j];aggObj[mId].push(p)}}if(boundarea.getType()==PPlaceType.BLOCKGROUP){var p=boundarea;var mId=boundaryMatrix.getMatrixIdForDefinitionId(p.getDefinitionId());aggObj[mId]=[p]}var params=getUrlParams();if(P.WKPrint.isPrintPage()===true){$("head").append('<link rel="stylesheet" href="/cssPrint/culture_blocks.css" type="text/css" />');$(".print-page2").append($(".report-charts"))}var set=new POverlaySet(125350);set.overrideLimit=true;set.type="old";set.isPoly=true;boundarea.getMarkersWithin(set,function(markers){var elem=$("#parks");var list=getDisplayMarkersListCB(markers,elem,"Parks")},true);var set=new POverlaySet(125100);set.overrideLimit=true;set.type="old";boundarea.getMarkersWithin(set,function(markers){var elem=$("#rec-centers");var list=getDisplayMarkersListCB(markers,elem,"Recreation Centres")});var set=new POverlaySet(125e3);
set.overrideLimit=true;set.type="old";boundarea.getMarkersWithin(set,function(markers){var elem=$("#libraries");var list=getDisplayMarkersListCB(markers,elem,"Libraries")});var set=new POverlaySet(126900);set.type="old";boundarea.getMarkersWithin(set,function(markers){var set=new POverlaySet(126950);set.type="old";set.isPoly=true;var elem=$("#organizations");boundarea.getMarkersWithin(set,function(polymarkers){var allmarkers=markers.concat(polymarkers);var list=getDisplayMarkersListCB(allmarkers,elem,"",";")},true)});var aggList=$("#agg-list");var aggToggle=$("#agg-toggle");var aggTogglePrint=$("#agg-toggle-print");var t=getAggregatedPlaceNames(aggObj[2]);aggList.html(t);aggToggle.click(function(){if(aggList.is(":visible")){aggList.slideUp();aggToggle.text("(+) Show");aggTogglePrint.text("Not Displayed")}else{aggList.slideDown();aggToggle.text("(-) Hide");aggTogglePrint.text("")}});if(params["da"]){aggToggle.click()}var ids=[125900,125850,124400,124450,124500];$("#asset-directory").click(function(){boundarea.getMarkersWithinCSV(ids)});var f=function(cnt){var set=new POverlaySet(ids[cnt]);set.type="old";set.cnt=cnt;boundarea.getMarkersWithin(set,function(markers){var id="#count"+cnt;var length=0;if(markers.length>0){if(markers[0]instanceof PMarker){length=markers.length}else{length=markers[0]}}$(id).html(length);if(length==0){$(id).next().hide()}else{$(id).next().click(function(){$(".seelist").html("(click to see list)");var elem=$(this).parent().parent().next().find(".list");if(elem.hasClass("on")){elem.hide();elem.removeClass("on");return}$(this).html("(click to close list)");var elems=$(this).parent().parent().parent().find(".list");elems.empty();elems.hide();elems.removeClass("on");elem.addClass("on");elem.show();var html=getSiteListHtmlCB(set,boundarea);elem.html(html);generateReportSitesList(set,boundarea)})}cnt++;if(cnt<ids.length){f(cnt)}})};f(0);var i={};i.CPOP=new PIndicator(9901615);i.CHH=new PIndicator(9901629);i.CPOP18B=new PIndicator(9901611);i.CPOP65P=new PIndicator(9901613);i.CHILT15=new PIndicator(9929655);i.CHI15_25=new PIndicator(9929650);i.CHI25_35=new PIndicator(9929651);i.CHI35_50=new PIndicator(9929652);i.CHI50_75=new PIndicator(9929653);i.CHI75_100=new PIndicator(9929654);i.CHILT100=new PIndicator(9929656);i.CHIALL=new PIndicator(9929657);i.CPOP0_4=new PIndicator(9932200);i.CPOP5_9=new PIndicator(9869090);i.CPOP10_14=new PIndicator(9932201);i.CPOP15_17=new PIndicator(9932202);i.CPOP18_34=new PIndicator(9901624);i.CPOP35_54=new PIndicator(9901610);i.CPOP55_64=new PIndicator(9901623);var countyinds=[];for(var ind in i){countyinds.push(i[ind])}i.CFAM=new PIndicator(9868933);i.CPOPALLAGE=new PIndicator(9901639);i.CLT9TH=new PIndicator(9901500);i.CSMHSNODIP=new PIndicator(9901516);i.CHS=new PIndicator(9901521);i.CSMCOLASS=new PIndicator(9901510);i.CBACHP=new PIndicator(9901509);i.CEDUALL=new PIndicator(9901512);i.CPOPWH=new PIndicator(9901617);i.CPOPBK=new PIndicator(9901604);i.CPOPAS=new PIndicator(9901612);i.CPOPALLRACE=new PIndicator(9901605);i.CPOPHISP=new PIndicator(9901601);i.CPOPALLETH=new PIndicator(9901638);var allinds=[];for(var ind in i){allinds.push(i[ind])}i.PHARESPT=new PIndicator(9899654);i.CUSTPHH10=new PIndicator(9899661);i.CHH_2009=new PIndicator(9933350);var periods=[P.constants.latestACSPeriod];var cube=new PCube(allinds,aggObj[2],periods);cube.loadValues(function(values){this.values=values;var chhValues10=this.getValuesObjectOfPlaces(i.CHH,periods[0]);var cpop=getSumOfPlaces(this,i.CPOP,periods[0]);var val=PWebUtil.formatNumber(cpop);$("#total-population").html(val);var chh=getSumOfPlaces(this,i.CHH,periods[0]);var val=PWebUtil.formatNumber(chh);$("#total-households").html(val);var cfam=getSumOfPlaces(this,i.CFAM,periods[0]);var s=divideCheck(cfam,chh,100);var val=PWebUtil.formatNumber(s,"_%");$("#family-households").html(val);if(cfam&&chh){var s=divideCheck(chh-cfam,chh,100)}else{var s=null}var val=PWebUtil.formatNumber(s,"_%");$("#nonfamily-households").html(val);var s1=getSumOfPlaces(this,i.CPOP18B,periods[0]);var s2=getSumOfPlaces(this,i.CPOPALLAGE,periods[0]);var s=divideCheck(s1,s2,100);var val=PWebUtil.formatNumber(s,"_%");$("#under-18").html(val);var s1=getSumOfPlaces(this,i.CPOP65P,periods[0]);var s2=getSumOfPlaces(this,i.CPOPALLAGE,periods[0]);var s=divideCheck(s1,s2,100);var val=PWebUtil.formatNumber(s,"_%");$("#over-65").html(val);var cpophisp=getSumOfPlaces(this,i.CPOPHISP,periods[0]);var cpopalleth=getSumOfPlaces(this,i.CPOPALLETH,periods[0]);var s=divideCheck(cpophisp,cpopalleth,100);var val=PWebUtil.formatNumber(s,"_%");$("#hispanic-pop").html(val);var s1=cpop-cpophisp;var s2=cpopalleth;var s=divideCheck(s1,s2,100);var val=PWebUtil.formatNumber(s,"_%");$("#non-hispanic-pop").html(val);var data=[];var s1=getSumOfPlaces(this,i.CLT9TH,periods[0]);var ceduall=getSumOfPlaces(this,i.CEDUALL,periods[0]);var s=divideCheck(s1,ceduall,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["Less than 9th Grade",parseFloat(s)]);var s1=getSumOfPlaces(this,i.CSMHSNODIP,periods[0]);var s=divideCheck(s1,ceduall,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["Some High School",parseFloat(s)]);var s1=getSumOfPlaces(this,i.CHS,periods[0]);var s=divideCheck(s1,ceduall,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["High School Diploma",parseFloat(s)]);var s1=getSumOfPlaces(this,i.CSMCOLASS,periods[0]);var s=divideCheck(s1,ceduall,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["Some College or Associate's",parseFloat(s)]);var s1=getSumOfPlaces(this,i.CBACHP,periods[0]);var s=divideCheck(s1,ceduall,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["At Least a Bachelor's Degree",parseFloat(s)]);var plot1=jQuery.jqplot("chart1",[data],{title:"Education",seriesDefaults:{renderer:jQuery.jqplot.PieRenderer,rendererOptions:{showDataLabels:true}},legend:{renderer:$.jqplot.EnhancedLegendRenderer,show:true,location:"s",placement:"outside",rendererOptions:{numberColumns:2},border:"none"},grid:{drawGridlines:false,borderColor:"transparent",shadow:false,drawBorder:false,shadowColor:"transparent"}});var data=[];var cpopwh=getSumOfPlaces(this,i.CPOPWH,periods[0]);var cpopallrace=getSumOfPlaces(this,i.CPOPALLRACE,periods[0]);var s=divideCheck(cpopwh,cpopallrace,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["White",parseFloat(s)]);var cpopbk=getSumOfPlaces(this,i.CPOPBK,periods[0]);var cpopallrace=getSumOfPlaces(this,i.CPOPALLRACE,periods[0]);var s=divideCheck(cpopbk,cpopallrace,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["African American",parseFloat(s)]);var cpopas=getSumOfPlaces(this,i.CPOPAS,periods[0]);var cpopallrace=getSumOfPlaces(this,i.CPOPALLRACE,periods[0]);var s=divideCheck(cpopas,cpopallrace,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["Asian",parseFloat(s)]);var s=divideCheck(cpopallrace-cpopwh-cpopbk-cpopas,cpopallrace,100);var val=PWebUtil.formatNumber(s,"_%");data.push(["Other",parseFloat(s)]);var plot1=jQuery.jqplot("chart2",[data],{title:"Race",seriesDefaults:{renderer:jQuery.jqplot.PieRenderer,rendererOptions:{showDataLabels:true}},legend:{renderer:$.jqplot.EnhancedLegendRenderer,show:true,location:"s",placement:"outside",rendererOptions:{numberColumns:2},border:"none"},grid:{drawGridlines:false,borderColor:"transparent",shadow:false,drawBorder:false,shadowColor:"transparent"}});var chiall=getSumOfPlaces(this,i.CHIALL,periods[0]);var arr1=[];var s=getSumOfPlaces(this,i.CHILT15,periods[0]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr1.push([parseFloat(val),1]);var s=getSumOfPlaces(this,i.CHI15_25,periods[0]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr1.push([parseFloat(val),2]);var s1=getSumOfPlaces(this,i.CHI25_35,periods[0]);var s2=getSumOfPlaces(this,i.CHI35_50,periods[0]);var s=s1+s2;var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr1.push([parseFloat(val),3]);var s=getSumOfPlaces(this,i.CHI50_75,periods[0]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr1.push([parseFloat(val),4]);var s=getSumOfPlaces(this,i.CHI75_100,periods[0]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr1.push([parseFloat(val),5]);var s1=getSumOfPlaces(this,i.CHILT100,periods[0]);var s=chiall-s1;var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr1.push([parseFloat(val),6]);var ageDistArr1=[];var s=getSumOfPlaces(this,i.CPOP0_4,periods[0]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr1.push(parseFloat(val));var s1=getSumOfPlaces(this,i.CPOP5_9,periods[0]);var s2=getSumOfPlaces(this,i.CPOP10_14,periods[0]);var s3=getSumOfPlaces(this,i.CPOP15_17,periods[0]);var s=s1+s2+s3;var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr1.push(parseFloat(val));var s=getSumOfPlaces(this,i.CPOP18_34,periods[0]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr1.push(parseFloat(val));var s1=getSumOfPlaces(this,i.CPOP35_54,periods[0]);var s2=getSumOfPlaces(this,i.CPOP55_64,periods[0]);var s=s1+s2;var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr1.push(parseFloat(val));var s=getSumOfPlaces(this,i.CPOP65P,periods[0]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr1.push(parseFloat(val));var cube=new PCube([i.PHARESPT,i.CUSTPHH10,i.CHH_2009],aggObj[1],[2e3,2009,2010]);cube.loadValues(function(values){this.values=values;var chhValues_2000boundaries=this.getValuesObjectOfPlaces(i.CHH_2009,2009);var chh09=getSumOfPlaces(this,i.CHH_2009,2009);this.values=values;var s1=getSumOfPlaces(this,i.PHARESPT,2010);var s=divideCheck(s1,chh09,1e3);var val=PWebUtil.formatNumber(s);$("#res-art-value").html(val);var custphh10Values=this.getValuesObjectOfPlaces(i.CUSTPHH10,2010);var s1=getBGCulturalPartData(chhValues_2000boundaries,custphh10Values);var s=divideCheck(s1,chh09);var val=PWebUtil.formatNumber(s);$("#cultural-part-value").html(val);var county=new PPlace(548016);var county=new PPlace(102400);var cube2=new PCube(countyinds,[county],periods);cube2.loadValues(function(countyvalues){this.values=countyvalues;var cpop=getSumOfPlaces(this,i.CPOP,periods[0]);var chiall=getSumOfPlaces(this,i.CHIALL,periods[0]);var arr2=[];var s=getSumOfPlaces(this,i.CHILT15,periods[0]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr2.push([parseFloat(val),1]);var s=getSumOfPlaces(this,i.CHI15_25,periods[0]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr2.push([parseFloat(val),2]);var s1=getSumOfPlaces(this,i.CHI25_35,periods[0]);var s2=getSumOfPlaces(this,i.CHI35_50,periods[0]);var s=s1+s2;var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr2.push([parseFloat(val),3]);var s=getSumOfPlaces(this,i.CHI50_75,periods[0]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr2.push([parseFloat(val),4]);var s=getSumOfPlaces(this,i.CHI75_100,periods[0]);var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr2.push([parseFloat(val),5]);var s1=getSumOfPlaces(this,i.CHILT100,periods[0]);var s2=getSumOfPlaces(this,i.CHIALL,periods[0]);var s=s2-s1;var val=divideCheck(s,chiall,100);val=checkValueForNull(val);arr2.push([parseFloat(val),6]);var data=[];data.push(arr2);data.push(arr1);var ticks=["< $15K","$15 - 25K","$25K-50K","$50K-75K","$75k-100K","> $100K"];var plot2=$.jqplot("chart3",data,{title:"Household Income",seriesDefaults:{renderer:$.jqplot.BarRenderer,pointLabels:{show:false,location:"e",edgeTolerance:-15},shadowAngle:135,rendererOptions:{barDirection:"horizontal"}},axes:{yaxis:{renderer:$.jqplot.CategoryAxisRenderer,ticks:ticks},xaxis:{tickOptions:{formatString:"%d%"}}}});var ageDistArr2=[];var s=getSumOfPlaces(this,i.CPOP0_4,periods[0]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr2.push(parseFloat(val));var s1=getSumOfPlaces(this,i.CPOP5_9,periods[0]);var s2=getSumOfPlaces(this,i.CPOP10_14,periods[0]);var s3=getSumOfPlaces(this,i.CPOP15_17,periods[0]);var s=s1+s2+s3;var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr2.push(parseFloat(val));var s=getSumOfPlaces(this,i.CPOP18_34,periods[0]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr2.push(parseFloat(val));var s1=getSumOfPlaces(this,i.CPOP35_54,periods[0]);var s2=getSumOfPlaces(this,i.CPOP55_64,periods[0]);var s=s1+s2;var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr2.push(parseFloat(val));var s=getSumOfPlaces(this,i.CPOP65P,periods[0]);var val=divideCheck(s,cpop,100);val=checkValueForNull(val);ageDistArr2.push(parseFloat(val));var data=[];data.push(ageDistArr2);data.push(ageDistArr1);var ticks=["< 5","5-17","18-34","35-64","> 64"];var plot1=$.jqplot("chart4",data,{title:"Age Distribution",seriesDefaults:{renderer:$.jqplot.BarRenderer,rendererOptions:{fillToZero:true}},axes:{xaxis:{renderer:$.jqplot.CategoryAxisRenderer,ticks:ticks},yaxis:{tickOptions:{formatString:"%d%"}}}})})})})}function getBGCulturalPartData(v1,v2){var total=0;for(var p in v1){if(v1[p]&&v2[p]){total+=v1[p]*v2[p]}}return total}function reportGenerateOnLoadCB(){setCloneOptions();PEnvironment.pageName="report";var urlParam=getUrlParams();currentReport=urlParam;var address=null;var radius=null;if(currentReport.areaType=="radius"||currentReport.areaType=="pradius"){address=currentReport.location;radius=currentReport.radius}else if(currentReport.areaType=="predefined"){address=currentReport.pid}else if(currentReport.areaType=="custom"){}PMapType.DEFAULT=PMapType.NORMAL;drawMapCB(document.getElementById("report-map"),address,radius);cb_checkContentLoaded()}function drawMapCB(div,place,radius){var params=getUrlParams();if(P.WKPrint.isPrintPage()===true){$("head").append('<link rel="stylesheet" href="/cssPrint/culture_blocks.css" type="text/css" />')}map=new PMap(div);if(currentReport.areaType=="predefined"){placeLoader.load([place],function(places){if(places.length==0)alert('Place "'+place+'" not found');if(places[0]){map.setCenterBounds(places[0].getBounds());addPolygons(map,places[0],null);displayContainedPlacesCB(places[0],places[0].getCentroid())}})}else if(currentReport.areaType=="radius"||currentReport.areaType=="pradius"){if(currentReport.lat!=null&&currentReport.lng!=null){map.clearOverlays();var centerpoint=new PLatLng(currentReport.lat,currentReport.lng);var centermarker=new PMarker(centerpoint);map.radiuscenter=centerpoint;map.addOverlay(centermarker);var bounds=drawRadius(radius,centerpoint);if(currentReport.areaType=="pradius"){polycreator.polyload(currentReport.bid,currentReport.areaName,currentReport.plat,currentReport.plng,function(places){if(places[0]){addPolylines(map,places[0].getVertices())}})}bounds.getAggregates(PPlaceType.STATE,null,null,function(states){bounds.getAggregates(PPlaceType.COUNTY,null,null,function(counties){displayContainedPlacesCB(bounds,centerpoint,counties,states)},3,maxResultsConfInt,null,null,null,null,null,0)},3,maxResultsConfInt,null,null,null,null,null,0)}else{geocoder.getLatLng(place,function(point){if(!point)alert('Address "'+place+'" not found');else{map.clearOverlays();var centerpoint=point;var centermarker=new PMarker(centerpoint);map.radiuscenter=centerpoint;map.addOverlay(centermarker);var bounds=drawRadius(radius,centerpoint);bounds.getAggregates(PPlaceType.STATE,null,null,function(states){bounds.getAggregates(PPlaceType.COUNTY,null,null,function(counties){displayContainedPlacesCB(bounds,centerpoint,counties,states)},3,maxResultsConfInt,null,null,null,null,null,0)},3,maxResultsConfInt,null,null,null,null,null,0)}})}}else if(currentReport.areaType=="custom"){polycreator.load(currentReport.cpid,function(places){var place=places[0];map.setCenterBounds(place.getBounds());addPolygons(map,place);displayContainedPlacesCB(place,place.getCentroid())})}map.disableDragging()}function displayReportCB(aggregates,boundarea,counties,states){if(aggregates&&aggregates.length>maxResultsConfInt){maxResultsAlert();return}var title="";jQuery(".reportname").empty().text(title);var areaTitle="Report Area";if(currentReport.areaType=="predefined"){var defid=boundarea.getDefinitionId();var yearStr="";var year=boundaryMatrix.getDisplayYearForDefinitionId(defid);if(year){var yearStr=" ("+boundaryMatrix.getDisplayYearForDefinitionId(defid)+")"}areaTitle=boundarea.getType().getName()+": ";if(boundarea.getType()==PPlaceType.BLOCKGROUP){areaTitle+=boundarea.identifier+yearStr}else{areaTitle=boundarea.getLabel()+yearStr}}else if(currentReport.areaType=="custom"){if(boundarea.ctypeid==3){areaTitle="Radius Report Region"}}$("#report-title").html(areaTitle);$(".report-title").html(areaTitle);if(isWPVersion()){displayWilliamPennReport(aggregates,boundarea,counties)}else if(isAWVersion()){displayArtsWaveReport(aggregates,boundarea,counties)}else{displayCultureBlocksReport(aggregates,boundarea,counties)}}function displayContainedPlacesCB(boundarea,centerpoint,counties,states){var zoomlevel=map.setCenterBoundsAndGetZoomLevelByViewPort(boundarea,1e3,600);var overlap_pct=50;var quota=50;var mid=1;if(isCBVersion()||isWPVersion()){var t=PPlaceType.BLOCKGROUP;var defids=boundaryMatrix.getAllBoundaryDefinitionIdsForTypeId(t.getId());boundarea.getAggregates(t,null,defids,function(pps){centerpoint.getPlacesContaining(PPlaceType.COUNTY,null,null,function(counties){displayReportCB(pps,boundarea,counties)})},overlap_pct,null,null,null,null,null,null,quota)}else{displayReportCB([],boundarea,counties)}}function displayDistrictsCB(ps,divid,compare,joinType){if(!joinType){joinType=","}var places=ps;var $div=$("#"+divid);var $content=$("<span>");var state=null;if(compare&&compare instanceof PPlace){state=compare.getState()}function getList(){var html="";for(var i=0;i<places.length;i++){html+=places[i].getLabel()+joinType+" "}html=html.substring(0,html.length-2);return html}if(places==null){$content.append("<span style='color:#ccc;font-style:italic'>Too many to display</span>")}else if(places.length>10){var html=" "+places.length+" "+places[0].getType().getPluralName()+" ";$content.append(html);var $a=$("<a>",{class:"link"});$a.html("(show)");$a.click(function(){var $list=$(this).parent().parent().parent().next();if($list.is(":visible")){$list.hide();$(this).html("(show)")}else{$list.show();$(this).html("(hide)")}});$content.append($a);var $listdiv=$("<div>",{class:"long-list is-hidden"});$listdiv.html(getList());$div.parent().after($listdiv)}else if(places.length>0){$content.append(getList())}else if(compare&&compare instanceof PPlace&&(compare.getType()==PPlaceType.CSI_NEIGHBORHOOD||compare.getType()==PPlaceType.AW_NEIGHBORHOOD||compare.getType()==PPlaceType.CB_PLANNING||compare.getType()==PPlaceType.CB_COUNCIL||compare.getType()==PPlaceType.WP_ZIP||compare.getType()==PPlaceType.ZIP||compare.getType()==PPlaceType.PHILA_CATCHMENT_ES||compare.getType()==PPlaceType.CB_COUNCIL_2016||compare.getType()==PPlaceType.SCHOOL)){$content.html(compare.getLabel())}if($content.html()==""){$content.html("<span class='na'>None Found</span>")}$div.append(" ");$div.append($content)}function generateReportSitesList(set,place,filters){P.instances.pagePopUp=new CBPopUp;if(filters){set.clearFilters();for(var i=0;i<filters.length;i++){set.addFilter(filters[i])}}set.overrideLimit=false;P.instances.pagePopUp.show();place.getMarkersWithin(set,function(markers){var opts={hidetitle:true};P.instances.rPins=new CBReportPins(opts);var count=0;if(!(markers[0]instanceof PMarker)){count=markers[0]}else if(markers[0]instanceof PMarker&&!markers[0].isPoly){count=markers.length}P.instances.rPins.load(place.getLabel(),set.id,set.type,set.getLabel(),place.id,"",count,null,place.getType().id,place.polysetid,null,filters)})}function getDisplayMarkersListCB(markers,elem,label,joinType){if(!label){var label=""}if(!joinType){joinType=","}var $content=$("<span>");var list='<span class="na">None Found</span>';var getList=function(){if(markers[0]instanceof PMarker){var arr=[];for(var i=0;i<markers.length;i++){var m=markers[i];var attr=m.attributes[0];if(attr.value&&attr.value.length>0){arr.push(attr.value)}}if(arr.length>0){list=arr.join(joinType+" ")}}else if(markers.length>0){list=markers[0]}return list};if(markers.length>15){var html=" "+markers.length+" "+label+" ";$content.append(html);var $a=$("<a>",{class:"link"});$a.html("(show)");$a.click(function(){var $list=$(this).parent().parent().parent().next();if($list.is(":visible")){$list.hide();$(this).html("(show)")}else{$list.show();$(this).html("(hide)")}});$content.append($a);var $listdiv=$("<div>",{class:"long-list is-hidden"});$listdiv.html(getList());elem.parent().after($listdiv)}else{$content.append(getList())}elem.append($content)}function getPhillyContainmentsLists(b){var mid=1;b.getAggregates(PPlaceType.CSI_NEIGHBORHOOD,mid,null,function(aggs){displayDistrictsCB(aggs,"neighborhoods",b)},0,null,PPlaceType.LABEL,null,0,null,PPlaceType.LABEL);b.getAggregates(PPlaceType.WP_ZIP,mid,null,function(aggs){displayDistrictsCB(aggs,"zip-codes",b)},0,null,PPlaceType.LABEL,null,0,null,PPlaceType.LABEL);b.getAggregates(PPlaceType.CB_COUNCIL_2016,mid,null,function(aggs){displayDistrictsCB(aggs,"council-districts",b)},0,null,PPlaceType.LABEL,null,3,null,PPlaceType.LABEL);b.getAggregates(PPlaceType.PHILA_CATCHMENT_ES,mid,null,function(aggs){displayDistrictsCB(aggs,"school-catchment",b,";")},0,null,PPlaceType.LABEL,null,3,null,PPlaceType.LABEL);b.getAggregates(PPlaceType.CB_PLANNING,mid,null,function(aggs){displayDistrictsCB(aggs,"planning-districts",b,";")},0,null,PPlaceType.LABEL,null,3,null,PPlaceType.LABEL)}function displayWilliamPennReport(aggregates,boundarea,counties){var params=getUrlParams();getPhillyContainmentsLists(boundarea);var aggObj={1:[],2:[],3:[],4:[]};for(var i=0;i<aggregates.length;i++){var p=aggregates[i];var mIds=boundaryMatrix.getAllMatrixIdsForDefinitionId(p.getDefinitionId());for(var j=0;j<mIds.length;j++){mId=mIds[j];aggObj[mId].push(p)}}if(boundarea.getType()==PPlaceType.BLOCKGROUP){var p=boundarea;var mId=boundaryMatrix.getMatrixIdForDefinitionId(p.getDefinitionId());aggObj[mId]=[p]}if(P.WKPrint.isPrintPage()===true){$("head").append('<link rel="stylesheet" href="/cssPrint/culture_blocks.css" type="text/css" />');$(".print-page2").append($(".report-charts"))}var overrideSitesLimit=true;var ocdelphiaid=136250;var set=getOverlaySetForWidget(ocdelphiaid,"old").then(function(set){var filters=set.displayfiltergroups["Keystone STARS"];var ftrs=[];for(var i=0;i<filters.length;i++){if(filters[i].values[0]!="COLORCODE"){ftrs.push(filters[i])}}set.setFiltersByIcons(ftrs,set.colorcodes);map.addOverlaySet(set);$c=$("#filters-container");var cnt=0;var $column=$("<div>",{class:"column"});for(var i=0;i<ftrs.length;i++){var imgsrc=set.filtericons[i].image;var str=ftrs[i].valuesDisplay;var $img=$("<img>",{class:"icon",src:imgsrc});var $label=$("<span>",{class:"label"});$label.html(str);var $div=$("<div>",{class:"filter"});$div.append($img);$div.append($label);$column.append($div);cnt++;if(cnt==2||i==ftrs.length-1){$c.append($column);$column=$("<div>",{class:"column"});cnt=0}}});var set=new POverlaySet(124950);set.type="old";set.overrideLimit=overrideSitesLimit;set.map=null;boundarea.getMarkersWithin(set,function(markers){var elem=$("#schools");var list=getDisplayMarkersListCB(markers,elem,"Schools",";")},true);var set=new POverlaySet(125100);set.type="old";set.overrideLimit=overrideSitesLimit;set.map=null;boundarea.getMarkersWithin(set,function(markers){var elem=$("#rec-centers");var list=getDisplayMarkersListCB(markers,elem,"Recreation Centers")});var set=new POverlaySet(125e3);set.type="old";set.overrideLimit=overrideSitesLimit;set.map=null;boundarea.getMarkersWithin(set,function(markers){var elem=$("#libraries");var list=getDisplayMarkersListCB(markers,elem,"Libraries")});var aggList=$("#agg-list");var aggToggle=$("#agg-toggle");var aggTogglePrint=$("#agg-toggle-print");var t=getAggregatedPlaceNames(aggObj[2]);aggList.html(t);aggToggle.click(function(){if(aggList.is(":visible")){aggList.slideUp();aggToggle.text("(+) Show");aggTogglePrint.text("Not Displayed")}else{aggList.slideDown();aggToggle.text("(-) Hide");aggTogglePrint.text("")}});if(params["da"]){aggToggle.click()}var PIE_DATA=[];var TOTAL_CAPACITY=0;var childCareSitesData=[];var starLevels=[["STAR 4","STAR 3"],["STAR 2","STAR 1"],["No STAR Level"],["STAR 4","STAR 3","STAR 2","STAR 1","No STAR Level"]];var getMarkersData=function(set,cnt,totalcnt,elemname){set.type="old";set.overrideLimit=overrideSitesLimit;set.map=null;set.cnt=cnt;set.clearFilters();if(set.id==136250){var filters=set.displayfiltergroups["Keystone STARS"];addfilters=[];for(var i=0;i<filters.length;i++){var filter=filters[i];var stars=starLevels[cnt];for(var k=0;k<stars.length;k++){if(stars[k]==filter.values[0]){addfilters.push(filter)}}}for(var i=0;i<addfilters.length;i++){set.addFilter(addfilters[i])}}boundarea.getMarkersWithin(set,function(markers){var countid="#"+elemname+"-count"+cnt;var slotsid="#"+elemname+"-slots"+cnt;var length=0;if(markers.length>0){if(markers[0]instanceof PMarker){length=markers.length}else{length=markers[0]}}var slots=0;for(var i=0;i<markers.length;i++){atts=markers[i].attributes;for(var j=0;j<atts.length;j++){var a=atts[j];if(a.name=="Capacity"||a.name=="Estimated Supply"){var value=parseInt(a.value);if(value!=-9999&&!isNaN(value)){slots+=value}continue}}}var arr=["Certified Slots <br> (3 & 4 Stars)","Certified Slots  <br> (1 & 2 Stars)","Certified Slots <br>  0 Stars"];if(set.id==136250){childCareSitesData.push({fac:markers.length,slots:slots});if(cnt<arr.length){TOTAL_CAPACITY=TOTAL_CAPACITY+slots;PIE_DATA.push([arr[cnt],slots])}}$(countid).html(PWebUtil.formatNumber(length));$(slotsid).html(PWebUtil.formatNumber(slots));if(typeof $(countid)[0]!="undefined"){$(countid)[0].filters=set.getFilters()}$(".seelist").poshytip({content:"View in table",className:"tip-twitter",alignTo:"target",alignX:"center",alignY:"top",offsetY:30,slide:false,showTimeout:0,hideTimeout:0});if(length==0){$(countid).next().hide()}else{$(countid).click(function(){var filters=this.filters;var $elem=$("<div />",{class:"see-list--container"});var $t=$("<div />",{class:"site-title"});var text=$(this).parent().prev().text();$t.html(text);$elem.append($t);$(this).append($elem);var html=getSiteListHtmlCB(set,place);$elem.append(html);generateReportSitesListInAlert(set,boundarea,filters,$elem)})}cnt++;if(cnt<totalcnt){getMarkersData(set,cnt,totalcnt,elemname)}else if(set.id==136250){var totalChildCareSites=markers.length;var id=136100;var s=new POverlaySet(id);s.type="old";s.overrideLimit=overrideSitesLimit;s.map=null;boundarea.getMarkersWithin(s,function(markers){var un_cap=0;for(var i=0;i<markers.length;i++){atts=markers[i].attributes;for(var j=0;j<atts.length;j++){var a=atts[j];if(a.columnName=="sup_est"){if(a.value!=-9999){un_cap+=a.value}continue}}}var unCertLabel="Not Certified Slots";PIE_DATA.push([unCertLabel,un_cap]);var sum_data=[];var percent_data=[];for(var i=0;i<PIE_DATA.length;i++){var value=PIE_DATA[i][1];var p=value/(TOTAL_CAPACITY+un_cap);percent_data.push([PIE_DATA[i][0],p]);sum_data.push(PWebUtil.formatNumber(value))}WPLoadChildCare(aggObj,counties,childCareSitesData,totalChildCareSites);load_childcare_slots_by_starlevel_chart(boundarea);var location4title=boundarea.getLabel().toUpperCase();if(boundarea.isCustomOrPoly()){var location4title="REPORT REGION"}var d=new Date;var months=new Array;months[0]="January";months[1]="February";months[2]="March";months[3]="April";months[4]="May";months[5]="June";months[6]="July";months[7]="August";months[8]="September";months[9]="October";months[10]="November";months[11]="December";var month=months[d.getMonth()];var year=d.getFullYear();var title="Childcare Slots, "+location4title+", "+month+" "+year;buildWPPieChart(percent_data,"wp-childcare-pie1",title,sum_data);var countydata=[[arr[0],18],[arr[1],27],[arr[2],27],[unCertLabel,28]];var sum_data=["19,131","27,682","25,899","28,789"];title="Childcare Slots, "+"City Of Philadelphia"+", "+month+" "+year;buildWPPieChart(countydata,"wp-childcare-pie2",title,sum_data)})}})};$("#asset-directory").click(function(){boundarea.getMarkersWithinCSV([ocdelphiaid])});var set=getOverlaySetForWidget(ocdelphiaid,"old").then(function(set){getMarkersData(set,0,4,"childcare")});var id=133950;$("#asset-directory").click(function(){boundarea.getMarkersWithin([id])});var set=getOverlaySetForWidget(id,"old").then(function(set){getMarkersData(set,0,1,"headstart")});WPLoadSchoolEnrollment(aggObj,counties);WPLoadPopAndAge(aggObj,counties);WPLoadRace(aggObj,counties);var overlap_pct=50;boundarea.getPlacesWithin(PPlaceType.CENSUSTRACT,null,null,function(tracts){WPLoadIncome(aggObj,counties,tracts);var aggList=$("#tracts-list");var aggToggle=$("#tracts-toggle");var aggTogglePrint=$("#tracts-toggle-print");var t=getAggregatedPlaceNames(tracts);aggList.html(t);aggToggle.click(function(){if(aggList.is(":visible")){aggList.slideUp();aggToggle.text("(+) Show");aggTogglePrint.text("Not Displayed")}else{aggList.slideDown();aggToggle.text("(-) Hide");aggTogglePrint.text("")}});if(params["da"]){aggToggle.click()}},overlap_pct,null,null,null,"id,identifier,label,typeid,state");P.CloneOptions.acssrc="Census, American Community Survey (2009-2013)";WPLoadHouseholdStatus(aggObj,counties);WPLoadJobs(aggObj,counties);WPLoadTrans(aggObj,counties);WPLoadEducation(aggObj,counties);WPLoadGeographyType(boundarea.typeid)}function WPLoadSchoolEnrollment(aggObj,counties){var i={};i.CK12PUB=new PIndicator(9873905);i.CK12PRIV=new PIndicator(9873910);i.CK12ALL=new PIndicator(9873922);var allinds=[];for(var ind in i){i[ind].n=ind;allinds.push(i[ind])}var periods=[P.constants.latestACSPeriod];var cube1=new PCube(allinds,aggObj[2],periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(allinds,counties,periods);cube2.loadValues(function(values){this.values=values;var per=periods[0];var VALUES={};var CVALUES={};var ind=i.CK12PUB;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CK12PRIV;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CK12ALL;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var $table=$("<table>",{class:"datatable boldfirsttd"});var html="<caption>School Enrollment</caption>";html+="<thead><tr>";html+="<th></th>";html+="<th>Percent of Children</th>";html+="<th>Percent of Children (Philadelphia)</th>";html+="</tr></thead>";var ind=i.CK12PUB;var dInd=i.CK12ALL;html+="<tr>";html+="<td class='ind-label'>Children enrolled in public school</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CK12PRIV;var dInd=i.CK12ALL;html+="<tr>";html+="<td class='ind-label'>Children enrolled in private school</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";$table.append(html);$("#school-table").append($table);var arr=[P.CloneOptions.acssrc];var $src=WPSetSourceLinks(arr,"school-section")})})}function WPLoadPopAndAge(aggObj,counties){var i={};i.CPOPLT1=new PIndicator(9917671);i.CPOP1=new PIndicator(9917664);i.CPOP2=new PIndicator(9917661);i.CPOP3=new PIndicator(9917659);i.CPOP4=new PIndicator(9917663);i.CPOP0_4=new PIndicator(9868901);i.CPOP5_9=new PIndicator(9869090);i.CPOP10_14=new PIndicator(9869025);i.CPOP15_17=new PIndicator(9868851);i.CPOP18_34=new PIndicator(9868870);i.CPOP35_64=new PIndicator(9906418);i.CPOP65P=new PIndicator(9868923);i.CPOP=new PIndicator(9869069);i.CPOPALLAGE=new PIndicator(9917674);var countyinds=[];for(var ind in i){countyinds.push(i[ind])}var allinds=[];for(var ind in i){i[ind].n=ind;
allinds.push(i[ind])}var periods=[2010];var cube1=new PCube(allinds,aggObj[2],periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(allinds,counties,periods);cube2.loadValues(function(values){this.values=values;var per=periods[0];var VALUES={};var CVALUES={};var ind=i.CPOP;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOP0_4;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOP18_34;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOP35_64;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOPLT1;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOP1;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOP2;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOP3;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOP4;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOP0_4;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOP5_9;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOP10_14;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOP15_17;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOP65P;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOP;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOPALLAGE;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var text="In the report area in 2010, there were a total of "+VALUES[i.CPOP.n].f+" people, "+VALUES[i.CPOP0_4.n].f+" of which were childcare age (under the age of 5) and "+PWebUtil.formatNumber(VALUES[i.CPOP18_34.n].s+VALUES[i.CPOP35_64.n].s)+" of which were of working age.";$("#population-text").html(text);var $table=$("<table>",{class:" datatable boldfirsttd"});var html="<caption>Age distribution in "+$("#report-title").html()+"</caption>";html+="<thead>";html+="<tr>";html+="<th>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Age &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</th>";html+="<th>Number of People in Age Group</th>";html+="<th>Percent of People in Age Group</th>";html+="<th>Percent of People in Age Group (Philadelphia)</th>";html+="</tr>";html+="</thead>";var ind=i.CPOPLT1;var dInd=i.CPOPALLAGE;html+="<tr>";html+="<td class='ind-label'>Under 1 year old</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOP1;html+="<tr>";html+="<td class='ind-label'>1 year old</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOP2;html+="<tr>";html+="<td class='ind-label'>2 years old</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOP3;html+="<tr>";html+="<td class='ind-label'>3 years old</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOP4;html+="<tr>";html+="<td class='ind-label'>4 years old</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOP0_4;html+="<tr>";html+="<td class='ind-label'>Under 5 years old</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var V=VALUES;var total=V[i.CPOP5_9.n].s+V[i.CPOP10_14.n].s+V[i.CPOP15_17.n].s;var V=CVALUES;var countyTotal=V[i.CPOP0_4.n].s+V[i.CPOP5_9.n].s+V[i.CPOP10_14.n].s+V[i.CPOP15_17.n].s;html+="<tr>";html+="<td class='ind-label'>5 - 17 years old</td>";html+="<td>"+PWebUtil.formatNumber(total)+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(total,VALUES[i.CPOPALLAGE.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(countyTotal,CVALUES[i.CPOPALLAGE.n].s,100),"_%")+"</td>";html+="</tr>";var V=VALUES;var total=V[i.CPOP18_34.n].s+V[i.CPOP35_64.n].s;var V=CVALUES;var countyTotal=V[i.CPOP18_34.n].s+V[i.CPOP35_64.n].s;html+="<tr>";html+="<td class='ind-label'>18-64 year old</td>";html+="<td>"+PWebUtil.formatNumber(total)+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(total,VALUES[i.CPOPALLAGE.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(countyTotal,CVALUES[i.CPOPALLAGE.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOP65P;html+="<tr>";html+="<td class='ind-label'>65+ years old</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOP;html+="<tr>";html+="<td class='ind-label'>Total Population</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>N/A</td>";html+="<td>N/A</td>";html+="</tr>";$table.append(html);$("#population-table").append($table);var s1=[];var s2=[];var s3=[];var s4=[];var s5=[];ageArr1=[];ageArr2=[];var V=VALUES;var prc=divideCheck(V[i.CPOPLT1.n].s,V[i.CPOP0_4.n].s,100);var val=checkValueForNull(prc);ageArr1.push(parseFloat(val));s1.push(parseFloat(val));var V=CVALUES;var prc=divideCheck(V[i.CPOPLT1.n].s,V[i.CPOP0_4.n].s,100);var val=checkValueForNull(prc);ageArr2.push(parseFloat(val));s1.push(parseFloat(val));var V=VALUES;var prc=divideCheck(V[i.CPOP1.n].s,V[i.CPOP0_4.n].s,100);var val=checkValueForNull(prc);ageArr1.push(parseFloat(val));s2.push(parseFloat(val));var V=CVALUES;var prc=divideCheck(V[i.CPOP1.n].s,V[i.CPOP0_4.n].s,100);var val=checkValueForNull(prc);ageArr2.push(parseFloat(val));s2.push(parseFloat(val));var V=VALUES;var prc=divideCheck(V[i.CPOP2.n].s,V[i.CPOP0_4.n].s,100);var val=checkValueForNull(prc);ageArr1.push(parseFloat(val));s3.push(parseFloat(val));var V=CVALUES;var prc=divideCheck(V[i.CPOP2.n].s,V[i.CPOP0_4.n].s,100);var val=checkValueForNull(prc);ageArr2.push(parseFloat(val));s3.push(parseFloat(val));var V=VALUES;var prc=divideCheck(V[i.CPOP3.n].s,V[i.CPOP0_4.n].s,100);var val=checkValueForNull(prc);ageArr1.push(parseFloat(val));s4.push(parseFloat(val));var V=CVALUES;var prc=divideCheck(V[i.CPOP3.n].s,V[i.CPOP0_4.n].s,100);var val=checkValueForNull(prc);ageArr2.push(parseFloat(val));s4.push(parseFloat(val));var V=VALUES;var prc=divideCheck(V[i.CPOP4.n].s,V[i.CPOP0_4.n].s,100);var val=checkValueForNull(prc);ageArr1.push(parseFloat(val));s5.push(parseFloat(val));var V=CVALUES;var prc=divideCheck(V[i.CPOP4.n].s,V[i.CPOP0_4.n].s,100);var val=checkValueForNull(prc);ageArr2.push(parseFloat(val));s5.push(parseFloat(val));var data=[];data.push(ageArr1);data.push(ageArr2);var colors=["#716A99","#87AA4f","#247dA0","#C67830","#C65265"];plot3=$.jqplot("age-chart",[s1,s2,s3,s4,s5],{title:"Age Distribution of Children <br> Under the Age of 5",stackSeries:true,seriesColors:colors,captureRightClick:true,seriesDefaults:{renderer:$.jqplot.BarRenderer,rendererOptions:{barMargin:30,highlightMouseDown:true,barWidth:50},pointLabels:{show:false}},axes:{xaxis:{renderer:$.jqplot.CategoryAxisRenderer,ticks:["Report Area","City of Philadelphia"],drawMajorGridlines:false},yaxis:{renderer:$.jqplot.LogAxisRenderer,tickOptions:{labelPosition:"middle",angle:-30},tickRenderer:$.jqplot.CanvasAxisTickRenderer,labelRenderer:$.jqplot.CanvasAxisLabelRenderer,labelOptions:{fontFamily:"Helvetica",fontSize:"14pt"},label:"Percent of Children under 5",padMin:0,min:0,max:100,tickInterval:20}},legend:{renderer:$.jqplot.EnhancedLegendRenderer,show:true,location:"s",placement:"outside",rendererOptions:{numberColumns:3},border:"none",marginTop:"40px",marginLeft:"-55px",labels:["Under 1 year","1 year old","2 year old","3 year old","4 year old"]},grid:{drawGridlines:true,borderColor:"transparent",shadow:false,drawBorder:false,shadowColor:"transparent",background:"#FFFFFF"}});var arr=["Census, 2010"];var $src=WPSetSourceLinks(arr,"population-section")})})}function WPLoadRace(aggObj,counties){var i={};i.CPOPWH=new PIndicator(9869048);i.CPOPBK=new PIndicator(9868917);i.CPOPAS=new PIndicator(9868922);i.CPOPNHPI=new PIndicator(9868883);i.CPOPAIAN=new PIndicator(9868954);i.CPOPOTH=new PIndicator(9868998);i.CPOPTWOP=new PIndicator(9869034);i.CPOPHISP=new PIndicator(9868879);i.CPOPALLRACE=new PIndicator(9868881);i.CPOPALLETH=new PIndicator(9868976);var allinds=[];for(var ind in i){i[ind].n=ind;allinds.push(i[ind])}var periods=[2010];var cube1=new PCube(allinds,aggObj[2],periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(allinds,counties,periods);cube2.loadValues(function(values){this.values=values;var per=periods[0];var VALUES={};var CVALUES={};var ind=i.CPOPWH;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOPBK;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOPAS;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOPNHPI;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOPAIAN;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOPOTH;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOPTWOP;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOPHISP;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOPALLRACE;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var ind=i.CPOPALLETH;var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var html="<caption>Race and Ethnicity in "+$("#report-title").html()+"</caption>";html+="<thead><tr>";html+="<th></th>";html+="<th>Number of People</th>";html+="<th>Percent of Population</th>";html+="<th>Percent of Population (Philadelphia)</th>";html+="</tr></thead>";var ind=i.CPOPWH;var dInd=i.CPOPALLRACE;html+="<tr>";html+="<td class='ind-label'>White</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOPBK;var dInd=i.CPOPALLRACE;html+="<tr>";html+="<td class='ind-label'>African-American</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOPAS;var dInd=i.CPOPALLRACE;html+="<tr>";html+="<td class='ind-label'>Asian</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOPNHPI;var dInd=i.CPOPALLRACE;html+="<tr>";html+="<td class='ind-label'>Native Hawaiian or Pacific Islander</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOPAIAN;var dInd=i.CPOPALLRACE;html+="<tr>";html+="<td class='ind-label'>American Indian or Alaskan Native</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOPOTH;var dInd=i.CPOPALLRACE;html+="<tr>";html+="<td class='ind-label'>Some Other Race</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOPTWOP;var dInd=i.CPOPALLRACE;html+="<tr>";html+="<td class='ind-label'>Two or More Races</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var ind=i.CPOPHISP;var dInd=i.CPOPALLETH;html+="<tr>";html+="<td class='ind-label'>Hispanic</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var $table=$("<table>",{class:"datatable boldfirsttd",width:"100%"});$table.append(html);$("#wp-race-table").append($table);var arr=["Census, 2010"];var $src=WPSetSourceLinks(arr,"race-section")})})}function WPLoadIncome(aggObj,counties,tracts){var i={};i.CFLT25=new PIndicator(9917650);i.CF25_35=new PIndicator(9917666);i.CF35_50=new PIndicator(9917672);i.CF50_75=new PIndicator(9917658);i.CF75_100=new PIndicator(9917662);i.CF100_125=new PIndicator(9917668);i.CF125_150=new PIndicator(9917652);i.CF150P=new PIndicator(9917667);i.CFALLINC=new PIndicator(9917673);i.CHILT25=new PIndicator(9871803);i.CHI25_35=new PIndicator(9871920);i.CHI35_50=new PIndicator(9871806);i.CHI50_75=new PIndicator(9871923);i.CHI75_100=new PIndicator(9871914);i.CHI100_125=new PIndicator(9871957);i.CHI125_150=new PIndicator(9871938);i.CHI150P=new PIndicator(9871960);i.CFAMPOV=new PIndicator(9871986);i.CHIALL=new PIndicator(9871984);i.CFAMALLINC=new PIndicator(9871916);i.MHHINC=new PIndicator(9871831);i.MFAMINC=new PIndicator(9871853);i.CFAM=new PIndicator(9868933);i.CHH=new PIndicator(9869078);var allinds=[];for(var ind in i){i[ind].n=ind;allinds.push(i[ind])}var ti={};ti.CFAMPOV_LT200P=new PIndicator(9917670);ti.CFAMPOV_LT300P=new PIndicator(9917653);ti.CFAMPOV_GT300P=new PIndicator(9917655);ti.CFAMPOV50P=new PIndicator(9918950);ti.CFAMUND5POV_ALL=new PIndicator(9918952);ti.CFAMUND5_ALL=new PIndicator(9918951);ti.CFAMPOV_ALL=new PIndicator(9917654);var tractIndsArr=[];for(var ind in ti){ti[ind].n=ind;tractIndsArr.push(ti[ind])}var periods=[P.constants.latestACSPeriod];var cube1=new PCube(allinds,aggObj[2],periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(allinds.concat(tractIndsArr),counties,periods);cube2.loadValues(function(values){this.values=values;var cube3=new PCube(tractIndsArr,tracts,periods);cube3.loadValues(function(values){this.values=values;var per=periods[0];var VALUES={};var CVALUES={};var TVALUES={};for(var name in i){var ind=i[name];var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)}}for(var name in ti){var ind=ti[name];var s=getSumOfPlaces(cube3,ind,per);TVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)}}var ind=i.MHHINC;var arr=cube1.getSortedValuesOfPlacesIgnoreNulls(ind,per);var mhhinc=getRangeString(arr[0],arr[arr.length-1],"$_").toLowerCase();var arr=cube2.getSortedValuesOfPlaces(ind,per);var mhhinc_county=getRangeString(arr[0],arr[arr.length-1],"$_");var ind=i.MFAMINC;var arr=cube1.getSortedValuesOfPlacesIgnoreNulls(ind,per);var mfaminc=getRangeString(arr[0],arr[arr.length-1],"$_").toLowerCase();var arr=cube2.getSortedValuesOfPlaces(ind,per);var mfaminc_county=getRangeString(arr[0],arr[arr.length-1],"$_");var cfam=VALUES[i.CFAM.n].f;var chh=VALUES[i.CHH.n].f;var text="The median <b>household</b> income for block groups in this area "+mhhinc+", compared to the city median of "+mhhinc_county+", as estimated for 2009-2013 by the Census' American Community Survey.  The median <b>family</b> income of block groups in this area "+mfaminc+", compared to the city median of "+mfaminc_county+". The area includes a total of "+cfam+" families and "+chh+" households.";var html="<caption>Income in "+$("#report-title").html()+"</caption>";html+="<thead><tr>";html+="<th></th>";html+="<th>Number of Families</th>";html+="<th>Percent of Families</th>";html+="<th>Percent of Families (Philadelphia)</th>";html+="<th>Number of Households</th>";html+="<th>Percent of Households</th>";html+="<th>Percent of Households (Philadelphia)</th>";html+="</tr></thead>";var getRow=function(ind1,dInd1,ind2,dInd2,label){var h="";var ind=ind1;var dInd=dInd1;h+="<tr>";h+="<td class='ind-label'>"+label+"</td>";h+="<td>"+VALUES[ind.n].f+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";var ind=ind2;var dInd=dInd2;h+="<td>"+VALUES[ind.n].f+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";h+="</tr>";return h};var dInd1=i.CFALLINC;var dInd2=i.CHIALL;html+=getRow(i.CFLT25,dInd1,i.CHILT25,dInd2,"Less than $25,000");html+=getRow(i.CF25_35,dInd1,i.CHI25_35,dInd2,"$25,000 - $34,999");html+=getRow(i.CF35_50,dInd1,i.CHI35_50,dInd2,"$35,000 - $49,999");html+=getRow(i.CF50_75,dInd1,i.CHI50_75,dInd2,"$50,000 - $74,999");html+=getRow(i.CF75_100,dInd1,i.CHI75_100,dInd2,"$75,000 - $99,999");html+=getRow(i.CF100_125,dInd1,i.CHI100_125,dInd2,"$100,000 - $124,999");html+=getRow(i.CF125_150,dInd1,i.CHI125_150,dInd2,"$125,000 - $149,999");html+=getRow(i.CF150P,dInd1,i.CHI150P,dInd2,"$150,000 or more");var ind=ti.CFAMPOV50P;var dInd=ti.CFAMPOV_ALL;var label="Families in Deep Poverty: Up to 50% of Poverty";html+="<tr>";html+="<td class='ind-label'>"+label+"</td>";html+="<td>"+TVALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(TVALUES[ind.n].s,TVALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>N/A</td>";html+="<td>N/A</td>";html+="<td>N/A</td>";html+="</tr>";var ind=i.CFAMPOV;var dInd=i.CFAMALLINC;var label="Families in Poverty";html+="<tr>";html+="<td class='ind-label'>"+label+"</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>N/A</td>";html+="<td>N/A</td>";html+="<td>N/A</td>";html+="</tr>";var ind=ti.CFAMPOV_LT200P;var dInd=ti.CFAMPOV_ALL;var label="Up to 200% of Poverty";html+="<tr>";html+="<td class='ind-label'>"+label+"</td>";html+="<td>"+TVALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(TVALUES[ind.n].s,TVALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>N/A</td>";html+="<td>N/A</td>";html+="<td>N/A</td>";html+="</tr>";var ind=ti.CFAMPOV_LT300P;var dInd=ti.CFAMPOV_ALL;var label="Up to 300% of Poverty";html+="<tr>";html+="<td class='ind-label'>"+label+"</td>";html+="<td>"+TVALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(TVALUES[ind.n].s,TVALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>N/A</td>";html+="<td>N/A</td>";html+="<td>N/A</td>";html+="</tr>";var ind=ti.CFAMPOV_GT300P;var dInd=ti.CFAMPOV_ALL;var label="More than 300% of Poverty";html+="<tr>";html+="<td class='ind-label'>"+label+"</td>";html+="<td>"+TVALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(TVALUES[ind.n].s,TVALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>N/A</td>";html+="<td>N/A</td>";html+="<td>N/A</td>";html+="</tr>";var ind=ti.CFAMUND5POV_ALL;var dInd=ti.CFAMUND5_ALL;var label="Families with Children Under 5 in Poverty***";html+="<tr>";html+="<td class='ind-label'>"+label+"</td>";html+="<td>"+TVALUES[ind.n].f+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(TVALUES[ind.n].s,TVALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>N/A</td>";html+="<td>N/A</td>";html+="<td>N/A</td>";html+="</tr>";var $table=$("<table>",{class:"datatable boldfirsttd"});$table.append(html);$("#wp-income-text").append(text);$("#wp-income-table").append($table);var arr=[P.CloneOptions.acssrc];var $src=WPSetSourceLinks(arr,"income-section")})})})}function WPLoadHouseholdStatus(aggObj,counties){var i={};i.CHH_NOCH=new PIndicator(9868874);i.CHH_MCWC=new PIndicator(9868990);i.CHH_SHWC=new PIndicator(9869028);i.CHH_FHNHWC=new PIndicator(9869005);i.CHH_ALLTYPE=new PIndicator(9868988);var allinds=[];for(var ind in i){i[ind].n=ind;allinds.push(i[ind])}var periods=[2010];var cube1=new PCube(allinds,aggObj[2],periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(allinds,counties,periods);cube2.loadValues(function(values){this.values=values;var per=periods[0];var VALUES={};var CVALUES={};for(var name in i){var ind=i[name];var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)}}var html="<caption>Household Status in "+$("#report-title").html()+"</caption>";html+="<thead><tr>";html+="<th></th>";html+="<th>Number of Households</th>";html+="<th>Percent of Households</th>";html+="<th>Percent of Households (Philadelphia)</th>";html+="</tr></thead>";var getRow=function(ind,dInd,label){var h="";h+="<tr>";h+="<td class='ind-label'>"+label+"</td>";h+="<td>"+VALUES[ind.n].f+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";h+="</tr>";return h};var dInd=i.CHH_ALLTYPE;html+=getRow(i.CHH_NOCH,dInd,"Without children");html+=getRow(i.CHH_MCWC,dInd,"Married with children");html+=getRow(i.CHH_SHWC,dInd,"Single with children");html+=getRow(i.CHH_FHNHWC,dInd,"Single female with children");var $table=$("<table>",{class:"datatable boldfirsttd"});$table.append(html);$("#wp-household-table").append($table);var arr=["Census, 2010"];var $src=WPSetSourceLinks(arr,"household-section")})})}function WPLoadJobs(aggObj,counties){var i={};i.CR_PRIMJOBS_EARNLOW=new PIndicator(9911313);i.CR_PRIMJOBS_EARNMED=new PIndicator(9911341);i.CR_PRIMJOBS_ALL=new PIndicator(9911309);i.CW_PRIMJOBS_EARNLOW=new PIndicator(9911392);i.CW_PRIMJOBS_EARNMED=new PIndicator(9911408);i.CW_PRIMJOBS_ALL=new PIndicator(9911366);i.CPOP16P=new PIndicator(9906504);i.CLABORFORCE=new PIndicator(9906502);var allinds=[];for(var ind in i){i[ind].n=ind;allinds.push(i[ind])}var periods=[2011,P.constants.latestACSPeriod];var cube1=new PCube(allinds,aggObj[2],periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(allinds,counties,periods);cube2.loadValues(function(values){this.values=values;var per=periods[0];var VALUES={};var CVALUES={};for(var name in i){var per=periods[0];if(name=="CPOP16P"||name=="CLABORFORCE")per=periods[1];var ind=i[name];var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)}}var value=PWebUtil.formatNumber(divideCheck(VALUES[i.CLABORFORCE.n].s,VALUES[i.CPOP16P.n].s,100),"_%");var text="As of the 2009-2013 time period, "+value+" of people ages 16 or older were in the labor force, according to the Census' American Community Survey.";$("#wp-jobs-text").html(text);var html="<caption>Jobs and Economy in "+$("#report-title").html()+"</caption>";html+="<thead><tr>";html+="<th></th>";html+="<th>Number of Working Residents</th>";html+="<th>Percent of Working Residents</th>";html+="<th>Percent of Working Residents (Philadelphia)</th>";html+="<th>Number of Workers Employed in Area</th>";html+="<th>Percent of Workers Employed in Area</th>";html+="<th>Percent of Workers Employed in Philadelphia</th>";html+="</tr></thead>";var getRow=function(ind1,dInd1,ind2,dInd2,label){var h="";var ind=ind1;var dInd=dInd1;h+="<tr>";h+="<td class='ind-label'>"+label+"</td>";h+="<td>"+VALUES[ind.n].f+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";var ind=ind2;var dInd=dInd2;h+="<td>"+VALUES[ind.n].f+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";h+="</tr>";return h};var dInd1=i.CR_PRIMJOBS_ALL;var dInd2=i.CW_PRIMJOBS_ALL;html+=getRow(i.CR_PRIMJOBS_EARNLOW,dInd1,i.CW_PRIMJOBS_EARNLOW,dInd2,"Earning less than $15,000 from primary job");html+=getRow(i.CR_PRIMJOBS_EARNMED,dInd1,i.CW_PRIMJOBS_EARNMED,dInd2,"Earning $15,000 - $39,999 from primary job");var $table=$("<table>",{class:"datatable boldfirsttd"});$table.append(html);$("#wp-jobs-table").append($table);var arr=[P.CloneOptions.acssrc,"Longitudinal Employer-Household Dynamics (2011)****"];var $src=WPSetSourceLinks(arr,"jobs-section")})})}function WPLoadTrans(aggObj,counties){var i={};i.CTRANPT=new PIndicator(9873787);i.CHUNOMV=new PIndicator(9873783);i.CTRANALL=new PIndicator(9873825);i.CHHMIALL=new PIndicator(9873833);var allinds=[];for(var ind in i){i[ind].n=ind;allinds.push(i[ind])}var periods=[P.constants.latestACSPeriod];var cube1=new PCube(allinds,aggObj[2],periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(allinds,counties,periods);cube2.loadValues(function(values){this.values=values;var per=periods[0];var VALUES={};var CVALUES={};for(var name in i){var ind=i[name];var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)}}var html="<caption>Transportation in "+$("#report-title").html()+"</caption>";html+="<thead><tr>";html+="<th></th>";html+="<th>Number</th>";html+="<th>Percent</th>";html+="<th>Percent (Philadelphia)</th>";html+="</tr></thead>";var getRow=function(ind,dInd,label){var h="";h+="<tr>";h+="<td class='ind-label'>"+label+"</td>";h+="<td>"+VALUES[ind.n].f+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";h+="</tr>";return h};var dInd=i.CTRANALL;html+=getRow(i.CTRANPT,dInd,"People using public transportation to get to work");var dInd=i.CHHMIALL;html+=getRow(i.CHUNOMV,dInd,"Households without a vehicle");var $table=$("<table>",{class:"datatable boldfirsttd"});$table.append(html);$("#wp-transportation-table").append($table);var arr=[P.CloneOptions.acssrc];var $src=WPSetSourceLinks(arr,"transportation-section")})})}function WPLoadEducation(aggObj,counties){var i={};i.CLT9TH=new PIndicator(9873900);i.CSMHSNODIP=new PIndicator(9873915);i.CHS=new PIndicator(9873934);i.CSMCOLASS=new PIndicator(9873912);i.CBACH=new PIndicator(9873914);i.CEDUALL=new PIndicator(9873929);var allinds=[];for(var ind in i){i[ind].n=ind;allinds.push(i[ind])}var periods=[P.constants.latestACSPeriod];var cube1=new PCube(allinds,aggObj[2],periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(allinds,counties,periods);cube2.loadValues(function(values){this.values=values;var per=periods[0];var VALUES={};var CVALUES={};for(var name in i){var ind=i[name];var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)}}var html="<caption>Educational Attainment in "+$("#report-title").html()+"</caption>";html+="<thead><tr>";html+="<th></th>";html+="<th>Number of People</th>";html+="<th>Percent of Population</th>";html+="<th>Percent of Population (Philadelphia)</th>";html+="</tr></thead>";var dInd=i.CEDUALL;var value=VALUES[i.CLT9TH.n].s+VALUES[i.CSMHSNODIP.n].s;var cvalue=CVALUES[i.CLT9TH.n].s+CVALUES[i.CSMHSNODIP.n].s;var label="Without a high school diploma";html+="<tr>";html+="<td class='ind-label'>"+label+"</td>";html+="<td>"+PWebUtil.formatNumber(value)+"</td>";
html+="<td>"+PWebUtil.formatNumber(divideCheck(value,VALUES[dInd.n].s,100),"_%")+"</td>";html+="<td>"+PWebUtil.formatNumber(divideCheck(cvalue,CVALUES[dInd.n].s,100),"_%")+"</td>";html+="</tr>";var getRow=function(ind,dInd,label){var h="";h+="<tr>";h+="<td class='ind-label'>"+label+"</td>";h+="<td>"+VALUES[ind.n].f+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(VALUES[ind.n].s,VALUES[dInd.n].s,100),"_%")+"</td>";h+="<td>"+PWebUtil.formatNumber(divideCheck(CVALUES[ind.n].s,CVALUES[dInd.n].s,100),"_%")+"</td>";h+="</tr>";return h};html+=getRow(i.CHS,dInd,"With only a high school diploma");html+=getRow(i.CSMCOLASS,dInd,"With some college or an Associate's Degree");html+=getRow(i.CBACH,dInd,"With at least a Bachelor's Degree");var $table=$("<table>",{class:"datatable boldfirsttd"});$table.append(html);$("#wp-education-table").append($table);var arr=[P.CloneOptions.acssrc];var $src=WPSetSourceLinks(arr,"education-section")})})}function WPLoadChildCare(aggObj,counties,childCareSitesData,totalChildCareSites){var i={};i.RDEM0433=new PIndicator(9917350);var allinds=[];for(var ind in i){i[ind].n=ind;allinds.push(i[ind])}var periods=[2013];var cube1=new PCube(allinds,aggObj[2],periods);cube1.loadValues(function(values){this.values=values;var cube2=new PCube(allinds,counties,periods);cube2.loadValues(function(values){this.values=values;var per=periods[0];var VALUES={};var CVALUES={};for(var name in i){var ind=i[name];var s=getSumOfPlaces(cube1,ind,per);VALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)};var s=getSumOfPlaces(cube2,ind,per);CVALUES[ind.n]={s:s,f:PWebUtil.formatNumber(s)}}var diff=PWebUtil.formatNumber(Math.abs(VALUES[i.RDEM0433.n].s-childCareSitesData[3].slots));var prn=" more";if(diff<0){prn=" less"}var text="In the report area, as of June 2015, there were a total of "+PWebUtil.formatNumber(totalChildCareSites)+" certified childcare facilities, providing approximately "+PWebUtil.formatNumber(childCareSitesData[3].slots)+" certified childcare slots. "+PWebUtil.formatNumber(childCareSitesData[0].fac)+" of these facilities and "+PWebUtil.formatNumber(childCareSitesData[0].slots)+" of these slots had a top Keystone STARS rating of 3 or 4 Stars. With a total estimated childcare demand of "+VALUES[i.RDEM0433.n].f+" children, there were approximately "+diff+prn+"  children of childcare age in the area than there were certified childcare slots.";$("#childcare-text").html(text);var html="<caption>Childcare Demand</caption>";html+="<tr>";html+="<td></td>";html+="<td>Children</td>";html+="</tr>";var ind=i.RDEM0433;var label="Total Estimated Childcare Demand**";html+="<tr>";html+="<td class='ind-label'>"+label+"</td>";html+="<td>"+VALUES[ind.n].f+"</td>";html+="</tr>";var $table=$("<table>",{class:"datatable pull-right",width:"100%"});$table.append(html);$("#wp-childcare-table").append($table);var arr=["TRF analysis of Office of Childhood Development and Early Learning (OCDEL-March 2015), Head Start, Info USA, and NETS data (2013)."];var $src=WPSetSourceLinks(arr,"cultural-assets-section")})})}function load_childcare_slots_by_starlevel_chart(boundarea){var overlaySet=new POverlaySet(152500);overlaySet.type="old";overlaySet.overrideLimit=true;boundarea.getMarkersWithin(overlaySet,function(markers){var capacityArr=[[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0]];var starValues=["No STAR Level","STAR 1","STAR 2","STAR 3","STAR 4"];var timeframeValues=["2014Q1","2014Q2","2014Q3","2014Q4","2015Q1","2015Q2"];var errorsfound=false;try{for(var i=0;i<markers.length;i++){atts=markers[i].attributes;var capacity=0;var star="";var timeframe="";for(var j=0;j<atts.length;j++){var a=atts[j];if(a.columnName=="star"){star=a.value}else if(a.columnName=="capacity"){capacity=a.value}else if(a.columnName=="time_frame"){timeframe=a.value}}if(capacity==-9999){continue}if($.inArray(star,starValues)!=-1){var index1=starValues.indexOf(star);if($.inArray(timeframe,timeframeValues)!=-1){var index2=timeframeValues.indexOf(timeframe);capacityArr[index1][index2]+=capacity}}}}catch(error){errorsfound=true}if(errorsfound){$("#wp-childcare-line-chart").html('<p style="text-align: center;"> Insufficient data for Graph. </p>')}else{var colors=["#716A99","#87AA4f","#247dA0","#C67830","#C65265"];var plot3=$.jqplot("wp-childcare-line-chart",capacityArr,{title:"Change in Certified Childcare Slots by STAR Level",seriesColors:colors,axes:{xaxis:{renderer:$.jqplot.CategoryAxisRenderer,ticks:timeframeValues,drawMajorGridlines:false},yaxis:{renderer:$.jqplot.LogAxisRenderer,tickOptions:{labelPosition:"middle",angle:-30},tickRenderer:$.jqplot.CanvasAxisTickRenderer,labelRenderer:$.jqplot.CanvasAxisLabelRenderer,label:"Childcare Slots",padMin:0,min:0}},legend:{renderer:$.jqplot.EnhancedLegendRenderer,show:true,location:"s",placement:"outside",labels:starValues,rendererOptions:{numberColumns:5},marginTop:"40px",border:"none"},grid:{drawGridlines:true,borderColor:"transparent",shadow:false,drawBorder:false,shadowColor:"transparent",background:"#FFFFFF"}})}})}function generateReportSitesListInAlert(set,place,filters,$e){P.instances.pagePopUp=new CBPopUp;if(filters){set.clearFilters();for(var i=0;i<filters.length;i++){set.addFilter(filters[i])}}set.overrideLimit=false;P.instances.pagePopUp.show();place.getMarkersWithin(set,function(markers){var opts={hidetitle:true};P.instances.rPins=new CBReportPins(opts);var count=0;if(!(markers[0]instanceof PMarker)){count=markers[0]}else if(markers[0]instanceof PMarker&&!markers[0].isPoly){count=markers.length}var f=function(){alerter.popup({content:$e,width:996,addCancel:false,buttons:[],customDialogClass:"clone-alert--see-list"})};P.instances.rPins.load(place.getLabel(),set.id,set.type,set.getLabel(),place.id,"",count,null,place.getType().id,place.polysetid,null,filters,f)})}function getBGCulturalPartData(v1,v2){var total=0;for(var p in v1){if(v1[p]&&v2[p]){total+=v1[p]*v2[p]}}return total}function buildWPPieChart(data,elemid,title,PIE_DATA){var colors=["#716A99","#87AA4f","#247dA0","#C67830","#C65265"];var plot1=jQuery.jqplot(elemid,[data],{title:title,seriesColors:colors,seriesDefaults:{renderer:jQuery.jqplot.PieRenderer,rendererOptions:{showDataLabels:true,sumDataLabels:PIE_DATA}},legend:{show:true,location:"e",border:"none"},grid:{drawGridlines:false,borderColor:"transparent",shadow:false,drawBorder:false,shadowColor:"transparent"}})}function WPSetSourceLinks(arr,id){var links=[];for(var i=0;i<arr.length;i++){var a="<a class='link' href='http://www.childcaremap.org/files/ChildcareMapDataDirectory.pdf' target='new'>"+arr[i]+"</a>";links.push(a)}if(links.length>0){links=links.join("; ")}var $src=$("<div>",{class:"source"});$src.html("Source: "+links);$("#"+id).append($src)}function WPLoadGeographyType(typeid){var displayword="neighborhood";var iscustomarea=false;if(typeid==136){displayword="Zip Code"}else if(typeid==152){displayword="Elementary School Catchment Area"}else if(typeid==24){displayword="Upper State Legislative District"}else if(typeid==25){displayword="Lower State Legislative District"}else if(typeid==135){displayword="Community Umbrella Agency"}else if(typeid==132){displayword="Neighborhood"}else if(typeid==116){displayword="Council District"}else{iscustomarea=true;displayword="report area"}if(iscustomarea){$("#reportlocationwrapper").html(displayword)}else{$("#geographytype").html(displayword)}}
