if(typeof(dojo)!='undefined'){dojo.provide("MochiKit.Base");}
if(typeof(MochiKit)=='undefined'){MochiKit={};}
if(typeof(MochiKit.Base)=='undefined'){MochiKit.Base={};}
if(typeof(MochiKit.__export__)=="undefined"){MochiKit.__export__=(MochiKit.__compat__||(typeof(JSAN)=='undefined'&&typeof(dojo)=='undefined'));}
MochiKit.Base.VERSION="1.4";MochiKit.Base.NAME="MochiKit.Base";MochiKit.Base.update=function(self,obj){if(self===null||self===undefined){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__();},camelize:function(selector){var arr=selector.split('-');var cc=arr[0];for(var i=1;i<arr.length;i++){cc+=arr[i].charAt(0).toUpperCase()+arr[i].substring(1);}
return cc;},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();}},_deps:function(module,deps){if(!(module in MochiKit)){MochiKit[module]={};}
if(typeof(dojo)!='undefined'){dojo.provide('MochiKit.'+module);}
for(var i=0;i<deps.length;i++){if(typeof(dojo)!='undefined'){dojo.require('MochiKit.'+deps[i]);}
if(typeof(JSAN)!='undefined'){JSAN.use('MochiKit.'+deps[i],[]);}
if(!(deps[i]in MochiKit)){throw'MochiKit.'+module+' depends on MochiKit.'+deps[i]+'!'}}},_flattenArray:function(res,lst){for(var i=0;i<lst.length;i++){var o=lst[i];if(o instanceof Array){arguments.callee(res,o);}else{res.push(o);}}
return res;},flattenArray:function(lst){return MochiKit.Base._flattenArray([],lst);},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===undefined){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===undefined){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){rval.push(prop);}
return rval;},values:function(obj){var rval=[];for(var prop in obj){rval.push(obj[prop]);}
return rval;},items:function(obj){var rval=[];var e;for(var prop in obj){var v;try{v=obj[prop];}catch(e){continue;}
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;},seq:function(a,b){return a===b;},sne: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'||o.nodeType===3||o.nodeType===4){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(",")+"))");};},methodcaller:function(func){var args=MochiKit.Base.extend(null,arguments,1);if(typeof(func)=="function"){return function(obj){return func.apply(obj,args);};}else{return function(obj){return obj[func].apply(obj,args);};}},method:function(self,func){var m=MochiKit.Base;return m.bind.apply(this,m.extend([func,self],arguments,2));},compose:function(f1,f2){var fnlist=[];var m=MochiKit.Base;if(arguments.length===0){throw new TypeError("compose() requires at least one argument");}
for(var i=0;i<arguments.length;i++){var fn=arguments[i];if(typeof(fn)!="function"){throw new TypeError(m.repr(fn)+" is not a function");}
fnlist.push(fn);}
return function(){var args=arguments;for(var i=fnlist.length-1;i>=0;i--){args=[fnlist[i].apply(this,args)];}
return args[0];};},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);var bIsNull=(typeof(b)=='undefined'||b===null);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"){ostring=ostring.replace(/^\s+/,"").replace(/\s+/g," ");ostring=ostring.replace(/,(\S)/,", $1");var idx=ostring.indexOf("{");if(idx!=-1){ostring=ostring.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(/[\v]/g,"\\v").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("("+MochiKit.Base._filterJSON(arguments[0])+")");},_filterJSON:function(s){var m=s.match(/^\s*\/\*(.*)\*\/\s*$/);if(m){return m[1];}
return s;},serializeJSON:function(o){if(!o){return"";}
var objtype=typeof(o);if(objtype=="number"||objtype=="boolean"){return o+"";}else if(o===null){return"null";}else if(objtype=="string"){var res="";for(var i=0;i<o.length;i++){var c=o.charAt(i);if(c=='\"'){res+='\\"';}else if(c=='\\'){res+='\\\\';}else if(c=='\b'){res+='\\b';}else if(c=='\f'){res+='\\f';}else if(c=='\n'){res+='\\n';}else if(c=='\r'){res+='\\r';}else if(c=='\t'){res+='\\t';}else if(o.charCodeAt(i)<=0x1F){var hex=o.charCodeAt(i).toString(16);if(hex.length<2){hex='0'+hex;}
res+='\\u00'+hex.toUpperCase();}else{res+=c;}}
return'"'+res+'"';}
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"){continue;}
res.push(val);}
return"["+res.join(", ")+"]";}
var m=MochiKit.Base;try{newObj=m.jsonRegistry.match(o);if(o!==newObj){return me(newObj);}}catch(e){if(e!=m.NotFound){throw e;}}
if(objtype=="undefined"){throw new TypeError("undefined can not be serialized as JSON");}
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=me(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(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;}
if(typeof(start)=="undefined"||start===null){start=0;}
for(var i=start;i<end;i++){if(lst[i]===value){return i;}}
return-1;},mean:function(){var sum=0;var m=MochiKit.Base;var args=m.extend(null,arguments);var count=args.length;while(args.length){var o=args.shift();if(o&&typeof(o)=="object"&&typeof(o.length)=="number"){count+=o.length-1;for(var i=o.length-1;i>=0;i--){sum+=o[i];}}else{sum+=o;}}
if(count<=0){throw new TypeError('mean() requires at least one argument');}
return sum/count;},median:function(){var data=MochiKit.Base.flattenArguments(arguments);if(data.length===0){throw new TypeError('median() requires at least one argument');}
data.sort(compare);if(data.length%2==0){var upper=data.length/2;return(data[upper]+data[upper-1])/2;}else{return data[(data.length-1)/2];}},findValue:function(lst,value,start,end){if(typeof(end)=="undefined"||end===null){end=lst.length;}
if(typeof(start)=="undefined"||start===null){start=0;}
var cmp=MochiKit.Base.compare;for(var i=start;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){if(typeof(names.length)=="number"&&names.length==2){return arguments.callee(names[0],names[1]);}
var o=names;names=[];values=[];for(var k in o){var v=o[k];if(typeof(v)=="function"){continue;}else if(MochiKit.Base.isArrayLike(v)){for(var i=0;i<v.length;i++){names.push(k);values.push(v[i]);}}else{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 qstr=(encodedString.charAt(0)=="?")?encodedString.substring(1):encodedString;var pairs=qstr.replace(/\+/g,"%20").split(/\&amp\;|\&\#38\;|\&#x26;|\&/);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.shift());if(!name){continue;}
var arr=o[name];if(!(arr instanceof Array)){arr=[];o[name]=arr;}
arr.push(decode(pair.join("=")));}}else{for(i=0;i<pairs.length;i++){pair=pairs[i].split("=");var name=pair.shift();if(!name){continue;}
o[decode(name)]=decode(pair.join("="));}}
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=["flattenArray","noop","camelize","counter","clone","extend","update","updatetree","setdefault","keys","values","items","NamedError","operator","forwardCall","itemgetter","typeMatcher","isCallable","isUndefined","isUndefinedOrNull","isNull","isEmpty","isNotEmpty","isArrayLike","isDateLike","xmap","map","xfilter","filter","methodcaller","compose","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","average","mean","median"];MochiKit.Base.EXPORT_OK=["nameFunctions","comparatorRegistry","reprRegistry","jsonRegistry","compareDateLike","compareArrayLike","reprArrayLike","reprString","reprNumber"];MochiKit.Base._exportSymbols=function(globals,module){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.noop=m.operator.identity;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.average=m.mean;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.__export__){compare=MochiKit.Base.compare;compose=MochiKit.Base.compose;serializeJSON=MochiKit.Base.serializeJSON;mean=MochiKit.Base.mean;median=MochiKit.Base.median;}
MochiKit.Base._exportSymbols(this,MochiKit.Base);;MochiKit.Base._deps('Iter',['Base']);MochiKit.Iter.NAME="MochiKit.Iter";MochiKit.Iter.VERSION="1.4";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 self=MochiKit.Iter;var next=self.next;var iterables=m.map(self.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{var result=argiter[0].next();return result;}catch(e){if(e!=self.StopIteration){throw e;}
argiter.shift();var result=argiter[0].next();return result;}}
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||typeof(n)=="undefined"||n===null){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 rval;if(iterable instanceof Array){return iterable.slice();}
if(typeof(iterable)=="function"&&!(iterable instanceof Function)&&typeof(iterable.length)=='number'){rval=[];for(var i=0;i<iterable.length;i++){rval.push(iterable[i]);}
return rval;}
var self=MochiKit.Iter;iterable=self.iter(iterable);var rval=[];var a_val;try{while(true){a_val=iterable.next();rval.push(a_val);}}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){if(typeof(start)=="undefined"||start===null){start=0;}
var x=start;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;var compare=m.compare;return{repr:function(){return"groupby(...)";},next:function(){while(compare(k,pk)===0){fetch();if(first){first=false;break;}}
pk=k;return[k,{next:function(){if(v==undefined){fetch();}
if(compare(k,pk)!==0){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;var compare=m.compare;while(true){try{var value=iterable.next();var key=keyfunc(value);}catch(e){if(e==self.StopIteration){break;}
throw e;}
if(first||compare(key,prev_key)!==0){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;if(typeof(StopIteration)!="undefined"){this.StopIteration=StopIteration;}else{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.__export__){reduce=MochiKit.Iter.reduce;}
MochiKit.Base._exportSymbols(this,MochiKit.Iter);;MochiKit.Base._deps('Logging',['Base']);MochiKit.Logging.NAME="MochiKit.Logging";MochiKit.Logging.VERSION="1.4";MochiKit.Logging.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.Logging.toString=function(){return this.__repr__();};MochiKit.Logging.EXPORT=["LogLevel","LogMessage","Logger","alertListener","logger","log","logError","logDebug","logFatal","logWarning"];MochiKit.Logging.EXPORT_OK=["logLevelAtLeast","isLogMessage","compareLogMessage"];MochiKit.Logging.LogMessage=function(num,level,info){this.num=num;this.level=level;this.info=info;this.timestamp=new Date();};MochiKit.Logging.LogMessage.prototype={repr:function(){var m=MochiKit.Base;return'LogMessage('+
m.map(m.repr,[this.num,this.level,this.info]).join(', ')+')';},toString:MochiKit.Base.forwardCall("repr")};MochiKit.Base.update(MochiKit.Logging,{logLevelAtLeast:function(minLevel){var self=MochiKit.Logging;if(typeof(minLevel)=='string'){minLevel=self.LogLevel[minLevel];}
return function(msg){var msgLevel=msg.level;if(typeof(msgLevel)=='string'){msgLevel=self.LogLevel[msgLevel];}
return msgLevel>=minLevel;};},isLogMessage:function(){var LogMessage=MochiKit.Logging.LogMessage;for(var i=0;i<arguments.length;i++){if(!(arguments[i]instanceof LogMessage)){return false;}}
return true;},compareLogMessage:function(a,b){return MochiKit.Base.compare([a.level,a.info],[b.level,b.info]);},alertListener:function(msg){alert("num: "+msg.num+"\nlevel: "+msg.level+"\ninfo: "+msg.info.join(" "));}});MochiKit.Logging.Logger=function(maxSize){this.counter=0;if(typeof(maxSize)=='undefined'||maxSize===null){maxSize=-1;}
this.maxSize=maxSize;this._messages=[];this.listeners={};this.useNativeConsole=false;};MochiKit.Logging.Logger.prototype={clear:function(){this._messages.splice(0,this._messages.length);},logToConsole:function(msg){if(typeof(window)!="undefined"&&window.console&&window.console.log){window.console.log(msg.replace(/%/g,'\uFF05'));}else if(typeof(opera)!="undefined"&&opera.postError){opera.postError(msg);}else if(typeof(printfire)=="function"){printfire(msg);}else if(typeof(Debug)!="undefined"&&Debug.writeln){Debug.writeln(msg);}else if(typeof(debug)!="undefined"&&debug.trace){debug.trace(msg);}},dispatchListeners:function(msg){for(var k in this.listeners){var pair=this.listeners[k];if(pair.ident!=k||(pair[0]&&!pair[0](msg))){continue;}
pair[1](msg);}},addListener:function(ident,filter,listener){if(typeof(filter)=='string'){filter=MochiKit.Logging.logLevelAtLeast(filter);}
var entry=[filter,listener];entry.ident=ident;this.listeners[ident]=entry;},removeListener:function(ident){delete this.listeners[ident];},baseLog:function(level,message){var msg=new MochiKit.Logging.LogMessage(this.counter,level,MochiKit.Base.extend(null,arguments,1));this._messages.push(msg);this.dispatchListeners(msg);if(this.useNativeConsole){this.logToConsole(msg.level+": "+msg.info.join(" "));}
this.counter+=1;while(this.maxSize>=0&&this._messages.length>this.maxSize){this._messages.shift();}},getMessages:function(howMany){var firstMsg=0;if(!(typeof(howMany)=='undefined'||howMany===null)){firstMsg=Math.max(0,this._messages.length-howMany);}
return this._messages.slice(firstMsg);},getMessageText:function(howMany){if(typeof(howMany)=='undefined'||howMany===null){howMany=30;}
var messages=this.getMessages(howMany);if(messages.length){var lst=map(function(m){return'\n  ['+m.num+'] '+m.level+': '+m.info.join(' ');},messages);lst.unshift('LAST '+messages.length+' MESSAGES:');return lst.join('');}
return'';},debuggingBookmarklet:function(inline){if(typeof(MochiKit.LoggingPane)=="undefined"){alert(this.getMessageText());}else{MochiKit.LoggingPane.createLoggingPane(inline||false);}}};MochiKit.Logging.__new__=function(){this.LogLevel={ERROR:40,FATAL:50,WARNING:30,INFO:20,DEBUG:10};var m=MochiKit.Base;m.registerComparator("LogMessage",this.isLogMessage,this.compareLogMessage);var partial=m.partial;var Logger=this.Logger;var baseLog=Logger.prototype.baseLog;m.update(this.Logger.prototype,{debug:partial(baseLog,'DEBUG'),log:partial(baseLog,'INFO'),error:partial(baseLog,'ERROR'),fatal:partial(baseLog,'FATAL'),warning:partial(baseLog,'WARNING')});var self=this;var connectLog=function(name){return function(){self.logger[name].apply(self.logger,arguments);};};this.log=connectLog('log');this.logError=connectLog('error');this.logDebug=connectLog('debug');this.logFatal=connectLog('fatal');this.logWarning=connectLog('warning');this.logger=new Logger();this.logger.useNativeConsole=true;this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this);};if(typeof(printfire)=="undefined"&&typeof(document)!="undefined"&&document.createEvent&&typeof(dispatchEvent)!="undefined"){printfire=function(){printfire.args=arguments;var ev=document.createEvent("Events");ev.initEvent("printfire",false,true);dispatchEvent(ev);};}
MochiKit.Logging.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Logging);;MochiKit.Base._deps('DateTime',['Base']);MochiKit.DateTime.NAME="MochiKit.DateTime";MochiKit.DateTime.VERSION="1.4";MochiKit.DateTime.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.DateTime.toString=function(){return this.__repr__();};MochiKit.DateTime.isoDate=function(str){str=str+"";if(typeof(str)!="string"||str.length===0){return null;}
var iso=str.split('-');if(iso.length===0){return null;}
var date=new Date(iso[0],iso[1]-1,iso[2]);date.setFullYear(iso[0]);date.setMonth(iso[1]-1);date.setDate(iso[2]);return date;};MochiKit.DateTime._isoRegexp=/(\d{4,})(?:-(\d{1,2})(?:-(\d{1,2})(?:[T ](\d{1,2}):(\d{1,2})(?::(\d{1,2})(?:\.(\d+))?)?(?:(Z)|([+-])(\d{1,2})(?::(\d{1,2}))?)?)?)?)?/;MochiKit.DateTime.isoTimestamp=function(str){str=str+"";if(typeof(str)!="string"||str.length===0){return null;}
var res=str.match(MochiKit.DateTime._isoRegexp);if(typeof(res)=="undefined"||res===null){return null;}
var year,month,day,hour,min,sec,msec;year=parseInt(res[1],10);if(typeof(res[2])=="undefined"||res[2]===''){return new Date(year);}
month=parseInt(res[2],10)-1;day=parseInt(res[3],10);if(typeof(res[4])=="undefined"||res[4]===''){return new Date(year,month,day);}
hour=parseInt(res[4],10);min=parseInt(res[5],10);sec=(typeof(res[6])!="undefined"&&res[6]!=='')?parseInt(res[6],10):0;if(typeof(res[7])!="undefined"&&res[7]!==''){msec=Math.round(1000.0*parseFloat("0."+res[7]));}else{msec=0;}
if((typeof(res[8])=="undefined"||res[8]==='')&&(typeof(res[9])=="undefined"||res[9]==='')){return new Date(year,month,day,hour,min,sec,msec);}
var ofs;if(typeof(res[9])!="undefined"&&res[9]!==''){ofs=parseInt(res[10],10)*3600000;if(typeof(res[11])!="undefined"&&res[11]!==''){ofs+=parseInt(res[11],10)*60000;}
if(res[9]=="-"){ofs=-ofs;}}else{ofs=0;}
return new Date(Date.UTC(year,month,day,hour,min,sec,msec)-ofs);};MochiKit.DateTime.toISOTime=function(date,realISO){if(typeof(date)=="undefined"||date===null){return null;}
var hh=date.getHours();var mm=date.getMinutes();var ss=date.getSeconds();var lst=[((realISO&&(hh<10))?"0"+hh:hh),((mm<10)?"0"+mm:mm),((ss<10)?"0"+ss:ss)];return lst.join(":");};MochiKit.DateTime.toISOTimestamp=function(date,realISO){if(typeof(date)=="undefined"||date===null){return null;}
var sep=realISO?"T":" ";var foot=realISO?"Z":"";if(realISO){date=new Date(date.getTime()+(date.getTimezoneOffset()*60000));}
return MochiKit.DateTime.toISODate(date)+sep+MochiKit.DateTime.toISOTime(date,realISO)+foot;};MochiKit.DateTime.toISODate=function(date){if(typeof(date)=="undefined"||date===null){return null;}
var _padTwo=MochiKit.DateTime._padTwo;var _padFour=MochiKit.DateTime._padFour;return[_padFour(date.getFullYear()),_padTwo(date.getMonth()+1),_padTwo(date.getDate())].join("-");};MochiKit.DateTime.americanDate=function(d){d=d+"";if(typeof(d)!="string"||d.length===0){return null;}
var a=d.split('/');return new Date(a[2],a[0]-1,a[1]);};MochiKit.DateTime._padTwo=function(n){return(n>9)?n:"0"+n;};MochiKit.DateTime._padFour=function(n){switch(n.toString().length){case 1:return"000"+n;break;case 2:return"00"+n;break;case 3:return"0"+n;break;case 4:default:return n;}};MochiKit.DateTime.toPaddedAmericanDate=function(d){if(typeof(d)=="undefined"||d===null){return null;}
var _padTwo=MochiKit.DateTime._padTwo;return[_padTwo(d.getMonth()+1),_padTwo(d.getDate()),d.getFullYear()].join('/');};MochiKit.DateTime.toAmericanDate=function(d){if(typeof(d)=="undefined"||d===null){return null;}
return[d.getMonth()+1,d.getDate(),d.getFullYear()].join('/');};MochiKit.DateTime.EXPORT=["isoDate","isoTimestamp","toISOTime","toISOTimestamp","toISODate","americanDate","toPaddedAmericanDate","toAmericanDate"];MochiKit.DateTime.EXPORT_OK=[];MochiKit.DateTime.EXPORT_TAGS={":common":MochiKit.DateTime.EXPORT,":all":MochiKit.DateTime.EXPORT};MochiKit.DateTime.__new__=function(){var base=this.NAME+".";for(var k in this){var o=this[k];if(typeof(o)=='function'&&typeof(o.NAME)=='undefined'){try{o.NAME=base+k;}catch(e){}}}};MochiKit.DateTime.__new__();if(typeof(MochiKit.Base)!="undefined"){MochiKit.Base._exportSymbols(this,MochiKit.DateTime);}else{(function(globals,module){if((typeof(JSAN)=='undefined'&&typeof(dojo)=='undefined')||(MochiKit.__export__===false)){var all=module.EXPORT_TAGS[":all"];for(var i=0;i<all.length;i++){globals[all[i]]=module[all[i]];}}})(this,MochiKit.DateTime);};MochiKit.Base._deps('Format',['Base']);MochiKit.Format.NAME="MochiKit.Format";MochiKit.Format.VERSION="1.4";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.0;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(res);}}
return"0";};MochiKit.Format.twoDigitFloat=function(aNumber){var res=roundToFixed(aNumber,2);if(res.indexOf(".00")>0){return res.substring(0,res.length-3);}else if(res.charAt(res.length-1)=="0"){return res.substring(0,res.length-1);}else{return res;}};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){var res=Math.floor(aNumber).toFixed(0);if(aNumber<0){res=Math.ceil(aNumber).toFixed(0);if(res.charAt(0)!="-"&&precision>0){res="-"+res;}}
if(res.indexOf("e")<0&&precision>0){var tail=aNumber.toString();if(tail.indexOf("e")>0){tail=".";}else if(tail.indexOf(".")<0){tail=".";}else{tail=tail.substring(tail.indexOf("."));}
if(tail.length-1>precision){tail=tail.substring(0,precision+1);}
while(tail.length-1<precision){tail+="0";}
res+=tail;}
return res;};MochiKit.Format.roundToFixed=function(aNumber,precision){var upper=Math.abs(aNumber)+0.5*Math.pow(10,-precision);var res=MochiKit.Format.truncToFixed(upper,precision);if(aNumber<0){res="-"+res;}
return res;};MochiKit.Format.percentFormat=function(aNumber){return MochiKit.Format.twoDigitFloat(100*aNumber)+'%';};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:"%"},pt_BR:{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')||(MochiKit.__export__===false)){var all=module.EXPORT_TAGS[":all"];for(var i=0;i<all.length;i++){globals[all[i]]=module[all[i]];}}})(this,MochiKit.Format);};MochiKit.Base._deps('Async',['Base']);MochiKit.Async.NAME="MochiKit.Async";MochiKit.Async.VERSION="1.4";MochiKit.Async.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.Async.toString=function(){return this.__repr__();};MochiKit.Async.Deferred=function(canceller){this.chain=[];this.id=this._nextId();this.fired=-1;this.paused=0;this.results=[null,null];this.canceller=canceller;this.silentlyCancelled=false;this.chained=false;};MochiKit.Async.Deferred.prototype={repr:function(){var state;if(this.fired==-1){state='unfired';}else if(this.fired===0){state='success';}else{state='error';}
return'Deferred('+this.id+', '+state+')';},toString:MochiKit.Base.forwardCall("repr"),_nextId:MochiKit.Base.counter(),cancel:function(){var self=MochiKit.Async;if(this.fired==-1){if(this.canceller){this.canceller(this);}else{this.silentlyCancelled=true;}
if(this.fired==-1){this.errback(new self.CancelledError(this));}}else if((this.fired===0)&&(this.results[0]instanceof self.Deferred)){this.results[0].cancel();}},_resback:function(res){this.fired=((res instanceof Error)?1:0);this.results[this.fired]=res;this._fire();},_check:function(){if(this.fired!=-1){if(!this.silentlyCancelled){throw new MochiKit.Async.AlreadyCalledError(this);}
this.silentlyCancelled=false;return;}},callback:function(res){this._check();if(res instanceof MochiKit.Async.Deferred){throw new Error("Deferred instances can only be chained if they are the result of a callback");}
this._resback(res);},errback:function(res){this._check();var self=MochiKit.Async;if(res instanceof self.Deferred){throw new Error("Deferred instances can only be chained if they are the result of a callback");}
if(!(res instanceof Error)){res=new self.GenericError(res);}
this._resback(res);},addBoth:function(fn){if(arguments.length>1){fn=MochiKit.Base.partial.apply(null,arguments);}
return this.addCallbacks(fn,fn);},addCallback:function(fn){if(arguments.length>1){fn=MochiKit.Base.partial.apply(null,arguments);}
return this.addCallbacks(fn,null);},addErrback:function(fn){if(arguments.length>1){fn=MochiKit.Base.partial.apply(null,arguments);}
return this.addCallbacks(null,fn);},addCallbacks:function(cb,eb){if(this.chained){throw new Error("Chained Deferreds can not be re-used");}
this.chain.push([cb,eb]);if(this.fired>=0){this._fire();}
return this;},_fire:function(){var chain=this.chain;var fired=this.fired;var res=this.results[fired];var self=this;var cb=null;while(chain.length>0&&this.paused===0){var pair=chain.shift();var f=pair[fired];if(f===null){continue;}
try{res=f(res);fired=((res instanceof Error)?1:0);if(res instanceof MochiKit.Async.Deferred){cb=function(res){self._resback(res);self.paused--;if((self.paused===0)&&(self.fired>=0)){self._fire();}};this.paused++;}}catch(err){fired=1;if(!(err instanceof Error)){err=new MochiKit.Async.GenericError(err);}
res=err;}}
this.fired=fired;this.results[fired]=res;if(cb&&this.paused){res.addBoth(cb);res.chained=true;}}};MochiKit.Base.update(MochiKit.Async,{evalJSONRequest:function(req){return MochiKit.Base.evalJSON(req.responseText);},succeed:function(result){var d=new MochiKit.Async.Deferred();d.callback.apply(d,arguments);return d;},fail:function(result){var d=new MochiKit.Async.Deferred();d.errback.apply(d,arguments);return d;},getXMLHttpRequest:function(){var self=arguments.callee;if(!self.XMLHttpRequest){var tryThese=[function(){return new XMLHttpRequest();},function(){return new ActiveXObject('Msxml2.XMLHTTP');},function(){return new ActiveXObject('Microsoft.XMLHTTP');},function(){return new ActiveXObject('Msxml2.XMLHTTP.4.0');},function(){throw new MochiKit.Async.BrowserComplianceError("Browser does not support XMLHttpRequest");}];for(var i=0;i<tryThese.length;i++){var func=tryThese[i];try{self.XMLHttpRequest=func;return func();}catch(e){}}}
return self.XMLHttpRequest();},_xhr_onreadystatechange:function(d){var m=MochiKit.Base;if(this.readyState==4){try{this.onreadystatechange=null;}catch(e){try{this.onreadystatechange=m.noop;}catch(e){}}
var status=null;try{status=this.status;if(!status&&m.isNotEmpty(this.responseText)){status=304;}}catch(e){}
if(status==200||status==201||status==204||status==304||status==1223){d.callback(this);}else{var err=new MochiKit.Async.XMLHttpRequestError(this,"Request failed");if(err.number){d.errback(err);}else{d.errback(err);}}}},_xhr_canceller:function(req){try{req.onreadystatechange=null;}catch(e){try{req.onreadystatechange=MochiKit.Base.noop;}catch(e){}}
req.abort();},sendXMLHttpRequest:function(req,sendContent){if(typeof(sendContent)=="undefined"||sendContent===null){sendContent="";}
var m=MochiKit.Base;var self=MochiKit.Async;var d=new self.Deferred(m.partial(self._xhr_canceller,req));try{req.onreadystatechange=m.bind(self._xhr_onreadystatechange,req,d);req.send(sendContent);}catch(e){try{req.onreadystatechange=null;}catch(ignore){}
d.errback(e);}
return d;},doXHR:function(url,opts){var self=MochiKit.Async;return self.callLater(0,self._doXHR,url,opts);},_doXHR:function(url,opts){var m=MochiKit.Base;opts=m.update({method:'GET',sendContent:''},opts);var self=MochiKit.Async;var req=self.getXMLHttpRequest();if(opts.queryString){var qs=m.queryString(opts.queryString);if(qs){url+="?"+qs;}}
if('username'in opts){req.open(opts.method,url,true,opts.username,opts.password);}else{req.open(opts.method,url,true);}
if(req.overrideMimeType&&opts.mimeType){req.overrideMimeType(opts.mimeType);}
req.setRequestHeader("X-Requested-With","XMLHttpRequest");if(opts.headers){var headers=opts.headers;if(!m.isArrayLike(headers)){headers=m.items(headers);}
for(var i=0;i<headers.length;i++){var header=headers[i];var name=header[0];var value=header[1];req.setRequestHeader(name,value);}}
return self.sendXMLHttpRequest(req,opts.sendContent);},_buildURL:function(url){if(arguments.length>1){var m=MochiKit.Base;var qs=m.queryString.apply(null,m.extend(null,arguments,1));if(qs){return url+"?"+qs;}}
return url;},doSimpleXMLHttpRequest:function(url){var self=MochiKit.Async;url=self._buildURL.apply(self,arguments);return self.doXHR(url);},loadJSONDoc:function(url){var self=MochiKit.Async;url=self._buildURL.apply(self,arguments);var d=self.doXHR(url,{'mimeType':'text/plain','headers':[['Accept','application/json']]});d=d.addCallback(self.evalJSONRequest);return d;},wait:function(seconds,value){var d=new MochiKit.Async.Deferred();var m=MochiKit.Base;if(typeof(value)!='undefined'){d.addCallback(function(){return value;});}
var timeout=setTimeout(m.bind("callback",d),Math.floor(seconds*1000));d.canceller=function(){try{clearTimeout(timeout);}catch(e){}};return d;},callLater:function(seconds,func){var m=MochiKit.Base;var pfunc=m.partial.apply(m,m.extend(null,arguments,1));return MochiKit.Async.wait(seconds).addCallback(function(res){return pfunc();});}});MochiKit.Async.DeferredLock=function(){this.waiting=[];this.locked=false;this.id=this._nextId();};MochiKit.Async.DeferredLock.prototype={__class__:MochiKit.Async.DeferredLock,acquire:function(){var d=new MochiKit.Async.Deferred();if(this.locked){this.waiting.push(d);}else{this.locked=true;d.callback(this);}
return d;},release:function(){if(!this.locked){throw TypeError("Tried to release an unlocked DeferredLock");}
this.locked=false;if(this.waiting.length>0){this.locked=true;this.waiting.shift().callback(this);}},_nextId:MochiKit.Base.counter(),repr:function(){var state;if(this.locked){state='locked, '+this.waiting.length+' waiting';}else{state='unlocked';}
return'DeferredLock('+this.id+', '+state+')';},toString:MochiKit.Base.forwardCall("repr")};MochiKit.Async.DeferredList=function(list,fireOnOneCallback,fireOnOneErrback,consumeErrors,canceller){MochiKit.Async.Deferred.apply(this,[canceller]);this.list=list;var resultList=[];this.resultList=resultList;this.finishedCount=0;this.fireOnOneCallback=fireOnOneCallback;this.fireOnOneErrback=fireOnOneErrback;this.consumeErrors=consumeErrors;var cb=MochiKit.Base.bind(this._cbDeferred,this);for(var i=0;i<list.length;i++){var d=list[i];resultList.push(undefined);d.addCallback(cb,i,true);d.addErrback(cb,i,false);}
if(list.length===0&&!fireOnOneCallback){this.callback(this.resultList);}};MochiKit.Async.DeferredList.prototype=new MochiKit.Async.Deferred();MochiKit.Async.DeferredList.prototype._cbDeferred=function(index,succeeded,result){this.resultList[index]=[succeeded,result];this.finishedCount+=1;if(this.fired==-1){if(succeeded&&this.fireOnOneCallback){this.callback([index,result]);}else if(!succeeded&&this.fireOnOneErrback){this.errback(result);}else if(this.finishedCount==this.list.length){this.callback(this.resultList);}}
if(!succeeded&&this.consumeErrors){result=null;}
return result;};MochiKit.Async.gatherResults=function(deferredList){var d=new MochiKit.Async.DeferredList(deferredList,false,true,false);d.addCallback(function(results){var ret=[];for(var i=0;i<results.length;i++){ret.push(results[i][1]);}
return ret;});return d;};MochiKit.Async.maybeDeferred=function(func){var self=MochiKit.Async;var result;try{var r=func.apply(null,MochiKit.Base.extend([],arguments,1));if(r instanceof self.Deferred){result=r;}else if(r instanceof Error){result=self.fail(r);}else{result=self.succeed(r);}}catch(e){result=self.fail(e);}
return result;};MochiKit.Async.EXPORT=["AlreadyCalledError","CancelledError","BrowserComplianceError","GenericError","XMLHttpRequestError","Deferred","succeed","fail","getXMLHttpRequest","doSimpleXMLHttpRequest","loadJSONDoc","wait","callLater","sendXMLHttpRequest","DeferredLock","DeferredList","gatherResults","maybeDeferred","doXHR"];MochiKit.Async.EXPORT_OK=["evalJSONRequest"];MochiKit.Async.__new__=function(){var m=MochiKit.Base;var ne=m.partial(m._newNamedError,this);ne("AlreadyCalledError",function(deferred){this.deferred=deferred;});ne("CancelledError",function(deferred){this.deferred=deferred;});ne("BrowserComplianceError",function(msg){this.message=msg;});ne("GenericError",function(msg){this.message=msg;});ne("XMLHttpRequestError",function(req,msg){this.req=req;this.message=msg;try{this.number=req.status;}catch(e){}});this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this);};MochiKit.Async.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Async);;MochiKit.Base._deps('DOM',['Base']);MochiKit.DOM.NAME="MochiKit.DOM";MochiKit.DOM.VERSION="1.4";MochiKit.DOM.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.DOM.toString=function(){return this.__repr__();};MochiKit.DOM.unique_ids_assigned=0;MochiKit.DOM.EXPORT=["removeEmptyTextNodes","formContents","currentWindow","currentDocument","withWindow","withDocument","registerDOMConverter","coerceToDOM","createDOM","createDOMFunc","isChildNode","getNodeAttribute","removeNodeAttribute","setNodeAttribute","updateNodeAttributes","appendChildNodes","insertSiblingNodesAfter","insertSiblingNodesBefore","replaceChildNodes","removeElement","swapDOM","BUTTON","TT","PRE","H1","H2","H3","H4","H5","H6","BR","CANVAS","HR","LABEL","TEXTAREA","FORM","STRONG","SELECT","OPTION","OPTGROUP","LEGEND","FIELDSET","P","UL","OL","LI","DL","DT","DD","TD","TR","THEAD","TBODY","TFOOT","TABLE","TH","INPUT","SPAN","A","DIV","IMG","getElement","$","getElementsByTagAndClassName","addToCallStack","addLoadEvent","focusOnLoad","setElementClass","toggleElementClass","addElementClass","removeElementClass","swapElementClass","hasElementClass","escapeHTML","toHTML","emitHTML","scrapeText","isParent","getFirstParentByTagAndClassName","makeClipping","undoClipping","makePositioned","undoPositioned","getFirstElementByTagAndClassName"];MochiKit.DOM.EXPORT_OK=["domConverters"];MochiKit.DOM.DEPRECATED=[['computedStyle','MochiKit.Style.getStyle','1.4'],['elementDimensions','MochiKit.Style.getElementDimensions','1.4'],['elementPosition','MochiKit.Style.getElementPosition','1.4'],['hideElement','MochiKit.Style.hideElement','1.4'],['setElementDimensions','MochiKit.Style.setElementDimensions','1.4'],['setElementPosition','MochiKit.Style.setElementPosition','1.4'],['setDisplayForElement','MochiKit.Style.setDisplayForElement','1.4'],['setOpacity','MochiKit.Style.setOpacity','1.4'],['showElement','MochiKit.Style.showElement','1.4'],['Coordinates','MochiKit.Style.Coordinates','1.4'],['Dimensions','MochiKit.Style.Dimensions','1.4']];MochiKit.DOM.getViewportDimensions=new Function(''+'if (!MochiKit["Style"]) {'+'    throw new Error("This function has been deprecated and depends on MochiKit.Style.");'+'}'+'return MochiKit.Style.getViewportDimensions.apply(this, arguments);');MochiKit.Base.update(MochiKit.DOM,{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._window;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.body;}else{elem=self.getElement(elem);}
m.nodeWalk(elem,function(elem){var name=elem.name;if(m.isNotEmpty(name)){var tagName=elem.tagName.toUpperCase();if(tagName==="INPUT"&&(elem.type=="radio"||elem.type=="checkbox")&&!elem.checked){return null;}
if(tagName==="SELECT"){if(elem.type=="select-one"){if(elem.selectedIndex>=0){var opt=elem.options[elem.selectedIndex];var v=opt.value;if(!v){var h=opt.outerHTML;if(h&&!h.match(/^[^>]+\svalue\s*=/i)){v=opt.text;}}
names.push(name);values.push(v);return null;}
names.push(name);values.push("");return null;}else{var opts=elem.options;if(!opts.length){names.push(name);values.push("");return null;}
for(var i=0;i<opts.length;i++){var opt=opts[i];if(!opt.selected){continue;}
var v=opt.value;if(!v){var h=opt.outerHTML;if(h&&!h.match(/^[^>]+\svalue\s*=/i)){v=opt.text;}}
names.push(name);values.push(v);}
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 m=MochiKit.Base;var im=MochiKit.Iter;var self=MochiKit.DOM;if(im){var iter=im.iter;var repeat=im.repeat;var map=m.map;}
var domConverters=self.domConverters;var coerceToDOM=arguments.callee;var NotFound=m.NotFound;while(true){if(typeof(node)=='undefined'||node===null){return null;}
if(typeof(node)=="function"&&typeof(node.length)=="number"&&!(node instanceof Function)){node=im.list(node);}
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.__dom__)=='function'){node=node.__dom__(ctx);continue;}
if(typeof(node.dom)=='function'){node=node.dom(ctx);continue;}
if(typeof(node)=='function'){node=node.apply(ctx,[ctx]);continue;}
if(im){var iterNodes=null;try{iterNodes=iter(node);}catch(e){}
if(iterNodes){return map(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;},isChildNode:function(node,maybeparent){var self=MochiKit.DOM;if(typeof(node)=="string"){node=self.getElement(node);}
if(typeof(maybeparent)=="string"){maybeparent=self.getElement(maybeparent);}
if(typeof(node)=='undefined'||node===null){return false;}
while(node!=null&&node!==self._document){if(node===maybeparent){return true;}
node=node.parentNode;}
return false;},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;},removeNodeAttribute: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.removeAttribute(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'){if(k=="style"&&MochiKit.Style){MochiKit.Style.setStyle(elem,v);}else{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(var 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'){if(k=="style"&&MochiKit.Style){MochiKit.Style.setStyle(elem,v);}else{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;},insertSiblingNodesBefore: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 parentnode=elem.parentNode;var concat=MochiKit.Base.concat;while(nodeStack.length){var n=nodeStack.shift();if(typeof(n)=='undefined'||n===null){}else if(typeof(n.nodeType)=='number'){parentnode.insertBefore(n,elem);}else{nodeStack=concat(n,nodeStack);}}
return parentnode;},insertSiblingNodesAfter: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)];if(elem.nextSibling){return self.insertSiblingNodesBefore(elem.nextSibling,nodeStack);}
else{return self.appendChildNodes(elem.parentNode,nodeStack);}},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'){var xhtml=self._xhtml;if(attrs&&!self.attributeArray.compliant){var contents="";if('name'in attrs){contents+=' name="'+self.escapeHTML(attrs.name)+'"';}
if(name=='input'&&'type'in attrs){contents+=' type="'+self.escapeHTML(attrs.type)+'"';}
if(contents){name="<"+name+contents+">";xhtml=false;}}
var d=self._document;if(xhtml&&d===document){elem=d.createElementNS("http://www.w3.org/1999/xhtml",name);}else{elem=d.createElement(name);}}else{elem=name;}
if(attrs){MochiKit.DOM.unique_ids_assigned++;attrs["id"]=attrs["id"]?attrs["id"]:("element_"+MochiKit.DOM.unique_ids_assigned);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));},removeElement:function(elem){var e=MochiKit.DOM.getElement(elem);e.parentNode.removeChild(e);return e;},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);}},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 cls=child.className;if(typeof(cls)!="string"){cls=child.getAttribute("class");}
if(typeof(cls)=="string"){var classNames=cls.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(typeof(cls)!="string"){cls=obj.getAttribute("class");}
if(typeof(cls)!="string"||cls.length===0){self.setElementClass(obj,className);return true;}
if(cls==className){return false;}
var classes=cls.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(typeof(cls)!="string"){cls=obj.getAttribute("class");}
if(typeof(cls)!="string"||cls.length===0){return false;}
if(cls==className){self.setElementClass(obj,"");return true;}
var classes=cls.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 cls=obj.className;if(typeof(cls)!="string"){cls=obj.getAttribute("class");}
if(typeof(cls)!="string"){return false;}
var classes=cls.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.tagName.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.tagName.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;},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("");}},removeEmptyTextNodes:function(element){element=MochiKit.DOM.getElement(element);for(var i=0;i<element.childNodes.length;i++){var node=element.childNodes[i];if(node.nodeType==3&&!/\S/.test(node.nodeValue)){node.parentNode.removeChild(node);}}},makeClipping:function(element){element=MochiKit.DOM.getElement(element);var oldOverflow=element.style.overflow;if((MochiKit.Style.getStyle(element,'overflow')||'visible')!='hidden'){element.style.overflow='hidden';}
return oldOverflow;},undoClipping:function(element,overflow){element=MochiKit.DOM.getElement(element);if(!overflow){return;}
element.style.overflow=overflow;},makePositioned:function(element){element=MochiKit.DOM.getElement(element);var pos=MochiKit.Style.getStyle(element,'position');if(pos=='static'||!pos){element.style.position='relative';if(/Opera/.test(navigator.userAgent)){element.style.top=0;element.style.left=0;}}},undoPositioned:function(element){element=MochiKit.DOM.getElement(element);if(element.style.position=='relative'){element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right='';}},getFirstElementByTagAndClassName: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 children[0];}
for(var i=0;i<children.length;i++){var child=children[i];var cls=child.className;if(typeof(cls)!="string"){cls=child.getAttribute("class");}
if(typeof(cls)=="string"){var classNames=cls.split(' ');for(var j=0;j<classNames.length;j++){if(classNames[j]==className){return child;}}}}},getFirstParentByTagAndClassName:function(elem,tagName,className){var self=MochiKit.DOM;elem=self.getElement(elem);if(typeof(tagName)=='undefined'||tagName===null){tagName='*';}else{tagName=tagName.toUpperCase();}
if(typeof(className)=='undefined'||className===null){className=null;}
if(elem){elem=elem.parentNode;}
while(elem&&elem.tagName){var curTagName=elem.tagName.toUpperCase();if((tagName==='*'||tagName==curTagName)&&(className===null||self.hasElementClass(elem,className))){return elem;}
elem=elem.parentNode;}
return null;},isParent:function(child,element){if(!child.parentNode||child==element){return false;}
if(child.parentNode==element){return true;}
return MochiKit.DOM.isParent(child.parentNode,element);},__new__:function(win){var m=MochiKit.Base;if(typeof(document)!="undefined"){this._document=document;var kXULNSURI="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";this._xhtml=(document.documentElement&&document.createElementNS&&document.documentElement.namespaceURI===kXULNSURI);}else if(MochiKit.MockDOM){this._document=MochiKit.MockDOM.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={};var attrs=__tmpElement.attributes;var ignoreAttr=attributeArray.ignoreAttr;for(var i=0;i<attrs.length;i++){var a=attrs[i];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","readonly":"readOnly","colspan":"colSpan","bgcolor":"bgColor","cellspacing":"cellSpacing","cellpadding":"cellPadding"};}else{attributeArray=function(node){return node.attributes;};attributeArray.compliant=true;attributeArray.renames={};}
this.attributeArray=attributeArray;var _deprecated=function(fromModule,arr){var fromName=arr[0];var toName=arr[1];var toModule=toName.split('.')[1];var str='';str+='if (!MochiKit.'+toModule+') { throw new Error("';str+='This function has been deprecated and depends on MochiKit.';str+=toModule+'.");}';str+='return '+toName+'.apply(this, arguments);';MochiKit[fromModule][fromName]=new Function(str);}
for(var i=0;i<MochiKit.DOM.DEPRECATED.length;i++){_deprecated('DOM',MochiKit.DOM.DEPRECATED[i]);}
var createDOMFunc=this.createDOMFunc;this.UL=createDOMFunc("ul");this.OL=createDOMFunc("ol");this.LI=createDOMFunc("li");this.DL=createDOMFunc("dl");this.DT=createDOMFunc("dt");this.DD=createDOMFunc("dd");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.H4=createDOMFunc("h4");this.H5=createDOMFunc("h5");this.H6=createDOMFunc("h6");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.$=this.getElement;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.__export__){withWindow=MochiKit.DOM.withWindow;withDocument=MochiKit.DOM.withDocument;}
MochiKit.Base._exportSymbols(this,MochiKit.DOM);;MochiKit.Base._deps('Selector',['Base','DOM','Iter']);MochiKit.Selector.NAME="MochiKit.Selector";MochiKit.Selector.VERSION="1.4";MochiKit.Selector.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.Selector.toString=function(){return this.__repr__();};MochiKit.Selector.EXPORT=["Selector","findChildElements","findDocElements","$$"];MochiKit.Selector.EXPORT_OK=[];MochiKit.Selector.Selector=function(expression){this.params={classNames:[],pseudoClassNames:[]};this.expression=expression.toString().replace(/(^\s+|\s+$)/g,'');this.parseExpression();this.compileMatcher();};MochiKit.Selector.Selector.prototype={__class__:MochiKit.Selector.Selector,parseExpression:function(){function abort(message){throw'Parse error in selector: '+message;}
if(this.expression==''){abort('empty expression');}
var repr=MochiKit.Base.repr;var params=this.params;var expr=this.expression;var match,modifier,clause,rest;while(match=expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!^$*]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)){params.attributes=params.attributes||[];params.attributes.push({name:match[2],operator:match[3],value:match[4]||match[5]||''});expr=match[1];}
if(expr=='*'){return this.params.wildcard=true;}
while(match=expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+(?:\([^)]*\))?)(.*)/i)){modifier=match[1];clause=match[2];rest=match[3];switch(modifier){case'#':params.id=clause;break;case'.':params.classNames.push(clause);break;case':':params.pseudoClassNames.push(clause);break;case'':case undefined:params.tagName=clause.toUpperCase();break;default:abort(repr(expr));}
expr=rest;}
if(expr.length>0){abort(repr(expr));}},buildMatchExpression:function(){var repr=MochiKit.Base.repr;var params=this.params;var conditions=[];var clause,i;function childElements(element){return"MochiKit.Base.filter(function (node) { return node.nodeType == 1; }, "+element+".childNodes)";}
if(params.wildcard){conditions.push('true');}
if(clause=params.id){conditions.push('element.id == '+repr(clause));}
if(clause=params.tagName){conditions.push('element.tagName.toUpperCase() == '+repr(clause));}
if((clause=params.classNames).length>0){for(i=0;i<clause.length;i++){conditions.push('MochiKit.DOM.hasElementClass(element, '+repr(clause[i])+')');}}
if((clause=params.pseudoClassNames).length>0){for(i=0;i<clause.length;i++){var match=clause[i].match(/^([^(]+)(?:\((.*)\))?$/);var pseudoClass=match[1];var pseudoClassArgument=match[2];switch(pseudoClass){case'root':conditions.push('element.nodeType == 9 || element === element.ownerDocument.documentElement');break;case'nth-child':case'nth-last-child':case'nth-of-type':case'nth-last-of-type':match=pseudoClassArgument.match(/^((?:(\d+)n\+)?(\d+)|odd|even)$/);if(!match){throw"Invalid argument to pseudo element nth-child: "+pseudoClassArgument;}
var a,b;if(match[0]=='odd'){a=2;b=1;}else if(match[0]=='even'){a=2;b=0;}else{a=match[2]&&parseInt(match)||null;b=parseInt(match[3]);}
conditions.push('this.nthChild(element,'+a+','+b
+','+!!pseudoClass.match('^nth-last')
+','+!!pseudoClass.match('of-type$')
+')');break;case'first-child':conditions.push('this.nthChild(element, null, 1)');break;case'last-child':conditions.push('this.nthChild(element, null, 1, true)');break;case'first-of-type':conditions.push('this.nthChild(element, null, 1, false, true)');break;case'last-of-type':conditions.push('this.nthChild(element, null, 1, true, true)');break;case'only-child':conditions.push(childElements('element.parentNode')+'.length == 1');break;case'only-of-type':conditions.push('MochiKit.Base.filter(function (node) { return node.tagName == element.tagName; }, '+childElements('element.parentNode')+').length == 1');break;case'empty':conditions.push('element.childNodes.length == 0');break;case'enabled':conditions.push('(this.isUIElement(element) && element.disabled === false)');break;case'disabled':conditions.push('(this.isUIElement(element) && element.disabled === true)');break;case'checked':conditions.push('(this.isUIElement(element) && element.checked === true)');break;case'not':var subselector=new MochiKit.Selector.Selector(pseudoClassArgument);conditions.push('!( '+subselector.buildMatchExpression()+')')
break;}}}
if(clause=params.attributes){MochiKit.Base.map(function(attribute){var value='MochiKit.DOM.getNodeAttribute(element, '+repr(attribute.name)+')';var splitValueBy=function(delimiter){return value+'.split('+repr(delimiter)+')';}
switch(attribute.operator){case'=':conditions.push(value+' == '+repr(attribute.value));break;case'~=':conditions.push(value+' && MochiKit.Base.findValue('+splitValueBy(' ')+', '+repr(attribute.value)+') > -1');break;case'^=':conditions.push(value+'.substring(0, '+attribute.value.length+') == '+repr(attribute.value));break;case'$=':conditions.push(value+'.substring('+value+'.length - '+attribute.value.length+') == '+repr(attribute.value));break;case'*=':conditions.push(value+'.match('+repr(attribute.value)+')');break;case'|=':conditions.push(value+' && '+splitValueBy('-')+'[0].toUpperCase() == '+repr(attribute.value.toUpperCase()));break;case'!=':conditions.push(value+' != '+repr(attribute.value));break;case'':case undefined:conditions.push(value+' != null');break;default:throw'Unknown operator '+attribute.operator+' in selector';}},clause);}
return conditions.join(' && ');},compileMatcher:function(){this.match=new Function('element','if (!element.tagName) return false; \
                return '+this.buildMatchExpression());},nthChild:function(element,a,b,reverse,sametag){var siblings=MochiKit.Base.filter(function(node){return node.nodeType==1;},element.parentNode.childNodes);if(sametag){siblings=MochiKit.Base.filter(function(node){return node.tagName==element.tagName;},siblings);}
if(reverse){siblings=MochiKit.Iter.reversed(siblings);}
if(a){var actualIndex=MochiKit.Base.findIdentical(siblings,element);return((actualIndex+1-b)/a)%1==0;}else{return b==MochiKit.Base.findIdentical(siblings,element)+1;}},isUIElement:function(element){return MochiKit.Base.findValue(['input','button','select','option','textarea','object'],element.tagName.toLowerCase())>-1;},findElements:function(scope,axis){var element;if(axis==undefined){axis="";}
function inScope(element,scope){if(axis==""){return MochiKit.DOM.isChildNode(element,scope);}else if(axis==">"){return element.parentNode==scope;}else if(axis=="+"){return element==nextSiblingElement(scope);}else if(axis=="~"){var sibling=scope;while(sibling=nextSiblingElement(sibling)){if(element==sibling){return true;}}
return false;}else{throw"Invalid axis: "+axis;}}
if(element=MochiKit.DOM.getElement(this.params.id)){if(this.match(element)){if(!scope||inScope(element,scope)){return[element];}}}
function nextSiblingElement(node){node=node.nextSibling;while(node&&node.nodeType!=1){node=node.nextSibling;}
return node;}
if(axis==""){scope=(scope||MochiKit.DOM.currentDocument()).getElementsByTagName(this.params.tagName||'*');}else if(axis==">"){if(!scope){throw"> combinator not allowed without preceeding expression";}
scope=MochiKit.Base.filter(function(node){return node.nodeType==1;},scope.childNodes);}else if(axis=="+"){if(!scope){throw"+ combinator not allowed without preceeding expression";}
scope=nextSiblingElement(scope)&&[nextSiblingElement(scope)];}else if(axis=="~"){if(!scope){throw"~ combinator not allowed without preceeding expression";}
var newscope=[];while(nextSiblingElement(scope)){scope=nextSiblingElement(scope);newscope.push(scope);}
scope=newscope;}
if(!scope){return[];}
var results=MochiKit.Base.filter(MochiKit.Base.bind(function(scopeElt){return this.match(scopeElt);},this),scope);return results;},repr:function(){return'Selector('+this.expression+')';},toString:MochiKit.Base.forwardCall("repr")};MochiKit.Base.update(MochiKit.Selector,{findChildElements:function(element,expressions){return MochiKit.Base.flattenArray(MochiKit.Base.map(function(expression){var nextScope="";return MochiKit.Iter.reduce(function(results,expr){if(match=expr.match(/^[>+~]$/)){nextScope=match[0];return results;}else{var selector=new MochiKit.Selector.Selector(expr);var elements=MochiKit.Iter.reduce(function(elements,result){return MochiKit.Base.extend(elements,selector.findElements(result||element,nextScope));},results,[]);nextScope="";return elements;}},expression.replace(/(^\s+|\s+$)/g,'').split(/\s+/),[null]);},expressions));},findDocElements:function(){return MochiKit.Selector.findChildElements(MochiKit.DOM.currentDocument(),arguments);},__new__:function(){var m=MochiKit.Base;this.$$=this.findDocElements;this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this);}});MochiKit.Selector.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Selector);;MochiKit.Base._deps('Style',['Base','DOM']);MochiKit.Style.NAME='MochiKit.Style';MochiKit.Style.VERSION='1.4';MochiKit.Style.__repr__=function(){return'['+this.NAME+' '+this.VERSION+']';};MochiKit.Style.toString=function(){return this.__repr__();};MochiKit.Style.EXPORT_OK=[];MochiKit.Style.EXPORT=['setStyle','setOpacity','getStyle','getElementDimensions','elementDimensions','setElementDimensions','getElementPosition','elementPosition','setElementPosition','setDisplayForElement','hideElement','showElement','getViewportDimensions','getViewportPosition','Dimensions','Coordinates'];MochiKit.Style.Dimensions=function(w,h){this.w=w;this.h=h;};MochiKit.Style.Dimensions.prototype.__repr__=function(){var repr=MochiKit.Base.repr;return'{w: '+repr(this.w)+', h: '+repr(this.h)+'}';};MochiKit.Style.Dimensions.prototype.toString=function(){return this.__repr__();};MochiKit.Style.Coordinates=function(x,y){this.x=x;this.y=y;};MochiKit.Style.Coordinates.prototype.__repr__=function(){var repr=MochiKit.Base.repr;return'{x: '+repr(this.x)+', y: '+repr(this.y)+'}';};MochiKit.Style.Coordinates.prototype.toString=function(){return this.__repr__();};MochiKit.Base.update(MochiKit.Style,{getStyle:function(elem,cssProperty){var dom=MochiKit.DOM;var d=dom._document;elem=dom.getElement(elem);cssProperty=MochiKit.Base.camelize(cssProperty);if(!elem||elem==d){return undefined;}
if(cssProperty=='opacity'&&typeof(elem.filters)!='undefined'){var opacity=(MochiKit.Style.getStyle(elem,'filter')||'').match(/alpha\(opacity=(.*)\)/);if(opacity&&opacity[1]){return parseFloat(opacity[1])/100;}
return 1.0;}
if(cssProperty=='float'||cssProperty=='cssFloat'||cssProperty=='styleFloat'){if(elem.style["float"]){return elem.style["float"];}else if(elem.style.cssFloat){return elem.style.cssFloat;}else if(elem.style.styleFloat){return elem.style.styleFloat;}else{return"none";}}
var value=elem.style?elem.style[cssProperty]:null;if(!value){if(d.defaultView&&d.defaultView.getComputedStyle){var css=d.defaultView.getComputedStyle(elem,null);cssProperty=cssProperty.replace(/([A-Z])/g,'-$1').toLowerCase();value=css?css.getPropertyValue(cssProperty):null;}else if(elem.currentStyle){value=elem.currentStyle[cssProperty];if(/^\d/.test(value)&&!/px$/.test(value)){var left=elem.style.left;var rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;elem.style.left=value||0;value=elem.style.pixelLeft+"px";elem.style.left=left;elem.runtimeStyle.left=rsLeft;}}}
if(cssProperty=='opacity'){value=parseFloat(value);}
if(/Opera/.test(navigator.userAgent)&&(MochiKit.Base.findValue(['left','top','right','bottom'],cssProperty)!=-1)){if(MochiKit.Style.getStyle(elem,'position')=='static'){value='auto';}}
return value=='auto'?null:value;},setStyle:function(elem,style){elem=MochiKit.DOM.getElement(elem);for(var name in style){switch(name){case'opacity':MochiKit.Style.setOpacity(elem,style[name]);break;case'float':case'cssFloat':case'styleFloat':if(typeof(elem.style["float"])!="undefined"){elem.style["float"]=style[name];}else if(typeof(elem.style.cssFloat)!="undefined"){elem.style.cssFloat=style[name];}else{elem.style.styleFloat=style[name];}
break;default:elem.style[MochiKit.Base.camelize(name)]=style[name];}}},setOpacity:function(elem,o){elem=MochiKit.DOM.getElement(elem);var self=MochiKit.Style;if(o==1){var toSet=/Gecko/.test(navigator.userAgent)&&!(/Konqueror|AppleWebKit|KHTML/.test(navigator.userAgent));elem.style["opacity"]=toSet?0.999999:1.0;if(/MSIE/.test(navigator.userAgent)){elem.style['filter']=self.getStyle(elem,'filter').replace(/alpha\([^\)]*\)/gi,'');}}else{if(o<0.00001){o=0;}
elem.style["opacity"]=o;if(/MSIE/.test(navigator.userAgent)){elem.style['filter']=self.getStyle(elem,'filter').replace(/alpha\([^\)]*\)/gi,'')+'alpha(opacity='+o*100+')';}}},getElementPosition:function(elem,relativeTo){var self=MochiKit.Style;var dom=MochiKit.DOM;elem=dom.getElement(elem);if(!elem||(!(elem.x&&elem.y)&&(!elem.parentNode===null||self.getStyle(elem,'display')=='none'))){return undefined;}
var c=new self.Coordinates(0,0);var box=null;var parent=null;var d=MochiKit.DOM._document;var de=d.documentElement;var b=d.body;if(!elem.parentNode&&elem.x&&elem.y){c.x+=elem.x||0;c.y+=elem.y||0;}else if(elem.getBoundingClientRect){box=elem.getBoundingClientRect();c.x+=box.left+
(de.scrollLeft||b.scrollLeft)-
(de.clientLeft||0);c.y+=box.top+
(de.scrollTop||b.scrollTop)-
(de.clientTop||0);}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('AppleWebKit')!=-1&&self.getStyle(elem,'position')=='absolute')){c.x-=b.offsetLeft;c.y-=b.offsetTop;}
if(elem.parentNode){parent=elem.parentNode;}else{parent=null;}
while(parent){var tagName=parent.tagName.toUpperCase();if(tagName==='BODY'||tagName==='HTML'){break;}
var disp=self.getStyle(parent,'display');if(disp.search(/^inline|table-row.*$/i)){c.x-=parent.scrollLeft;c.y-=parent.scrollTop;}
if(parent.parentNode){parent=parent.parentNode;}else{parent=null;}}}
if(typeof(relativeTo)!='undefined'){relativeTo=arguments.callee(relativeTo);if(relativeTo){c.x-=(relativeTo.x||0);c.y-=(relativeTo.y||0);}}
return c;},setElementPosition:function(elem,newPos,units){elem=MochiKit.DOM.getElement(elem);if(typeof(units)=='undefined'){units='px';}
var newStyle={};var isUndefNull=MochiKit.Base.isUndefinedOrNull;if(!isUndefNull(newPos.x)){newStyle['left']=newPos.x+units;}
if(!isUndefNull(newPos.y)){newStyle['top']=newPos.y+units;}
MochiKit.DOM.updateNodeAttributes(elem,{'style':newStyle});},getElementDimensions:function(elem,contentSize){var self=MochiKit.Style;var dom=MochiKit.DOM;if(typeof(elem.w)=='number'||typeof(elem.h)=='number'){return new self.Dimensions(elem.w||0,elem.h||0);}
elem=dom.getElement(elem);if(!elem){return undefined;}
var disp=self.getStyle(elem,'display');if(disp=='none'||disp==''||typeof(disp)=='undefined'){var s=elem.style;var originalVisibility=s.visibility;var originalPosition=s.position;var originalDisplay=s.display;s.visibility='hidden';s.position='absolute';s.display='';var originalWidth=elem.offsetWidth;var originalHeight=elem.offsetHeight;s.display=originalDisplay;s.position=originalPosition;s.visibility=originalVisibility;}else{originalWidth=elem.offsetWidth||0;originalHeight=elem.offsetHeight||0;}
if(contentSize){originalWidth-=Math.round((parseFloat(self.getStyle(elem,'paddingLeft'))||0)
+(parseFloat(self.getStyle(elem,'paddingRight'))||0)
+(parseFloat(self.getStyle(elem,'borderLeftWidth'))||0)
+(parseFloat(self.getStyle(elem,'borderRightWidth'))||0));originalHeight-=Math.round((parseFloat(self.getStyle(elem,'paddingTop'))||0)
+(parseFloat(self.getStyle(elem,'paddingBottom'))||0)
+(parseFloat(self.getStyle(elem,'borderTopWidth'))||0)
+(parseFloat(self.getStyle(elem,'borderBottomWidth'))||0));}
return new self.Dimensions(originalWidth,originalHeight);},setElementDimensions:function(elem,newSize,units){elem=MochiKit.DOM.getElement(elem);if(typeof(units)=='undefined'){units='px';}
var newStyle={};var isUndefNull=MochiKit.Base.isUndefinedOrNull;if(!isUndefNull(newSize.w)){newStyle['width']=newSize.w+units;}
if(!isUndefNull(newSize.h)){newStyle['height']=newSize.h+units;}
MochiKit.DOM.updateNodeAttributes(elem,{'style':newStyle});},setDisplayForElement:function(display,element){var elements=MochiKit.Base.extend(null,arguments,1);var getElement=MochiKit.DOM.getElement;for(var i=0;i<elements.length;i++){element=getElement(elements[i]);if(element){element.style.display=display;}}},getViewportDimensions:function(){var d=new MochiKit.Style.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;},getViewportPosition:function(){var c=new MochiKit.Style.Coordinates(0,0);var d=MochiKit.DOM._document;var de=d.documentElement;var db=d.body;if(de&&(de.scrollTop||de.scrollLeft)){c.x=de.scrollLeft;c.y=de.scrollTop;}else if(db){c.x=db.scrollLeft;c.y=db.scrollTop;}
return c;},__new__:function(){var m=MochiKit.Base;this.elementPosition=this.getElementPosition;this.elementDimensions=this.getElementDimensions;this.hideElement=m.partial(this.setDisplayForElement,'none');this.showElement=m.partial(this.setDisplayForElement,'block');this.EXPORT_TAGS={':common':this.EXPORT,':all':m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this);}});MochiKit.Style.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Style);;MochiKit.Base._deps('LoggingPane',['Base','Logging']);MochiKit.LoggingPane.NAME="MochiKit.LoggingPane";MochiKit.LoggingPane.VERSION="1.4";MochiKit.LoggingPane.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.LoggingPane.toString=function(){return this.__repr__();};MochiKit.LoggingPane.createLoggingPane=function(inline){var m=MochiKit.LoggingPane;inline=!(!inline);if(m._loggingPane&&m._loggingPane.inline!=inline){m._loggingPane.closePane();m._loggingPane=null;}
if(!m._loggingPane||m._loggingPane.closed){m._loggingPane=new m.LoggingPane(inline,MochiKit.Logging.logger);}
return m._loggingPane;};MochiKit.LoggingPane.LoggingPane=function(inline,logger){if(typeof(logger)=="undefined"||logger===null){logger=MochiKit.Logging.logger;}
this.logger=logger;var update=MochiKit.Base.update;var updatetree=MochiKit.Base.updatetree;var bind=MochiKit.Base.bind;var clone=MochiKit.Base.clone;var win=window;var uid="_MochiKit_LoggingPane";if(typeof(MochiKit.DOM)!="undefined"){win=MochiKit.DOM.currentWindow();}
if(!inline){var url=win.location.href.split("?")[0].replace(/[#:\/.><&%-]/g,"_");var name=uid+"_"+url;var nwin=win.open("",name,"dependent,resizable,height=200");if(!nwin){alert("Not able to open debugging window due to pop-up blocking.");return undefined;}
nwin.document.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" '
+'"http://www.w3.org/TR/html4/loose.dtd">'
+'<html><head><title>[MochiKit.LoggingPane]</title></head>'
+'<body></body></html>');nwin.document.close();nwin.document.title+=' '+win.document.title;win=nwin;}
var doc=win.document;this.doc=doc;var debugPane=doc.getElementById(uid);var existing_pane=!!debugPane;if(debugPane&&typeof(debugPane.loggingPane)!="undefined"){debugPane.loggingPane.logger=this.logger;debugPane.loggingPane.buildAndApplyFilter();return debugPane.loggingPane;}
if(existing_pane){var child;while((child=debugPane.firstChild)){debugPane.removeChild(child);}}else{debugPane=doc.createElement("div");debugPane.id=uid;}
debugPane.loggingPane=this;var levelFilterField=doc.createElement("input");var infoFilterField=doc.createElement("input");var filterButton=doc.createElement("button");var loadButton=doc.createElement("button");var clearButton=doc.createElement("button");var closeButton=doc.createElement("button");var logPaneArea=doc.createElement("div");var logPane=doc.createElement("div");var listenerId=uid+"_Listener";this.colorTable=clone(this.colorTable);var messages=[];var messageFilter=null;var messageLevel=function(msg){var level=msg.level;if(typeof(level)=="number"){level=MochiKit.Logging.LogLevel[level];}
return level;};var messageText=function(msg){return msg.info.join(" ");};var addMessageText=bind(function(msg){var level=messageLevel(msg);var text=messageText(msg);var c=this.colorTable[level];var p=doc.createElement("span");p.className="MochiKit-LogMessage MochiKit-LogLevel-"+level;p.style.cssText="margin: 0px; white-space: -moz-pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word; wrap-option: emergency; color: "+c;p.appendChild(doc.createTextNode(level+": "+text));logPane.appendChild(p);logPane.appendChild(doc.createElement("br"));if(logPaneArea.offsetHeight>logPaneArea.scrollHeight){logPaneArea.scrollTop=0;}else{logPaneArea.scrollTop=logPaneArea.scrollHeight;}},this);var addMessage=function(msg){messages[messages.length]=msg;addMessageText(msg);};var buildMessageFilter=function(){var levelre,infore;try{levelre=new RegExp(levelFilterField.value);infore=new RegExp(infoFilterField.value);}catch(e){logDebug("Error in filter regex: "+e.message);return null;}
return function(msg){return(levelre.test(messageLevel(msg))&&infore.test(messageText(msg)));};};var clearMessagePane=function(){while(logPane.firstChild){logPane.removeChild(logPane.firstChild);}};var clearMessages=function(){messages=[];clearMessagePane();};var closePane=bind(function(){if(this.closed){return;}
this.closed=true;if(MochiKit.LoggingPane._loggingPane==this){MochiKit.LoggingPane._loggingPane=null;}
this.logger.removeListener(listenerId);try{try{debugPane.loggingPane=null;}catch(e){logFatal("Bookmarklet was closed incorrectly.");}
if(inline){debugPane.parentNode.removeChild(debugPane);}else{this.win.close();}}catch(e){}},this);var filterMessages=function(){clearMessagePane();for(var i=0;i<messages.length;i++){var msg=messages[i];if(messageFilter===null||messageFilter(msg)){addMessageText(msg);}}};this.buildAndApplyFilter=function(){messageFilter=buildMessageFilter();filterMessages();this.logger.removeListener(listenerId);this.logger.addListener(listenerId,messageFilter,addMessage);};var loadMessages=bind(function(){messages=this.logger.getMessages();filterMessages();},this);var filterOnEnter=bind(function(event){event=event||window.event;key=event.which||event.keyCode;if(key==13){this.buildAndApplyFilter();}},this);var style="display: block; z-index: 1000; left: 0px; bottom: 0px; position: fixed; width: 100%; background-color: white; font: "+this.logFont;if(inline){style+="; height: 10em; border-top: 2px solid black";}else{style+="; height: 100%;";}
debugPane.style.cssText=style;if(!existing_pane){doc.body.appendChild(debugPane);}
style={"cssText":"width: 33%; display: inline; font: "+this.logFont};updatetree(levelFilterField,{"value":"FATAL|ERROR|WARNING|INFO|DEBUG","onkeypress":filterOnEnter,"style":style});debugPane.appendChild(levelFilterField);updatetree(infoFilterField,{"value":".*","onkeypress":filterOnEnter,"style":style});debugPane.appendChild(infoFilterField);style="width: 8%; display:inline; font: "+this.logFont;filterButton.appendChild(doc.createTextNode("Filter"));filterButton.onclick=bind("buildAndApplyFilter",this);filterButton.style.cssText=style;debugPane.appendChild(filterButton);loadButton.appendChild(doc.createTextNode("Load"));loadButton.onclick=loadMessages;loadButton.style.cssText=style;debugPane.appendChild(loadButton);clearButton.appendChild(doc.createTextNode("Clear"));clearButton.onclick=clearMessages;clearButton.style.cssText=style;debugPane.appendChild(clearButton);closeButton.appendChild(doc.createTextNode("Close"));closeButton.onclick=closePane;closeButton.style.cssText=style;debugPane.appendChild(closeButton);logPaneArea.style.cssText="overflow: auto; width: 100%";logPane.style.cssText="width: 100%; height: "+(inline?"8em":"100%");logPaneArea.appendChild(logPane);debugPane.appendChild(logPaneArea);this.buildAndApplyFilter();loadMessages();if(inline){this.win=undefined;}else{this.win=win;}
this.inline=inline;this.closePane=closePane;this.closed=false;return this;};MochiKit.LoggingPane.LoggingPane.prototype={"logFont":"8pt Verdana,sans-serif","colorTable":{"ERROR":"red","FATAL":"darkred","WARNING":"blue","INFO":"black","DEBUG":"green"}};MochiKit.LoggingPane.EXPORT_OK=["LoggingPane"];MochiKit.LoggingPane.EXPORT=["createLoggingPane"];MochiKit.LoggingPane.__new__=function(){this.EXPORT_TAGS={":common":this.EXPORT,":all":MochiKit.Base.concat(this.EXPORT,this.EXPORT_OK)};MochiKit.Base.nameFunctions(this);MochiKit.LoggingPane._loggingPane=null;};MochiKit.LoggingPane.__new__();MochiKit.Base._exportSymbols(this,MochiKit.LoggingPane);;MochiKit.Base._deps('Color',['Base','DOM','Style']);MochiKit.Color.NAME="MochiKit.Color";MochiKit.Color.VERSION="1.4";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.0;}
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=0.5;}
var sf=1.0-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>0.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.0);}}else{for(i=0;i<6;i+=2){hex=hexCode.substr(i,2);components.push(parseInt(hex,16)/255.0);}}
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=0.01*parseFloat(c.substring(0,c.length-1));}else if(three=="deg"){val=parseFloat(c)/360.0;}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){var d=MochiKit.DOM;var cls=MochiKit.Color.Color;for(elem=d.getElement(elem);elem;elem=elem.parentNode){var actualColor=MochiKit.Style.getStyle.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.0){hue-=6.0;}else if(hue<0.0){hue+=6.0;}
var val;if(hue<1.0){val=n1+(n2-n1)*hue;}else if(hue<3.0){val=n2;}else if(hue<4.0){val=n1+(n2-n1)*(4.0-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=value;green=value;blue=value;}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<=0.5){m2=lightness*(1.0+saturation);}else{m2=lightness+saturation-(lightness*saturation);}
var m1=(2.0*lightness)-m2;var f=MochiKit.Color._hslValue;var h6=hue*6.0;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.0;var delta=max-min;if(delta===0){hue=0;saturation=0;}else{if(lightness<=0.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.0/255.0,1.0/255.0,1.0/255.0,1]);this.Color.fromHSLString=m.bind(this.Color._fromColorString,this.Color,"hsl","fromHSL",[1.0/360.0,0.01,0.01,1]);var third=1.0/3.0;var colors={black:[0,0,0],blue:[0,0,1],brown:[0.6,0.4,0.2],cyan:[0,1,1],darkGray:[third,third,third],gray:[0.5,0.5,0.5],green:[0,1,0],lightGray:[2*third,2*third,2*third],magenta:[1,0,1],orange:[1,0.5,0],purple:[0.5,0,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 MochiKit.Color.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"};;MochiKit.Base._deps('Signal',['Base','DOM','Style']);MochiKit.Signal.NAME='MochiKit.Signal';MochiKit.Signal.VERSION='1.4';MochiKit.Signal._observers=[];MochiKit.Signal.Event=function(src,e){this._event=e||window.event;this._src=src;};MochiKit.Base.update(MochiKit.Signal.Event.prototype,{__repr__:function(){var repr=MochiKit.Base.repr;var str='{event(): '+repr(this.event())+', src(): '+repr(this.src())+', type(): '+repr(this.type())+', target(): '+repr(this.target());if(this.type()&&this.type().indexOf('key')===0||this.type().indexOf('mouse')===0||this.type().indexOf('click')!=-1||this.type()=='contextmenu'){str+=', modifier(): '+'{alt: '+repr(this.modifier().alt)+', ctrl: '+repr(this.modifier().ctrl)+', meta: '+repr(this.modifier().meta)+', shift: '+repr(this.modifier().shift)+', any: '+repr(this.modifier().any)+'}';}
if(this.type()&&this.type().indexOf('key')===0){str+=', key(): {code: '+repr(this.key().code)+', string: '+repr(this.key().string)+'}';}
if(this.type()&&(this.type().indexOf('mouse')===0||this.type().indexOf('click')!=-1||this.type()=='contextmenu')){str+=', mouse(): {page: '+repr(this.mouse().page)+', client: '+repr(this.mouse().client);if(this.type()!='mousemove'&&this.type()!='mousewheel'){str+=', button: {left: '+repr(this.mouse().button.left)+', middle: '+repr(this.mouse().button.middle)+', right: '+repr(this.mouse().button.right)+'}';}
if(this.type()=='mousewheel'){str+=', wheel: '+repr(this.mouse().wheel);}
str+='}';}
if(this.type()=='mouseover'||this.type()=='mouseout'||this.type()=='mouseenter'||this.type()=='mouseleave'){str+=', relatedTarget(): '+repr(this.relatedTarget());}
str+='}';return str;},toString:function(){return this.__repr__();},src:function(){return this._src;},event:function(){return this._event;},type:function(){if(this._event.type==="DOMMouseScroll"){return"mousewheel";}else{return this._event.type||undefined;}},target:function(){return this._event.target||this._event.srcElement;},_relatedTarget:null,relatedTarget:function(){if(this._relatedTarget!==null){return this._relatedTarget;}
var elem=null;if(this.type()=='mouseover'||this.type()=='mouseenter'){elem=(this._event.relatedTarget||this._event.fromElement);}else if(this.type()=='mouseout'||this.type()=='mouseleave'){elem=(this._event.relatedTarget||this._event.toElement);}
if(elem!==null){this._relatedTarget=elem;return elem;}
return undefined;},_modifier:null,modifier:function(){if(this._modifier!==null){return this._modifier;}
var m={};m.alt=this._event.altKey;m.ctrl=this._event.ctrlKey;m.meta=this._event.metaKey||false;m.shift=this._event.shiftKey;m.any=m.alt||m.ctrl||m.shift||m.meta;this._modifier=m;return m;},_key:null,key:function(){if(this._key!==null){return this._key;}
var k={};if(this.type()&&this.type().indexOf('key')===0){if(this.type()=='keydown'||this.type()=='keyup'){k.code=this._event.keyCode;k.string=(MochiKit.Signal._specialKeys[k.code]||'KEY_UNKNOWN');this._key=k;return k;}else if(this.type()=='keypress'){k.code=0;k.string='';if(typeof(this._event.charCode)!='undefined'&&this._event.charCode!==0&&!MochiKit.Signal._specialMacKeys[this._event.charCode]){k.code=this._event.charCode;k.string=String.fromCharCode(k.code);}else if(this._event.keyCode&&typeof(this._event.charCode)=='undefined'){k.code=this._event.keyCode;k.string=String.fromCharCode(k.code);}
this._key=k;return k;}}
return undefined;},_mouse:null,mouse:function(){if(this._mouse!==null){return this._mouse;}
var m={};var e=this._event;if(this.type()&&(this.type().indexOf('mouse')===0||this.type().indexOf('click')!=-1||this.type()=='contextmenu')){m.client=new MochiKit.Style.Coordinates(0,0);if(e.clientX||e.clientY){m.client.x=(!e.clientX||e.clientX<0)?0:e.clientX;m.client.y=(!e.clientY||e.clientY<0)?0:e.clientY;}
m.page=new MochiKit.Style.Coordinates(0,0);if(e.pageX||e.pageY){m.page.x=(!e.pageX||e.pageX<0)?0:e.pageX;m.page.y=(!e.pageY||e.pageY<0)?0:e.pageY;}else{var de=MochiKit.DOM._document.documentElement;var b=MochiKit.DOM._document.body;m.page.x=e.clientX+
(de.scrollLeft||b.scrollLeft)-
(de.clientLeft||0);m.page.y=e.clientY+
(de.scrollTop||b.scrollTop)-
(de.clientTop||0);}
if(this.type()!='mousemove'&&this.type()!='mousewheel'){m.button={};m.button.left=false;m.button.right=false;m.button.middle=false;if(e.which){m.button.left=(e.which==1);m.button.middle=(e.which==2);m.button.right=(e.which==3);}else{m.button.left=!!(e.button&1);m.button.right=!!(e.button&2);m.button.middle=!!(e.button&4);}}
if(this.type()=='mousewheel'){m.wheel=new MochiKit.Style.Coordinates(0,0);if(e.wheelDeltaX||e.wheelDeltaY){m.wheel.x=e.wheelDeltaX/-40||0;m.wheel.y=e.wheelDeltaY/-40||0;}else if(e.wheelDelta){m.wheel.y=e.wheelDelta/-40;}else{m.wheel.y=e.detail||0;}}
this._mouse=m;return m;}
return undefined;},stop:function(){this.stopPropagation();this.preventDefault();},stopPropagation:function(){if(this._event.stopPropagation){this._event.stopPropagation();}else{this._event.cancelBubble=true;}},preventDefault:function(){if(this._event.preventDefault){this._event.preventDefault();}else if(this._confirmUnload===null){this._event.returnValue=false;}},_confirmUnload:null,confirmUnload:function(msg){if(this.type()=='beforeunload'){this._confirmUnload=msg;this._event.returnValue=msg;}}});MochiKit.Signal._specialMacKeys={3:'KEY_ENTER',63289:'KEY_NUM_PAD_CLEAR',63276:'KEY_PAGE_UP',63277:'KEY_PAGE_DOWN',63275:'KEY_END',63273:'KEY_HOME',63234:'KEY_ARROW_LEFT',63232:'KEY_ARROW_UP',63235:'KEY_ARROW_RIGHT',63233:'KEY_ARROW_DOWN',63302:'KEY_INSERT',63272:'KEY_DELETE'};(function(){var _specialMacKeys=MochiKit.Signal._specialMacKeys;for(i=63236;i<=63242;i++){_specialMacKeys[i]='KEY_F'+(i-63236+1);}})();MochiKit.Signal._specialKeys={8:'KEY_BACKSPACE',9:'KEY_TAB',12:'KEY_NUM_PAD_CLEAR',13:'KEY_ENTER',16:'KEY_SHIFT',17:'KEY_CTRL',18:'KEY_ALT',19:'KEY_PAUSE',20:'KEY_CAPS_LOCK',27:'KEY_ESCAPE',32:'KEY_SPACEBAR',33:'KEY_PAGE_UP',34:'KEY_PAGE_DOWN',35:'KEY_END',36:'KEY_HOME',37:'KEY_ARROW_LEFT',38:'KEY_ARROW_UP',39:'KEY_ARROW_RIGHT',40:'KEY_ARROW_DOWN',44:'KEY_PRINT_SCREEN',45:'KEY_INSERT',46:'KEY_DELETE',59:'KEY_SEMICOLON',91:'KEY_WINDOWS_LEFT',92:'KEY_WINDOWS_RIGHT',93:'KEY_SELECT',106:'KEY_NUM_PAD_ASTERISK',107:'KEY_NUM_PAD_PLUS_SIGN',109:'KEY_NUM_PAD_HYPHEN-MINUS',110:'KEY_NUM_PAD_FULL_STOP',111:'KEY_NUM_PAD_SOLIDUS',144:'KEY_NUM_LOCK',145:'KEY_SCROLL_LOCK',186:'KEY_SEMICOLON',187:'KEY_EQUALS_SIGN',188:'KEY_COMMA',189:'KEY_HYPHEN-MINUS',190:'KEY_FULL_STOP',191:'KEY_SOLIDUS',192:'KEY_GRAVE_ACCENT',219:'KEY_LEFT_SQUARE_BRACKET',220:'KEY_REVERSE_SOLIDUS',221:'KEY_RIGHT_SQUARE_BRACKET',222:'KEY_APOSTROPHE'};(function(){var _specialKeys=MochiKit.Signal._specialKeys;for(var i=48;i<=57;i++){_specialKeys[i]='KEY_'+(i-48);}
for(i=65;i<=90;i++){_specialKeys[i]='KEY_'+String.fromCharCode(i);}
for(i=96;i<=105;i++){_specialKeys[i]='KEY_NUM_PAD_'+(i-96);}
for(i=112;i<=123;i++){_specialKeys[i]='KEY_F'+(i-112+1);}})();MochiKit.Signal.Ident=function(ident){this.source=ident.source;this.signal=ident.signal;this.listener=ident.listener;this.isDOM=ident.isDOM;this.objOrFunc=ident.objOrFunc;this.funcOrStr=ident.funcOrStr;this.connected=ident.connected;};MochiKit.Signal.Ident.prototype={};MochiKit.Base.update(MochiKit.Signal,{__repr__:function(){return'['+this.NAME+' '+this.VERSION+']';},toString:function(){return this.__repr__();},_unloadCache:function(){var self=MochiKit.Signal;var observers=self._observers;for(var i=0;i<observers.length;i++){if(observers[i].signal!=='onload'&&observers[i].signal!=='onunload'){self._disconnect(observers[i]);}}},_listener:function(src,sig,func,obj,isDOM){var self=MochiKit.Signal;var E=self.Event;if(!isDOM){if(typeof(func.im_self)=='undefined'){return MochiKit.Base.bind(func,obj);}else{return func;}}
obj=obj||src;if(typeof(func)=="string"){if(sig==='onload'||sig==='onunload'){return function(nativeEvent){obj[func].apply(obj,[new E(src,nativeEvent)]);var ident=new MochiKit.Signal.Ident({source:src,signal:sig,objOrFunc:obj,funcOrStr:func});MochiKit.Signal._disconnect(ident);};}else{return function(nativeEvent){obj[func].apply(obj,[new E(src,nativeEvent)]);};}}else{if(sig==='onload'||sig==='onunload'){return function(nativeEvent){func.apply(obj,[new E(src,nativeEvent)]);var ident=new MochiKit.Signal.Ident({source:src,signal:sig,objOrFunc:func});MochiKit.Signal._disconnect(ident);};}else{return function(nativeEvent){func.apply(obj,[new E(src,nativeEvent)]);};}}},_browserAlreadyHasMouseEnterAndLeave:function(){return/MSIE/.test(navigator.userAgent);},_browserLacksMouseWheelEvent:function(){return/(Gecko\/)/.test(navigator.userAgent);},_mouseEnterListener:function(src,sig,func,obj){var E=MochiKit.Signal.Event;return function(nativeEvent){var e=new E(src,nativeEvent);try{e.relatedTarget().nodeName;}catch(err){return;}
e.stop();if(MochiKit.DOM.isChildNode(e.relatedTarget(),src)){return;}
e.type=function(){return sig;};if(typeof(func)=="string"){return obj[func].apply(obj,[e]);}else{return func.apply(obj,[e]);}};},_getDestPair:function(objOrFunc,funcOrStr){var obj=null;var func=null;if(typeof(funcOrStr)!='undefined'){obj=objOrFunc;func=funcOrStr;if(typeof(funcOrStr)=='string'){if(typeof(objOrFunc[funcOrStr])!="function"){throw new Error("'funcOrStr' must be a function on 'objOrFunc'");}}else if(typeof(funcOrStr)!='function'){throw new Error("'funcOrStr' must be a function or string");}}else if(typeof(objOrFunc)!="function"){throw new Error("'objOrFunc' must be a function if 'funcOrStr' is not given");}else{func=objOrFunc;}
return[obj,func];},connect:function(src,sig,objOrFunc,funcOrStr){src=MochiKit.DOM.getElement(src);var self=MochiKit.Signal;if(typeof(sig)!='string'){throw new Error("'sig' must be a string");}
var destPair=self._getDestPair(objOrFunc,funcOrStr);var obj=destPair[0];var func=destPair[1];if(typeof(obj)=='undefined'||obj===null){obj=src;}
var isDOM=!!(src.addEventListener||src.attachEvent);if(isDOM&&(sig==="onmouseenter"||sig==="onmouseleave")&&!self._browserAlreadyHasMouseEnterAndLeave()){var listener=self._mouseEnterListener(src,sig.substr(2),func,obj);if(sig==="onmouseenter"){sig="onmouseover";}else{sig="onmouseout";}}else if(isDOM&&sig=="onmousewheel"&&self._browserLacksMouseWheelEvent()){var listener=self._listener(src,sig,func,obj,isDOM);sig="onDOMMouseScroll";}else{var listener=self._listener(src,sig,func,obj,isDOM);}
if(src.addEventListener){src.addEventListener(sig.substr(2),listener,false);}else if(src.attachEvent){src.attachEvent(sig,listener);}
var ident=new MochiKit.Signal.Ident({source:src,signal:sig,listener:listener,isDOM:isDOM,objOrFunc:objOrFunc,funcOrStr:funcOrStr,connected:true});self._observers.push(ident);if(!isDOM&&typeof(src.__connect__)=='function'){var args=MochiKit.Base.extend([ident],arguments,1);src.__connect__.apply(src,args);}
return ident;},_disconnect:function(ident){if(!ident.connected){return;}
ident.connected=false;var src=ident.source;var sig=ident.signal;var listener=ident.listener;if(!ident.isDOM){if(typeof(src.__disconnect__)=='function'){src.__disconnect__(ident,sig,ident.objOrFunc,ident.funcOrStr);}
return;}
if(src.removeEventListener){src.removeEventListener(sig.substr(2),listener,false);}else if(src.detachEvent){src.detachEvent(sig,listener);}else{throw new Error("'src' must be a DOM element");}},disconnect:function(ident){var self=MochiKit.Signal;var observers=self._observers;var m=MochiKit.Base;if(arguments.length>1){var src=MochiKit.DOM.getElement(arguments[0]);var sig=arguments[1];var obj=arguments[2];var func=arguments[3];for(var i=observers.length-1;i>=0;i--){var o=observers[i];if(o.source===src&&o.signal===sig&&o.objOrFunc===obj&&o.funcOrStr===func){self._disconnect(o);if(!self._lock){observers.splice(i,1);}else{self._dirty=true;}
return true;}}}else{var idx=m.findIdentical(observers,ident);if(idx>=0){self._disconnect(ident);if(!self._lock){observers.splice(idx,1);}else{self._dirty=true;}
return true;}}
return false;},disconnectAllTo:function(objOrFunc,funcOrStr){var self=MochiKit.Signal;var observers=self._observers;var disconnect=self._disconnect;var locked=self._lock;var dirty=self._dirty;if(typeof(funcOrStr)==='undefined'){funcOrStr=null;}
for(var i=observers.length-1;i>=0;i--){var ident=observers[i];if(ident.objOrFunc===objOrFunc&&(funcOrStr===null||ident.funcOrStr===funcOrStr)){disconnect(ident);if(locked){dirty=true;}else{observers.splice(i,1);}}}
self._dirty=dirty;},disconnectAll:function(src,sig){src=MochiKit.DOM.getElement(src);var m=MochiKit.Base;var signals=m.flattenArguments(m.extend(null,arguments,1));var self=MochiKit.Signal;var disconnect=self._disconnect;var observers=self._observers;var i,ident;var locked=self._lock;var dirty=self._dirty;if(signals.length===0){for(i=observers.length-1;i>=0;i--){ident=observers[i];if(ident.source===src){disconnect(ident);if(!locked){observers.splice(i,1);}else{dirty=true;}}}}else{var sigs={};for(i=0;i<signals.length;i++){sigs[signals[i]]=true;}
for(i=observers.length-1;i>=0;i--){ident=observers[i];if(ident.source===src&&ident.signal in sigs){disconnect(ident);if(!locked){observers.splice(i,1);}else{dirty=true;}}}}
self._dirty=dirty;},signal:function(src,sig){var self=MochiKit.Signal;var observers=self._observers;src=MochiKit.DOM.getElement(src);var args=MochiKit.Base.extend(null,arguments,2);var errors=[];self._lock=true;for(var i=0;i<observers.length;i++){var ident=observers[i];if(ident.source===src&&ident.signal===sig&&ident.connected){try{ident.listener.apply(src,args);}catch(e){errors.push(e);}}}
self._lock=false;if(self._dirty){self._dirty=false;for(var i=observers.length-1;i>=0;i--){if(!observers[i].connected){observers.splice(i,1);}}}
if(errors.length==1){throw errors[0];}else if(errors.length>1){var e=new Error("Multiple errors thrown in handling 'sig', see errors property");e.errors=errors;throw e;}}});MochiKit.Signal.EXPORT_OK=[];MochiKit.Signal.EXPORT=['connect','disconnect','signal','disconnectAll','disconnectAllTo'];MochiKit.Signal.__new__=function(win){var m=MochiKit.Base;this._document=document;this._window=win;this._lock=false;this._dirty=false;try{this.connect(window,'onunload',this._unloadCache);}catch(e){}
this.EXPORT_TAGS={':common':this.EXPORT,':all':m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this);};MochiKit.Signal.__new__(this);if(MochiKit.__export__){connect=MochiKit.Signal.connect;disconnect=MochiKit.Signal.disconnect;disconnectAll=MochiKit.Signal.disconnectAll;signal=MochiKit.Signal.signal;}
MochiKit.Base._exportSymbols(this,MochiKit.Signal);;MochiKit.Base._deps('Position',['Base','DOM','Style']);MochiKit.Position.NAME='MochiKit.Position';MochiKit.Position.VERSION='1.4';MochiKit.Position.__repr__=function(){return'['+this.NAME+' '+this.VERSION+']';};MochiKit.Position.toString=function(){return this.__repr__();};MochiKit.Position.EXPORT_OK=[];MochiKit.Position.EXPORT=[];MochiKit.Base.update(MochiKit.Position,{includeScrollOffsets:false,prepare:function(){var deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;var deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;this.windowOffset=new MochiKit.Style.Coordinates(deltaX,deltaY);},cumulativeOffset:function(element){var valueT=0;var valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);return new MochiKit.Style.Coordinates(valueL,valueT);},realOffset:function(element){var valueT=0;var valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode;}while(element);return new MochiKit.Style.Coordinates(valueL,valueT);},within:function(element,x,y){if(this.includeScrollOffsets){return this.withinIncludingScrolloffsets(element,x,y);}
this.xcomp=x;this.ycomp=y;this.offset=this.cumulativeOffset(element);if(element.style.position=="fixed"){this.offset.x+=this.windowOffset.x;this.offset.y+=this.windowOffset.y;}
return(y>=this.offset.y&&y<this.offset.y+element.offsetHeight&&x>=this.offset.x&&x<this.offset.x+element.offsetWidth);},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=this.realOffset(element);this.xcomp=x+offsetcache.x-this.windowOffset.x;this.ycomp=y+offsetcache.y-this.windowOffset.y;this.offset=this.cumulativeOffset(element);return(this.ycomp>=this.offset.y&&this.ycomp<this.offset.y+element.offsetHeight&&this.xcomp>=this.offset.x&&this.xcomp<this.offset.x+element.offsetWidth);},overlap:function(mode,element){if(!mode){return 0;}
if(mode=='vertical'){return((this.offset.y+element.offsetHeight)-this.ycomp)/element.offsetHeight;}
if(mode=='horizontal'){return((this.offset.x+element.offsetWidth)-this.xcomp)/element.offsetWidth;}},absolutize:function(element){element=MochiKit.DOM.getElement(element);if(element.style.position=='absolute'){return;}
MochiKit.Position.prepare();var offsets=MochiKit.Position.positionedOffset(element);var width=element.clientWidth;var height=element.clientHeight;var oldStyle={'position':element.style.position,'left':offsets.x-parseFloat(element.style.left||0),'top':offsets.y-parseFloat(element.style.top||0),'width':element.style.width,'height':element.style.height};element.style.position='absolute';element.style.top=offsets.y+'px';element.style.left=offsets.x+'px';element.style.width=width+'px';element.style.height=height+'px';return oldStyle;},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){p=MochiKit.Style.getStyle(element,'position');if(p=='relative'||p=='absolute'){break;}}}while(element);return new MochiKit.Style.Coordinates(valueL,valueT);},relativize:function(element,oldPos){element=MochiKit.DOM.getElement(element);if(element.style.position=='relative'){return;}
MochiKit.Position.prepare();var top=parseFloat(element.style.top||0)-
(oldPos['top']||0);var left=parseFloat(element.style.left||0)-
(oldPos['left']||0);element.style.position=oldPos['position'];element.style.top=top+'px';element.style.left=left+'px';element.style.width=oldPos['width'];element.style.height=oldPos['height'];},clone:function(source,target){source=MochiKit.DOM.getElement(source);target=MochiKit.DOM.getElement(target);target.style.position='absolute';var offsets=this.cumulativeOffset(source);target.style.top=offsets.y+'px';target.style.left=offsets.x+'px';target.style.width=source.offsetWidth+'px';target.style.height=source.offsetHeight+'px';},page:function(forElement){var valueT=0;var valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body&&MochiKit.Style.getStyle(element,'position')=='absolute'){break;}}while(element=element.offsetParent);element=forElement;do{valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0;}while(element=element.parentNode);return new MochiKit.Style.Coordinates(valueL,valueT);}});MochiKit.Position.__new__=function(win){var m=MochiKit.Base;this.EXPORT_TAGS={':common':this.EXPORT,':all':m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this);};MochiKit.Position.__new__(this);;MochiKit.Base._deps('Visual',['Base','DOM','Style','Color','Position']);MochiKit.Visual.NAME="MochiKit.Visual";MochiKit.Visual.VERSION="1.4";MochiKit.Visual.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.Visual.toString=function(){return this.__repr__();};MochiKit.Visual._RoundCorners=function(e,options){e=MochiKit.DOM.getElement(e);this._setOptions(options);if(this.options.__unstable__wrapElement){e=this._doWrap(e);}
var color=this.options.color;var C=MochiKit.Color.Color;if(this.options.color==="fromElement"){color=C.fromBackground(e);}else if(!(color instanceof C)){color=C.fromString(color);}
this.isTransparent=(color.asRGB().a<=0);var bgColor=this.options.bgColor;if(this.options.bgColor==="fromParent"){bgColor=C.fromBackground(e.offsetParent);}else if(!(bgColor instanceof C)){bgColor=C.fromString(bgColor);}
this._roundCornersImpl(e,color,bgColor);};MochiKit.Visual._RoundCorners.prototype={_doWrap:function(e){var parent=e.parentNode;var doc=MochiKit.DOM.currentDocument();if(typeof(doc.defaultView)==="undefined"||doc.defaultView===null){return e;}
var style=doc.defaultView.getComputedStyle(e,null);if(typeof(style)==="undefined"||style===null){return e;}
var wrapper=MochiKit.DOM.DIV({"style":{display:"block",marginTop:style.getPropertyValue("padding-top"),marginRight:style.getPropertyValue("padding-right"),marginBottom:style.getPropertyValue("padding-bottom"),marginLeft:style.getPropertyValue("padding-left"),padding:"0px"}});wrapper.innerHTML=e.innerHTML;e.innerHTML="";e.appendChild(wrapper);return e;},_roundCornersImpl:function(e,color,bgColor){if(this.options.border){this._renderBorder(e,bgColor);}
if(this._isTopRounded()){this._roundTopCorners(e,color,bgColor);}
if(this._isBottomRounded()){this._roundBottomCorners(e,color,bgColor);}},_renderBorder:function(el,bgColor){var borderValue="1px solid "+this._borderColor(bgColor);var borderL="border-left: "+borderValue;var borderR="border-right: "+borderValue;var style="style='"+borderL+";"+borderR+"'";el.innerHTML="<div "+style+">"+el.innerHTML+"</div>";},_roundTopCorners:function(el,color,bgColor){var corner=this._createCorner(bgColor);for(var i=0;i<this.options.numSlices;i++){corner.appendChild(this._createCornerSlice(color,bgColor,i,"top"));}
el.style.paddingTop=0;el.insertBefore(corner,el.firstChild);},_roundBottomCorners:function(el,color,bgColor){var corner=this._createCorner(bgColor);for(var i=(this.options.numSlices-1);i>=0;i--){corner.appendChild(this._createCornerSlice(color,bgColor,i,"bottom"));}
el.style.paddingBottom=0;el.appendChild(corner);},_createCorner:function(bgColor){var dom=MochiKit.DOM;return dom.DIV({style:{backgroundColor:bgColor.toString()}});},_createCornerSlice:function(color,bgColor,n,position){var slice=MochiKit.DOM.SPAN();var inStyle=slice.style;inStyle.backgroundColor=color.toString();inStyle.display="block";inStyle.height="1px";inStyle.overflow="hidden";inStyle.fontSize="1px";var borderColor=this._borderColor(color,bgColor);if(this.options.border&&n===0){inStyle.borderTopStyle="solid";inStyle.borderTopWidth="1px";inStyle.borderLeftWidth="0px";inStyle.borderRightWidth="0px";inStyle.borderBottomWidth="0px";inStyle.height="0px";inStyle.borderColor=borderColor.toString();}else if(borderColor){inStyle.borderColor=borderColor.toString();inStyle.borderStyle="solid";inStyle.borderWidth="0px 1px";}
if(!this.options.compact&&(n==(this.options.numSlices-1))){inStyle.height="2px";}
this._setMargin(slice,n,position);this._setBorder(slice,n,position);return slice;},_setOptions:function(options){this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false,__unstable__wrapElement:false};MochiKit.Base.update(this.options,options);this.options.numSlices=(this.options.compact?2:4);},_whichSideTop:function(){var corners=this.options.corners;if(this._hasString(corners,"all","top")){return"";}
var has_tl=(corners.indexOf("tl")!=-1);var has_tr=(corners.indexOf("tr")!=-1);if(has_tl&&has_tr){return"";}
if(has_tl){return"left";}
if(has_tr){return"right";}
return"";},_whichSideBottom:function(){var corners=this.options.corners;if(this._hasString(corners,"all","bottom")){return"";}
var has_bl=(corners.indexOf('bl')!=-1);var has_br=(corners.indexOf('br')!=-1);if(has_bl&&has_br){return"";}
if(has_bl){return"left";}
if(has_br){return"right";}
return"";},_borderColor:function(color,bgColor){if(color=="transparent"){return bgColor;}else if(this.options.border){return this.options.border;}else if(this.options.blend){return bgColor.blendedColor(color);}
return"";},_setMargin:function(el,n,corners){var marginSize=this._marginSize(n)+"px";var whichSide=(corners=="top"?this._whichSideTop():this._whichSideBottom());var style=el.style;if(whichSide=="left"){style.marginLeft=marginSize;style.marginRight="0px";}else if(whichSide=="right"){style.marginRight=marginSize;style.marginLeft="0px";}else{style.marginLeft=marginSize;style.marginRight=marginSize;}},_setBorder:function(el,n,corners){var borderSize=this._borderSize(n)+"px";var whichSide=(corners=="top"?this._whichSideTop():this._whichSideBottom());var style=el.style;if(whichSide=="left"){style.borderLeftWidth=borderSize;style.borderRightWidth="0px";}else if(whichSide=="right"){style.borderRightWidth=borderSize;style.borderLeftWidth="0px";}else{style.borderLeftWidth=borderSize;style.borderRightWidth=borderSize;}},_marginSize:function(n){if(this.isTransparent){return 0;}
var o=this.options;if(o.compact&&o.blend){var smBlendedMarginSizes=[1,0];return smBlendedMarginSizes[n];}else if(o.compact){var compactMarginSizes=[2,1];return compactMarginSizes[n];}else if(o.blend){var blendedMarginSizes=[3,2,1,0];return blendedMarginSizes[n];}else{var marginSizes=[5,3,2,1];return marginSizes[n];}},_borderSize:function(n){var o=this.options;var borderSizes;if(o.compact&&(o.blend||this.isTransparent)){return 1;}else if(o.compact){borderSizes=[1,0];}else if(o.blend){borderSizes=[2,1,1,1];}else if(o.border){borderSizes=[0,2,0,0];}else if(this.isTransparent){borderSizes=[5,3,2,1];}else{return 0;}
return borderSizes[n];},_hasString:function(str){for(var i=1;i<arguments.length;i++){if(str.indexOf(arguments[i])!=-1){return true;}}
return false;},_isTopRounded:function(){return this._hasString(this.options.corners,"all","top","tl","tr");},_isBottomRounded:function(){return this._hasString(this.options.corners,"all","bottom","bl","br");},_hasSingleTextChild:function(el){return(el.childNodes.length==1&&el.childNodes[0].nodeType==3);}};MochiKit.Visual.roundElement=function(e,options){new MochiKit.Visual._RoundCorners(e,options);};MochiKit.Visual.roundClass=function(tagName,className,options){var elements=MochiKit.DOM.getElementsByTagAndClassName(tagName,className);for(var i=0;i<elements.length;i++){MochiKit.Visual.roundElement(elements[i],options);}};MochiKit.Visual.tagifyText=function(element,tagifyStyle){tagifyStyle=tagifyStyle||'position:relative';if(/MSIE/.test(navigator.userAgent)){tagifyStyle+=';zoom:1';}
element=MochiKit.DOM.getElement(element);var ma=MochiKit.Base.map;ma(function(child){if(child.nodeType==3){ma(function(character){element.insertBefore(MochiKit.DOM.SPAN({style:tagifyStyle},character==' '?String.fromCharCode(160):character),child);},child.nodeValue.split(''));MochiKit.DOM.removeElement(child);}},element.childNodes);};MochiKit.Visual.forceRerendering=function(element){try{element=MochiKit.DOM.getElement(element);var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n);}catch(e){}};MochiKit.Visual.multiple=function(elements,effect,options){options=MochiKit.Base.update({speed:0.1,delay:0.0},options);var masterDelay=options.delay;var index=0;MochiKit.Base.map(function(innerelement){options.delay=index*options.speed+masterDelay;new effect(innerelement,options);index+=1;},elements);};MochiKit.Visual.PAIRS={'slide':['slideDown','slideUp'],'blind':['blindDown','blindUp'],'appear':['appear','fade'],'size':['grow','shrink']};MochiKit.Visual.toggle=function(element,effect,options){element=MochiKit.DOM.getElement(element);effect=(effect||'appear').toLowerCase();options=MochiKit.Base.update({queue:{position:'end',scope:(element.id||'global'),limit:1}},options);var v=MochiKit.Visual;v[MochiKit.Style.getStyle(element,'display')!='none'?v.PAIRS[effect][1]:v.PAIRS[effect][0]](element,options);};MochiKit.Visual.Transitions={};MochiKit.Visual.Transitions.linear=function(pos){return pos;};MochiKit.Visual.Transitions.sinoidal=function(pos){return 0.5-Math.cos(pos*Math.PI)/2;};MochiKit.Visual.Transitions.reverse=function(pos){return 1-pos;};MochiKit.Visual.Transitions.flicker=function(pos){return 0.25-Math.cos(pos*Math.PI)/4+Math.random()/2;};MochiKit.Visual.Transitions.wobble=function(pos){return 0.5-Math.cos(9*pos*Math.PI)/2;};MochiKit.Visual.Transitions.pulse=function(pos,pulses){if(pulses){pos*=2*pulses;}else{pos*=10;}
var decimals=pos-Math.floor(pos);return(Math.floor(pos)%2==0)?decimals:1-decimals;};MochiKit.Visual.Transitions.parabolic=function(pos){return pos*pos;};MochiKit.Visual.Transitions.none=function(pos){return 0;};MochiKit.Visual.Transitions.full=function(pos){return 1;};MochiKit.Visual.ScopedQueue=function(){var cls=arguments.callee;if(!(this instanceof cls)){return new cls();}
this.__init__();};MochiKit.Base.update(MochiKit.Visual.ScopedQueue.prototype,{__init__:function(){this.effects=[];this.interval=null;},add:function(effect){var timestamp=new Date().getTime();var position=(typeof(effect.options.queue)=='string')?effect.options.queue:effect.options.queue.position;var ma=MochiKit.Base.map;switch(position){case'front':ma(function(e){if(e.state=='idle'){e.startOn+=effect.finishOn;e.finishOn+=effect.finishOn;}},this.effects);break;case'end':var finish;ma(function(e){var i=e.finishOn;if(i>=(finish||i)){finish=i;}},this.effects);timestamp=finish||timestamp;break;case'break':ma(function(e){e.finalize();},this.effects);break;}
effect.startOn+=timestamp;effect.finishOn+=timestamp;if(!effect.options.queue.limit||this.effects.length<effect.options.queue.limit){this.effects.push(effect);}
if(!this.interval){this.interval=this.startLoop(MochiKit.Base.bind(this.loop,this),40);}},startLoop:function(func,interval){return setInterval(func,interval);},remove:function(effect){this.effects=MochiKit.Base.filter(function(e){return e!=effect;},this.effects);if(!this.effects.length){this.stopLoop(this.interval);this.interval=null;}},stopLoop:function(interval){clearInterval(interval);},loop:function(){var timePos=new Date().getTime();MochiKit.Base.map(function(effect){effect.loop(timePos);},this.effects);}});MochiKit.Visual.Queues={instances:{},get:function(queueName){if(typeof(queueName)!='string'){return queueName;}
if(!this.instances[queueName]){this.instances[queueName]=new MochiKit.Visual.ScopedQueue();}
return this.instances[queueName];}};MochiKit.Visual.Queue=MochiKit.Visual.Queues.get('global');MochiKit.Visual.DefaultOptions={transition:MochiKit.Visual.Transitions.sinoidal,duration:1.0,fps:25.0,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'};MochiKit.Visual.Base=function(){};MochiKit.Visual.Base.prototype={__class__:MochiKit.Visual.Base,start:function(options){var v=MochiKit.Visual;this.options=MochiKit.Base.setdefault(options,v.DefaultOptions);this.currentFrame=0;this.state='idle';this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.event('beforeStart');if(!this.options.sync){v.Queues.get(typeof(this.options.queue)=='string'?'global':this.options.queue.scope).add(this);}},loop:function(timePos){if(timePos>=this.startOn){if(timePos>=this.finishOn){return this.finalize();}
var pos=(timePos-this.startOn)/(this.finishOn-this.startOn);var frame=Math.round(pos*this.options.fps*this.options.duration);if(frame>this.currentFrame){this.render(pos);this.currentFrame=frame;}}},render:function(pos){if(this.state=='idle'){this.state='running';this.event('beforeSetup');this.setup();this.event('afterSetup');}
if(this.state=='running'){if(this.options.transition){pos=this.options.transition(pos);}
pos*=(this.options.to-this.options.from);pos+=this.options.from;this.event('beforeUpdate');this.update(pos);this.event('afterUpdate');}},cancel:function(){if(!this.options.sync){MochiKit.Visual.Queues.get(typeof(this.options.queue)=='string'?'global':this.options.queue.scope).remove(this);}
this.state='finished';},finalize:function(){this.render(1.0);this.cancel();this.event('beforeFinish');this.finish();this.event('afterFinish');},setup:function(){},finish:function(){},update:function(position){},event:function(eventName){if(this.options[eventName+'Internal']){this.options[eventName+'Internal'](this);}
if(this.options[eventName]){this.options[eventName](this);}},repr:function(){return'['+this.__class__.NAME+', options:'+
MochiKit.Base.repr(this.options)+']';}};MochiKit.Visual.Parallel=function(effects,options){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(effects,options);}
this.__init__(effects,options);};MochiKit.Visual.Parallel.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Parallel.prototype,{__class__:MochiKit.Visual.Parallel,__init__:function(effects,options){this.effects=effects||[];this.start(options);},update:function(position){MochiKit.Base.map(function(effect){effect.render(position);},this.effects);},finish:function(){MochiKit.Base.map(function(effect){effect.finalize();},this.effects);}});MochiKit.Visual.Sequence=function(effects,options){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(effects,options);}
this.__init__(effects,options);};MochiKit.Visual.Sequence.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Sequence.prototype,{__class__:MochiKit.Visual.Sequence,__init__:function(effects,options){var defs={transition:MochiKit.Visual.Transitions.linear,duration:0};this.effects=effects||[];MochiKit.Base.map(function(effect){defs.duration+=effect.options.duration;},this.effects);MochiKit.Base.setdefault(options,defs);this.start(options);},update:function(position){var time=position*this.options.duration;for(var i=0;i<this.effects.length;i++){var effect=this.effects[i];if(time<=effect.options.duration){effect.render(time/effect.options.duration);break;}else{time-=effect.options.duration;}}},finish:function(){MochiKit.Base.map(function(effect){effect.finalize();},this.effects);}});MochiKit.Visual.Opacity=function(element,options){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(element,options);}
this.__init__(element,options);};MochiKit.Visual.Opacity.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Opacity.prototype,{__class__:MochiKit.Visual.Opacity,__init__:function(element,options){var b=MochiKit.Base;var s=MochiKit.Style;this.element=MochiKit.DOM.getElement(element);if(this.element.currentStyle&&(!this.element.currentStyle.hasLayout)){s.setStyle(this.element,{zoom:1});}
options=b.update({from:s.getStyle(this.element,'opacity')||0.0,to:1.0},options);this.start(options);},update:function(position){MochiKit.Style.setStyle(this.element,{'opacity':position});}});MochiKit.Visual.Move=function(element,options){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(element,options);}
this.__init__(element,options);};MochiKit.Visual.Move.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Move.prototype,{__class__:MochiKit.Visual.Move,__init__:function(element,options){this.element=MochiKit.DOM.getElement(element);options=MochiKit.Base.update({x:0,y:0,mode:'relative'},options);this.start(options);},setup:function(){MochiKit.DOM.makePositioned(this.element);var s=this.element.style;var originalVisibility=s.visibility;var originalDisplay=s.display;if(originalDisplay=='none'){s.visibility='hidden';s.display='';}
this.originalLeft=parseFloat(MochiKit.Style.getStyle(this.element,'left')||'0');this.originalTop=parseFloat(MochiKit.Style.getStyle(this.element,'top')||'0');if(this.options.mode=='absolute'){this.options.x-=this.originalLeft;this.options.y-=this.originalTop;}
if(originalDisplay=='none'){s.visibility=originalVisibility;s.display=originalDisplay;}},update:function(position){MochiKit.Style.setStyle(this.element,{left:Math.round(this.options.x*position+this.originalLeft)+'px',top:Math.round(this.options.y*position+this.originalTop)+'px'});}});MochiKit.Visual.Scale=function(element,percent,options){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(element,percent,options);}
this.__init__(element,percent,options);};MochiKit.Visual.Scale.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Scale.prototype,{__class__:MochiKit.Visual.Scale,__init__:function(element,percent,options){this.element=MochiKit.DOM.getElement(element);options=MochiKit.Base.update({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:percent},options);this.start(options);},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=MochiKit.Style.getStyle(this.element,'position');var ma=MochiKit.Base.map;var b=MochiKit.Base.bind;this.originalStyle={};ma(b(function(k){this.originalStyle[k]=this.element.style[k];},this),['top','left','width','height','fontSize']);this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var fontSize=MochiKit.Style.getStyle(this.element,'font-size')||'100%';ma(b(function(fontSizeType){if(fontSize.indexOf(fontSizeType)>0){this.fontSize=parseFloat(fontSize);this.fontSizeType=fontSizeType;}},this),['em','px','%']);this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;if(/^content/.test(this.options.scaleMode)){this.dims=[this.element.scrollHeight,this.element.scrollWidth];}else if(this.options.scaleMode=='box'){this.dims=[this.element.offsetHeight,this.element.offsetWidth];}else{this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth];}},update:function(position){var currentScale=(this.options.scaleFrom/100.0)+
(this.factor*position);if(this.options.scaleContent&&this.fontSize){MochiKit.Style.setStyle(this.element,{fontSize:this.fontSize*currentScale+this.fontSizeType});}
this.setDimensions(this.dims[0]*currentScale,this.dims[1]*currentScale);},finish:function(){if(this.restoreAfterFinish){MochiKit.Style.setStyle(this.element,this.originalStyle);}},setDimensions:function(height,width){var d={};var r=Math.round;if(/MSIE/.test(navigator.userAgent)){r=Math.ceil;}
if(this.options.scaleX){d.width=r(width)+'px';}
if(this.options.scaleY){d.height=r(height)+'px';}
if(this.options.scaleFromCenter){var topd=(height-this.dims[0])/2;var leftd=(width-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY){d.top=this.originalTop-topd+'px';}
if(this.options.scaleX){d.left=this.originalLeft-leftd+'px';}}else{if(this.options.scaleY){d.top=-topd+'px';}
if(this.options.scaleX){d.left=-leftd+'px';}}}
MochiKit.Style.setStyle(this.element,d);}});MochiKit.Visual.Highlight=function(element,options){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(element,options);}
this.__init__(element,options);};MochiKit.Visual.Highlight.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Highlight.prototype,{__class__:MochiKit.Visual.Highlight,__init__:function(element,options){this.element=MochiKit.DOM.getElement(element);options=MochiKit.Base.update({startcolor:'#ffff99'},options);this.start(options);},setup:function(){var b=MochiKit.Base;var s=MochiKit.Style;if(s.getStyle(this.element,'display')=='none'){this.cancel();return;}
this.oldStyle={backgroundImage:s.getStyle(this.element,'background-image')};s.setStyle(this.element,{backgroundImage:'none'});if(!this.options.endcolor){this.options.endcolor=MochiKit.Color.Color.fromBackground(this.element).toHexString();}
if(b.isUndefinedOrNull(this.options.restorecolor)){this.options.restorecolor=s.getStyle(this.element,'background-color');}
this._base=b.map(b.bind(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16);},this),[0,1,2]);this._delta=b.map(b.bind(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)
-this._base[i];},this),[0,1,2]);},update:function(position){var m='#';MochiKit.Base.map(MochiKit.Base.bind(function(i){m+=MochiKit.Color.toColorPart(Math.round(this._base[i]+
this._delta[i]*position));},this),[0,1,2]);MochiKit.Style.setStyle(this.element,{backgroundColor:m});},finish:function(){MochiKit.Style.setStyle(this.element,MochiKit.Base.update(this.oldStyle,{backgroundColor:this.options.restorecolor}));}});MochiKit.Visual.ScrollTo=function(element,options){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(element,options);}
this.__init__(element,options);};MochiKit.Visual.ScrollTo.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.ScrollTo.prototype,{__class__:MochiKit.Visual.ScrollTo,__init__:function(element,options){this.element=MochiKit.DOM.getElement(element);this.start(options);},setup:function(){var p=MochiKit.Position;p.prepare();var offsets=p.cumulativeOffset(this.element);if(this.options.offset){offsets.y+=this.options.offset;}
var max;if(window.innerHeight){max=window.innerHeight-window.height;}else if(document.documentElement&&document.documentElement.clientHeight){max=document.documentElement.clientHeight-
document.body.scrollHeight;}else if(document.body){max=document.body.clientHeight-document.body.scrollHeight;}
this.scrollStart=p.windowOffset.y;this.delta=(offsets.y>max?max:offsets.y)-this.scrollStart;},update:function(position){var p=MochiKit.Position;p.prepare();window.scrollTo(p.windowOffset.x,this.scrollStart+(position*this.delta));}});MochiKit.Visual.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;MochiKit.Visual.Morph=function(element,options){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(element,options);}
this.__init__(element,options);};MochiKit.Visual.Morph.prototype=new MochiKit.Visual.Base();MochiKit.Base.update(MochiKit.Visual.Morph.prototype,{__class__:MochiKit.Visual.Morph,__init__:function(element,options){this.element=MochiKit.DOM.getElement(element);this.start(options);},setup:function(){var b=MochiKit.Base;var style=this.options.style;this.styleStart={};this.styleEnd={};this.units={};var value,unit;for(var s in style){value=style[s];s=b.camelize(s);if(MochiKit.Visual.CSS_LENGTH.test(value)){var components=value.match(/^([\+\-]?[0-9\.]+)(.*)$/);value=parseFloat(components[1]);unit=(components.length==3)?components[2]:null;this.styleEnd[s]=value;this.units[s]=unit;value=MochiKit.Style.getStyle(this.element,s);components=value.match(/^([\+\-]?[0-9\.]+)(.*)$/);value=parseFloat(components[1]);this.styleStart[s]=value;}else{var c=MochiKit.Color.Color;value=c.fromString(value);if(value){this.units[s]="color";this.styleEnd[s]=value.toHexString();value=MochiKit.Style.getStyle(this.element,s);this.styleStart[s]=c.fromString(value).toHexString();this.styleStart[s]=b.map(b.bind(function(i){return parseInt(this.styleStart[s].slice(i*2+1,i*2+3),16);},this),[0,1,2]);this.styleEnd[s]=b.map(b.bind(function(i){return parseInt(this.styleEnd[s].slice(i*2+1,i*2+3),16);},this),[0,1,2]);}}}},update:function(position){var value;for(var s in this.styleStart){if(this.units[s]=="color"){var m='#';var start=this.styleStart[s];var end=this.styleEnd[s];MochiKit.Base.map(MochiKit.Base.bind(function(i){m+=MochiKit.Color.toColorPart(Math.round(start[i]+
(end[i]-start[i])*position));},this),[0,1,2]);this.element.style[s]=m;}else{value=this.styleStart[s]+Math.round((this.styleEnd[s]-this.styleStart[s])*position*1000)/1000+this.units[s];this.element.style[s]=value;}}}});MochiKit.Visual.fade=function(element,options){var s=MochiKit.Style;var oldOpacity=s.getStyle(element,'opacity');options=MochiKit.Base.update({from:s.getStyle(element,'opacity')||1.0,to:0.0,afterFinishInternal:function(effect){if(effect.options.to!==0){return;}
s.hideElement(effect.element);s.setStyle(effect.element,{'opacity':oldOpacity});}},options);return new MochiKit.Visual.Opacity(element,options);};MochiKit.Visual.appear=function(element,options){var s=MochiKit.Style;var v=MochiKit.Visual;options=MochiKit.Base.update({from:(s.getStyle(element,'display')=='none'?0.0:s.getStyle(element,'opacity')||0.0),to:1.0,afterFinishInternal:function(effect){v.forceRerendering(effect.element);},beforeSetupInternal:function(effect){s.setStyle(effect.element,{'opacity':effect.options.from});s.showElement(effect.element);}},options);return new v.Opacity(element,options);};MochiKit.Visual.puff=function(element,options){var s=MochiKit.Style;var v=MochiKit.Visual;element=MochiKit.DOM.getElement(element);var elementDimensions=MochiKit.Style.getElementDimensions(element,true);var oldStyle={position:s.getStyle(element,'position'),top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height,opacity:s.getStyle(element,'opacity')};options=MochiKit.Base.update({beforeSetupInternal:function(effect){MochiKit.Position.absolutize(effect.effects[0].element);},afterFinishInternal:function(effect){s.hideElement(effect.effects[0].element);s.setStyle(effect.effects[0].element,oldStyle);},scaleContent:true,scaleFromCenter:true},options);return new v.Parallel([new v.Scale(element,200,{sync:true,scaleFromCenter:options.scaleFromCenter,scaleMode:{originalHeight:elementDimensions.h,originalWidth:elementDimensions.w},scaleContent:options.scaleContent,restoreAfterFinish:true}),new v.Opacity(element,{sync:true,to:0.0})],options);};MochiKit.Visual.blindUp=function(element,options){var d=MochiKit.DOM;element=d.getElement(element);var elementDimensions=MochiKit.Style.getElementDimensions(element,true);var elemClip=d.makeClipping(element);options=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleMode:{originalHeight:elementDimensions.h,originalWidth:elementDimensions.w},restoreAfterFinish:true,afterFinishInternal:function(effect){MochiKit.Style.hideElement(effect.element);d.undoClipping(effect.element,elemClip);}},options);return new MochiKit.Visual.Scale(element,0,options);};MochiKit.Visual.blindDown=function(element,options){var d=MochiKit.DOM;var s=MochiKit.Style;element=d.getElement(element);var elementDimensions=s.getElementDimensions(element,true);var elemClip;options=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.h,originalWidth:elementDimensions.w},restoreAfterFinish:true,afterSetupInternal:function(effect){elemClip=d.makeClipping(effect.element);s.setStyle(effect.element,{height:'0px'});s.showElement(effect.element);},afterFinishInternal:function(effect){d.undoClipping(effect.element,elemClip);}},options);return new MochiKit.Visual.Scale(element,100,options);};MochiKit.Visual.switchOff=function(element,options){var d=MochiKit.DOM;var s=MochiKit.Style;element=d.getElement(element);var elementDimensions=s.getElementDimensions(element,true);var oldOpacity=s.getStyle(element,'opacity');var elemClip;options=MochiKit.Base.update({duration:0.7,restoreAfterFinish:true,beforeSetupInternal:function(effect){d.makePositioned(element);elemClip=d.makeClipping(element);},afterFinishInternal:function(effect){s.hideElement(element);d.undoClipping(element,elemClip);d.undoPositioned(element);s.setStyle(element,{'opacity':oldOpacity});}},options);var v=MochiKit.Visual;return new v.Sequence([new v.appear(element,{sync:true,duration:0.57*options.duration,from:0,transition:v.Transitions.flicker}),new v.Scale(element,1,{sync:true,duration:0.43*options.duration,scaleFromCenter:true,scaleX:false,scaleMode:{originalHeight:elementDimensions.h,originalWidth:elementDimensions.w},scaleContent:false,restoreAfterFinish:true})],options);};MochiKit.Visual.dropOut=function(element,options){var d=MochiKit.DOM;var s=MochiKit.Style;element=d.getElement(element);var oldStyle={top:s.getStyle(element,'top'),left:s.getStyle(element,'left'),opacity:s.getStyle(element,'opacity')};options=MochiKit.Base.update({duration:0.5,distance:100,beforeSetupInternal:function(effect){d.makePositioned(effect.effects[0].element);},afterFinishInternal:function(effect){s.hideElement(effect.effects[0].element);d.undoPositioned(effect.effects[0].element);s.setStyle(effect.effects[0].element,oldStyle);}},options);var v=MochiKit.Visual;return new v.Parallel([new v.Move(element,{x:0,y:options.distance,sync:true}),new v.Opacity(element,{sync:true,to:0.0})],options);};MochiKit.Visual.shake=function(element,options){var d=MochiKit.DOM;var v=MochiKit.Visual;var s=MochiKit.Style;element=d.getElement(element);var oldStyle={top:s.getStyle(element,'top'),left:s.getStyle(element,'left')};options=MochiKit.Base.update({duration:0.5,afterFinishInternal:function(effect){d.undoPositioned(element);s.setStyle(element,oldStyle);}},options);return new v.Sequence([new v.Move(element,{sync:true,duration:0.1*options.duration,x:20,y:0}),new v.Move(element,{sync:true,duration:0.2*options.duration,x:-40,y:0}),new v.Move(element,{sync:true,duration:0.2*options.duration,x:40,y:0}),new v.Move(element,{sync:true,duration:0.2*options.duration,x:-40,y:0}),new v.Move(element,{sync:true,duration:0.2*options.duration,x:40,y:0}),new v.Move(element,{sync:true,duration:0.1*options.duration,x:-20,y:0})],options);};MochiKit.Visual.slideDown=function(element,options){var d=MochiKit.DOM;var b=MochiKit.Base;var s=MochiKit.Style;element=d.getElement(element);if(!element.firstChild){throw new Error("MochiKit.Visual.slideDown must be used on a element with a child");}
d.removeEmptyTextNodes(element);var oldInnerBottom=s.getStyle(element.firstChild,'bottom')||0;var elementDimensions=s.getElementDimensions(element,true);var elemClip;options=b.update({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.h,originalWidth:elementDimensions.w},restoreAfterFinish:true,afterSetupInternal:function(effect){d.makePositioned(effect.element);d.makePositioned(effect.element.firstChild);if(/Opera/.test(navigator.userAgent)){s.setStyle(effect.element,{top:''});}
elemClip=d.makeClipping(effect.element);s.setStyle(effect.element,{height:'0px'});s.showElement(effect.element);},afterUpdateInternal:function(effect){var elementDimensions=s.getElementDimensions(effect.element,true);s.setStyle(effect.element.firstChild,{bottom:(effect.dims[0]-elementDimensions.h)+'px'});},afterFinishInternal:function(effect){d.undoClipping(effect.element,elemClip);if(/MSIE/.test(navigator.userAgent)){d.undoPositioned(effect.element);d.undoPositioned(effect.element.firstChild);}else{d.undoPositioned(effect.element.firstChild);d.undoPositioned(effect.element);}
s.setStyle(effect.element.firstChild,{bottom:oldInnerBottom});}},options);return new MochiKit.Visual.Scale(element,100,options);};MochiKit.Visual.slideUp=function(element,options){var d=MochiKit.DOM;var b=MochiKit.Base;var s=MochiKit.Style;element=d.getElement(element);if(!element.firstChild){throw new Error("MochiKit.Visual.slideUp must be used on a element with a child");}
d.removeEmptyTextNodes(element);var oldInnerBottom=s.getStyle(element.firstChild,'bottom');var elementDimensions=s.getElementDimensions(element,true);var elemClip;options=b.update({scaleContent:false,scaleX:false,scaleMode:{originalHeight:elementDimensions.h,originalWidth:elementDimensions.w},scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(effect){d.makePositioned(effect.element);d.makePositioned(effect.element.firstChild);if(/Opera/.test(navigator.userAgent)){s.setStyle(effect.element,{top:''});}
elemClip=d.makeClipping(effect.element);s.showElement(effect.element);},afterUpdateInternal:function(effect){var elementDimensions=s.getElementDimensions(effect.element,true);s.setStyle(effect.element.firstChild,{bottom:(effect.dims[0]-elementDimensions.h)+'px'});},afterFinishInternal:function(effect){s.hideElement(effect.element);d.undoClipping(effect.element,elemClip);d.undoPositioned(effect.element.firstChild);d.undoPositioned(effect.element);s.setStyle(effect.element.firstChild,{bottom:oldInnerBottom});}},options);return new MochiKit.Visual.Scale(element,0,options);};MochiKit.Visual.squish=function(element,options){var d=MochiKit.DOM;var b=MochiKit.Base;var elementDimensions=MochiKit.Style.getElementDimensions(element,true);var elemClip;options=b.update({restoreAfterFinish:true,scaleMode:{originalHeight:elementDimensions.w,originalWidth:elementDimensions.h},beforeSetupInternal:function(effect){elemClip=d.makeClipping(effect.element);},afterFinishInternal:function(effect){MochiKit.Style.hideElement(effect.element);d.undoClipping(effect.element,elemClip);}},options);return new MochiKit.Visual.Scale(element,/Opera/.test(navigator.userAgent)?1:0,options);};MochiKit.Visual.grow=function(element,options){var d=MochiKit.DOM;var v=MochiKit.Visual;var s=MochiKit.Style;element=d.getElement(element);options=MochiKit.Base.update({direction:'center',moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.full,scaleContent:true,scaleFromCenter:false},options);var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:s.getStyle(element,'opacity')};var dims=s.getElementDimensions(element,true);var initialMoveX,initialMoveY;var moveX,moveY;switch(options.direction){case'top-left':initialMoveX=initialMoveY=moveX=moveY=0;break;case'top-right':initialMoveX=dims.w;initialMoveY=moveY=0;moveX=-dims.w;break;case'bottom-left':initialMoveX=moveX=0;initialMoveY=dims.h;moveY=-dims.h;break;case'bottom-right':initialMoveX=dims.w;initialMoveY=dims.h;moveX=-dims.w;moveY=-dims.h;break;case'center':initialMoveX=dims.w/2;initialMoveY=dims.h/2;moveX=-dims.w/2;moveY=-dims.h/2;break;}
var optionsParallel=MochiKit.Base.update({beforeSetupInternal:function(effect){s.setStyle(effect.effects[0].element,{height:'0px'});s.showElement(effect.effects[0].element);},afterFinishInternal:function(effect){d.undoClipping(effect.effects[0].element);d.undoPositioned(effect.effects[0].element);s.setStyle(effect.effects[0].element,oldStyle);}},options);return new v.Move(element,{x:initialMoveX,y:initialMoveY,duration:0.01,beforeSetupInternal:function(effect){s.hideElement(effect.element);d.makeClipping(effect.element);d.makePositioned(effect.element);},afterFinishInternal:function(effect){new v.Parallel([new v.Opacity(effect.element,{sync:true,to:1.0,from:0.0,transition:options.opacityTransition}),new v.Move(effect.element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition}),new v.Scale(effect.element,100,{scaleMode:{originalHeight:dims.h,originalWidth:dims.w},sync:true,scaleFrom:/Opera/.test(navigator.userAgent)?1:0,transition:options.scaleTransition,scaleContent:options.scaleContent,scaleFromCenter:options.scaleFromCenter,restoreAfterFinish:true})],optionsParallel);}});};MochiKit.Visual.shrink=function(element,options){var d=MochiKit.DOM;var v=MochiKit.Visual;var s=MochiKit.Style;element=d.getElement(element);options=MochiKit.Base.update({direction:'center',moveTransition:v.Transitions.sinoidal,scaleTransition:v.Transitions.sinoidal,opacityTransition:v.Transitions.none,scaleContent:true,scaleFromCenter:false},options);var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:s.getStyle(element,'opacity')};var dims=s.getElementDimensions(element,true);var moveX,moveY;switch(options.direction){case'top-left':moveX=moveY=0;break;case'top-right':moveX=dims.w;moveY=0;break;case'bottom-left':moveX=0;moveY=dims.h;break;case'bottom-right':moveX=dims.w;moveY=dims.h;break;case'center':moveX=dims.w/2;moveY=dims.h/2;break;}
var elemClip;var optionsParallel=MochiKit.Base.update({beforeStartInternal:function(effect){elemClip=d.makePositioned(effect.effects[0].element);d.makeClipping(effect.effects[0].element);},afterFinishInternal:function(effect){s.hideElement(effect.effects[0].element);d.undoClipping(effect.effects[0].element,elemClip);d.undoPositioned(effect.effects[0].element);s.setStyle(effect.effects[0].element,oldStyle);}},options);return new v.Parallel([new v.Opacity(element,{sync:true,to:0.0,from:1.0,transition:options.opacityTransition}),new v.Scale(element,/Opera/.test(navigator.userAgent)?1:0,{scaleMode:{originalHeight:dims.h,originalWidth:dims.w},sync:true,transition:options.scaleTransition,scaleContent:options.scaleContent,scaleFromCenter:options.scaleFromCenter,restoreAfterFinish:true}),new v.Move(element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition})],optionsParallel);};MochiKit.Visual.pulsate=function(element,options){var d=MochiKit.DOM;var v=MochiKit.Visual;var b=MochiKit.Base;var oldOpacity=MochiKit.Style.getStyle(element,'opacity');options=b.update({duration:3.0,from:0,afterFinishInternal:function(effect){MochiKit.Style.setStyle(effect.element,{'opacity':oldOpacity});}},options);var transition=options.transition||v.Transitions.sinoidal;options.transition=function(pos){return transition(1-v.Transitions.pulse(pos,options.pulses));};return new v.Opacity(element,options);};MochiKit.Visual.fold=function(element,options){var d=MochiKit.DOM;var v=MochiKit.Visual;var s=MochiKit.Style;element=d.getElement(element);var elementDimensions=s.getElementDimensions(element,true);var oldStyle={top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};var elemClip=d.makeClipping(element);options=MochiKit.Base.update({scaleContent:false,scaleX:false,scaleMode:{originalHeight:elementDimensions.h,originalWidth:elementDimensions.w},afterFinishInternal:function(effect){new v.Scale(element,1,{scaleContent:false,scaleY:false,scaleMode:{originalHeight:elementDimensions.h,originalWidth:elementDimensions.w},afterFinishInternal:function(effect){s.hideElement(effect.element);d.undoClipping(effect.element,elemClip);s.setStyle(effect.element,oldStyle);}});}},options);return new v.Scale(element,5,options);};MochiKit.Visual.Color=MochiKit.Color.Color;MochiKit.Visual.getElementsComputedStyle=MochiKit.DOM.computedStyle;MochiKit.Visual.__new__=function(){var m=MochiKit.Base;m.nameFunctions(this);this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};};MochiKit.Visual.EXPORT=["roundElement","roundClass","tagifyText","multiple","toggle","Parallel","Sequence","Opacity","Move","Scale","Highlight","ScrollTo","Morph","fade","appear","puff","blindUp","blindDown","switchOff","dropOut","shake","slideDown","slideUp","squish","grow","shrink","pulsate","fold"];MochiKit.Visual.EXPORT_OK=["Base","PAIRS"];MochiKit.Visual.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Visual);;MochiKit.Base._deps('DragAndDrop',['Base','Iter','DOM','Signal','Visual','Position']);MochiKit.DragAndDrop.NAME='MochiKit.DragAndDrop';MochiKit.DragAndDrop.VERSION='1.4';MochiKit.DragAndDrop.__repr__=function(){return'['+this.NAME+' '+this.VERSION+']';};MochiKit.DragAndDrop.toString=function(){return this.__repr__();};MochiKit.DragAndDrop.EXPORT=["Droppable","Draggable"];MochiKit.DragAndDrop.EXPORT_OK=["Droppables","Draggables"];MochiKit.DragAndDrop.Droppables={drops:[],remove:function(element){this.drops=MochiKit.Base.filter(function(d){return d.element!=MochiKit.DOM.getElement(element);},this.drops);},register:function(drop){this.drops.push(drop);},unregister:function(drop){this.drops=MochiKit.Base.filter(function(d){return d!=drop;},this.drops);},prepare:function(element){MochiKit.Base.map(function(drop){if(drop.isAccepted(element)){if(drop.options.activeclass){MochiKit.DOM.addElementClass(drop.element,drop.options.activeclass);}
drop.options.onactive(drop.element,element);}},this.drops);},findDeepestChild:function(drops){deepest=drops[0];for(i=1;i<drops.length;++i){if(MochiKit.DOM.isParent(drops[i].element,deepest.element)){deepest=drops[i];}}
return deepest;},show:function(point,element){if(!this.drops.length){return;}
var affected=[];if(this.last_active){this.last_active.deactivate();}
MochiKit.Iter.forEach(this.drops,function(drop){if(drop.isAffected(point,element)){affected.push(drop);}});if(affected.length>0){drop=this.findDeepestChild(affected);MochiKit.Position.within(drop.element,point.page.x,point.page.y);drop.options.onhover(element,drop.element,MochiKit.Position.overlap(drop.options.overlap,drop.element));drop.activate();}},fire:function(event,element){if(!this.last_active){return;}
MochiKit.Position.prepare();if(this.last_active.isAffected(event.mouse(),element)){this.last_active.options.ondrop(element,this.last_active.element,event);}},reset:function(element){MochiKit.Base.map(function(drop){if(drop.options.activeclass){MochiKit.DOM.removeElementClass(drop.element,drop.options.activeclass);}
drop.options.ondesactive(drop.element,element);},this.drops);if(this.last_active){this.last_active.deactivate();}}};MochiKit.DragAndDrop.Droppable=function(element,options){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(element,options);}
this.__init__(element,options);};MochiKit.DragAndDrop.Droppable.prototype={__class__:MochiKit.DragAndDrop.Droppable,__init__:function(element,options){var d=MochiKit.DOM;var b=MochiKit.Base;this.element=d.getElement(element);this.options=b.update({greedy:true,hoverclass:null,activeclass:null,hoverfunc:b.noop,accept:null,onactive:b.noop,ondesactive:b.noop,onhover:b.noop,ondrop:b.noop,containment:[],tree:false},options);this.options._containers=[];b.map(MochiKit.Base.bind(function(c){this.options._containers.push(d.getElement(c));},this),this.options.containment);d.makePositioned(this.element);MochiKit.DragAndDrop.Droppables.register(this);},isContained:function(element){if(this.options._containers.length){var containmentNode;if(this.options.tree){containmentNode=element.treeNode;}else{containmentNode=element.parentNode;}
return MochiKit.Iter.some(this.options._containers,function(c){return containmentNode==c;});}else{return true;}},isAccepted:function(element){return((!this.options.accept)||MochiKit.Iter.some(this.options.accept,function(c){return MochiKit.DOM.hasElementClass(element,c);}));},isAffected:function(point,element){return((this.element!=element)&&this.isContained(element)&&this.isAccepted(element)&&MochiKit.Position.within(this.element,point.page.x,point.page.y));},deactivate:function(){if(this.options.hoverclass){MochiKit.DOM.removeElementClass(this.element,this.options.hoverclass);}
this.options.hoverfunc(this.element,false);MochiKit.DragAndDrop.Droppables.last_active=null;},activate:function(){if(this.options.hoverclass){MochiKit.DOM.addElementClass(this.element,this.options.hoverclass);}
this.options.hoverfunc(this.element,true);MochiKit.DragAndDrop.Droppables.last_active=this;},destroy:function(){MochiKit.DragAndDrop.Droppables.unregister(this);},repr:function(){return'['+this.__class__.NAME+", options:"+MochiKit.Base.repr(this.options)+"]";}};MochiKit.DragAndDrop.Draggables={drags:[],register:function(draggable){if(this.drags.length===0){var conn=MochiKit.Signal.connect;this.eventMouseUp=conn(document,'onmouseup',this,this.endDrag);this.eventMouseMove=conn(document,'onmousemove',this,this.updateDrag);this.eventKeypress=conn(document,'onkeypress',this,this.keyPress);}
this.drags.push(draggable);},unregister:function(draggable){this.drags=MochiKit.Base.filter(function(d){return d!=draggable;},this.drags);if(this.drags.length===0){var disc=MochiKit.Signal.disconnect;disc(this.eventMouseUp);disc(this.eventMouseMove);disc(this.eventKeypress);}},activate:function(draggable){window.focus();this.activeDraggable=draggable;},deactivate:function(){this.activeDraggable=null;},updateDrag:function(event){if(!this.activeDraggable){return;}
var pointer=event.mouse();if(this._lastPointer&&(MochiKit.Base.repr(this._lastPointer.page)==MochiKit.Base.repr(pointer.page))){return;}
this._lastPointer=pointer;this.activeDraggable.updateDrag(event,pointer);},endDrag:function(event){if(!this.activeDraggable){return;}
this._lastPointer=null;this.activeDraggable.endDrag(event);this.activeDraggable=null;},keyPress:function(event){if(this.activeDraggable){this.activeDraggable.keyPress(event);}},notify:function(eventName,draggable,event){MochiKit.Signal.signal(this,eventName,draggable,event);}};MochiKit.DragAndDrop.Draggable=function(element,options){var cls=arguments.callee;if(!(this instanceof cls)){return new cls(element,options);}
this.__init__(element,options);};MochiKit.DragAndDrop.Draggable.prototype={__class__:MochiKit.DragAndDrop.Draggable,__init__:function(element,options){var v=MochiKit.Visual;var b=MochiKit.Base;options=b.update({handle:false,starteffect:function(innerelement){this._savedOpacity=MochiKit.Style.getStyle(innerelement,'opacity')||1.0;new v.Opacity(innerelement,{duration:0.2,from:this._savedOpacity,to:0.7});},reverteffect:function(innerelement,top_offset,left_offset){var dur=Math.sqrt(Math.abs(top_offset^2)+
Math.abs(left_offset^2))*0.02;return new v.Move(innerelement,{x:-left_offset,y:-top_offset,duration:dur});},endeffect:function(innerelement){new v.Opacity(innerelement,{duration:0.2,from:0.7,to:this._savedOpacity});},onchange:b.noop,zindex:1000,revert:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false},options);var d=MochiKit.DOM;this.element=d.getElement(element);if(options.handle&&(typeof(options.handle)=='string')){this.handle=d.getFirstElementByTagAndClassName(null,options.handle,this.element);}
if(!this.handle){this.handle=d.getElement(options.handle);}
if(!this.handle){this.handle=this.element;}
if(options.scroll&&!options.scroll.scrollTo&&!options.scroll.outerHTML){options.scroll=d.getElement(options.scroll);this._isScrollChild=MochiKit.DOM.isChildNode(this.element,options.scroll);}
d.makePositioned(this.element);this.delta=this.currentDelta();this.options=options;this.dragging=false;this.eventMouseDown=MochiKit.Signal.connect(this.handle,'onmousedown',this,this.initDrag);MochiKit.DragAndDrop.Draggables.register(this);},destroy:function(){MochiKit.Signal.disconnect(this.eventMouseDown);MochiKit.DragAndDrop.Draggables.unregister(this);},currentDelta:function(){var s=MochiKit.Style.getStyle;return[parseInt(s(this.element,'left')||'0'),parseInt(s(this.element,'top')||'0')];},initDrag:function(event){if(!event.mouse().button.left){return;}
var src=event.target()?event.target():{};var tagName=(src.tagName||'').toUpperCase();if(tagName==='INPUT'||tagName==='SELECT'||tagName==='OPTION'||tagName==='BUTTON'||tagName==='TEXTAREA'){return;}
if(this._revert){this._revert.cancel();this._revert=null;}
var pointer=event.mouse();var pos=MochiKit.Position.cumulativeOffset(this.element);this.offset=[pointer.page.x-pos.x,pointer.page.y-pos.y];MochiKit.DragAndDrop.Draggables.activate(this);event.stop();},startDrag:function(event){this.dragging=true;if(this.options.selectclass){MochiKit.DOM.addElementClass(this.element,this.options.selectclass);}
if(this.options.zindex){this.originalZ=parseInt(MochiKit.Style.getStyle(this.element,'z-index')||'0');this.element.style.zIndex=this.options.zindex;}
if(this.options.ghosting){this._clone=this.element.cloneNode(true);this.ghostPosition=MochiKit.Position.absolutize(this.element);this.element.parentNode.insertBefore(this._clone,this.element);}
if(this.options.scroll){if(this.options.scroll==window){var where=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=where.left;this.originalScrollTop=where.top;}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop;}}
MochiKit.DragAndDrop.Droppables.prepare(this.element);MochiKit.DragAndDrop.Draggables.notify('start',this,event);if(this.options.starteffect){this.options.starteffect(this.element);}},updateDrag:function(event,pointer){if(!this.dragging){this.startDrag(event);}
MochiKit.Position.prepare();MochiKit.DragAndDrop.Droppables.show(pointer,this.element);MochiKit.DragAndDrop.Draggables.notify('drag',this,event);this.draw(pointer);this.options.onchange(this);if(this.options.scroll){this.stopScrolling();var p,q;if(this.options.scroll==window){var s=this._getWindowScroll(this.options.scroll);p=new MochiKit.Style.Coordinates(s.left,s.top);q=new MochiKit.Style.Coordinates(s.left+s.width,s.top+s.height);}else{p=MochiKit.Position.page(this.options.scroll);p.x+=this.options.scroll.scrollLeft;p.y+=this.options.scroll.scrollTop;p.x+=(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0);p.y+=(window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0);q=new MochiKit.Style.Coordinates(p.x+this.options.scroll.offsetWidth,p.y+this.options.scroll.offsetHeight);}
var speed=[0,0];if(pointer.page.x>(q.x-this.options.scrollSensitivity)){speed[0]=pointer.page.x-(q.x-this.options.scrollSensitivity);}else if(pointer.page.x<(p.x+this.options.scrollSensitivity)){speed[0]=pointer.page.x-(p.x+this.options.scrollSensitivity);}
if(pointer.page.y>(q.y-this.options.scrollSensitivity)){speed[1]=pointer.page.y-(q.y-this.options.scrollSensitivity);}else if(pointer.page.y<(p.y+this.options.scrollSensitivity)){speed[1]=pointer.page.y-(p.y+this.options.scrollSensitivity);}
this.startScrolling(speed);}
if(/AppleWebKit/.test(navigator.appVersion)){window.scrollBy(0,0);}
event.stop();},finishDrag:function(event,success){var dr=MochiKit.DragAndDrop;this.dragging=false;if(this.options.selectclass){MochiKit.DOM.removeElementClass(this.element,this.options.selectclass);}
if(this.options.ghosting){MochiKit.Position.relativize(this.element,this.ghostPosition);MochiKit.DOM.removeElement(this._clone);this._clone=null;}
if(success){dr.Droppables.fire(event,this.element);}
dr.Draggables.notify('end',this,event);var revert=this.options.revert;if(revert&&typeof(revert)=='function'){revert=revert(this.element);}
var d=this.currentDelta();if(revert&&this.options.reverteffect){this._revert=this.options.reverteffect(this.element,d[1]-this.delta[1],d[0]-this.delta[0]);}else{this.delta=d;}
if(this.options.zindex){this.element.style.zIndex=this.originalZ;}
if(this.options.endeffect){this.options.endeffect(this.element);}
dr.Draggables.deactivate();dr.Droppables.reset(this.element);},keyPress:function(event){if(event.key().string!="KEY_ESCAPE"){return;}
this.finishDrag(event,false);event.stop();},endDrag:function(event){if(!this.dragging){return;}
this.stopScrolling();this.finishDrag(event,true);event.stop();},draw:function(point){var pos=MochiKit.Position.cumulativeOffset(this.element);var d=this.currentDelta();pos.x-=d[0];pos.y-=d[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){pos.x-=this.options.scroll.scrollLeft-this.originalScrollLeft;pos.y-=this.options.scroll.scrollTop-this.originalScrollTop;}
var p=[point.page.x-pos.x-this.offset[0],point.page.y-pos.y-this.offset[1]];if(this.options.snap){if(typeof(this.options.snap)=='function'){p=this.options.snap(p[0],p[1]);}else{if(this.options.snap instanceof Array){var i=-1;p=MochiKit.Base.map(MochiKit.Base.bind(function(v){i+=1;return Math.round(v/this.options.snap[i])*this.options.snap[i];},this),p);}else{p=MochiKit.Base.map(MochiKit.Base.bind(function(v){return Math.round(v/this.options.snap)*this.options.snap;},this),p);}}}
var style=this.element.style;if((!this.options.constraint)||(this.options.constraint=='horizontal')){style.left=p[0]+'px';}
if((!this.options.constraint)||(this.options.constraint=='vertical')){style.top=p[1]+'px';}
if(style.visibility=='hidden'){style.visibility='';}},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;MochiKit.DragAndDrop.Draggables._lastScrollPointer=null;}},startScrolling:function(speed){if(!speed[0]&&!speed[1]){return;}
this.scrollSpeed=[speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(MochiKit.Base.bind(this.scroll,this),10);},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){var s=this._getWindowScroll(this.options.scroll);if(this.scrollSpeed[0]||this.scrollSpeed[1]){var dm=delta/1000;this.options.scroll.scrollTo(s.left+dm*this.scrollSpeed[0],s.top+dm*this.scrollSpeed[1]);}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000;}
var d=MochiKit.DragAndDrop;MochiKit.Position.prepare();d.Droppables.show(d.Draggables._lastPointer,this.element);d.Draggables.notify('drag',this);if(this._isScrollChild){d.Draggables._lastScrollPointer=d.Draggables._lastScrollPointer||d.Draggables._lastPointer;d.Draggables._lastScrollPointer.x+=this.scrollSpeed[0]*delta/1000;d.Draggables._lastScrollPointer.y+=this.scrollSpeed[1]*delta/1000;if(d.Draggables._lastScrollPointer.x<0){d.Draggables._lastScrollPointer.x=0;}
if(d.Draggables._lastScrollPointer.y<0){d.Draggables._lastScrollPointer.y=0;}
this.draw(d.Draggables._lastScrollPointer);}
this.options.onchange(this);},_getWindowScroll:function(win){var vp,w,h;MochiKit.DOM.withWindow(win,function(){vp=MochiKit.Style.getViewportPosition(win.document);});if(win.innerWidth){w=win.innerWidth;h=win.innerHeight;}else if(win.document.documentElement&&win.document.documentElement.clientWidth){w=win.document.documentElement.clientWidth;h=win.document.documentElement.clientHeight;}else{w=win.document.body.offsetWidth;h=win.document.body.offsetHeight;}
return{top:vp.y,left:vp.x,width:w,height:h};},repr:function(){return'['+this.__class__.NAME+", options:"+MochiKit.Base.repr(this.options)+"]";}};MochiKit.DragAndDrop.__new__=function(){MochiKit.Base.nameFunctions(this);this.EXPORT_TAGS={":common":this.EXPORT,":all":MochiKit.Base.concat(this.EXPORT,this.EXPORT_OK)};};MochiKit.DragAndDrop.__new__();MochiKit.Base._exportSymbols(this,MochiKit.DragAndDrop);;if(typeof(MochiKit)=="undefined"){MochiKit={};}
if(typeof(MochiKit.MockDOM)=="undefined"){MochiKit.MockDOM={};}
MochiKit.MockDOM.NAME="MochiKit.MockDOM";MochiKit.MockDOM.VERSION="1.4";MochiKit.MockDOM.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.MockDOM.toString=function(){return this.__repr__();};MochiKit.MockDOM.createDocument=function(){var doc=new MochiKit.MockDOM.MockElement("DOCUMENT");doc.body=doc.createElement("BODY");doc.appendChild(doc.body);return doc;};MochiKit.MockDOM.MockElement=function(name,data,ownerDocument){this.tagName=this.nodeName=name.toUpperCase();this.ownerDocument=ownerDocument||null;if(name=="DOCUMENT"){this.nodeType=9;this.childNodes=[];}else if(typeof(data)=="string"){this.nodeValue=data;this.nodeType=3;}else{this.nodeType=1;this.childNodes=[];}
if(name.substring(0,1)=="<"){var nameattr=name.substring(name.indexOf('"')+1,name.lastIndexOf('"'));name=name.substring(1,name.indexOf(" "));this.tagName=this.nodeName=name.toUpperCase();this.setAttribute("name",nameattr);}};MochiKit.MockDOM.MockElement.prototype={createElement:function(tagName){return new MochiKit.MockDOM.MockElement(tagName,null,this.nodeType==9?this:this.ownerDocument);},createTextNode:function(text){return new MochiKit.MockDOM.MockElement("text",text,this.nodeType==9?this:this.ownerDocument);},setAttribute:function(name,value){this[name]=value;},getAttribute:function(name){return this[name];},appendChild:function(child){this.childNodes.push(child);},toString:function(){return"MockElement("+this.tagName+")";},getElementsByTagName:function(tagName){var foundElements=[];MochiKit.Base.nodeWalk(this,function(node){if(tagName=='*'||tagName==node.tagName){foundElements.push(node);return node.childNodes;}});return foundElements;}};MochiKit.MockDOM.EXPORT_OK=["mockElement","createDocument"];MochiKit.MockDOM.EXPORT=["document"];MochiKit.MockDOM.__new__=function(){this.document=this.createDocument();};MochiKit.MockDOM.__new__();;MochiKit.Base._deps('Sortable',['Base','Iter','DOM','Position','DragAndDrop']);MochiKit.Sortable.NAME='MochiKit.Sortable';MochiKit.Sortable.VERSION='1.4';MochiKit.Sortable.__repr__=function(){return'['+this.NAME+' '+this.VERSION+']';};MochiKit.Sortable.toString=function(){return this.__repr__();};MochiKit.Sortable.EXPORT=[];MochiKit.Sortable.EXPORT_OK=[];MochiKit.Base.update(MochiKit.Sortable,{sortables:{},_findRootElement:function(element){while(element.tagName.toUpperCase()!="BODY"){if(element.id&&MochiKit.Sortable.sortables[element.id]){return element;}
element=element.parentNode;}},options:function(element){element=MochiKit.Sortable._findRootElement(MochiKit.DOM.getElement(element));if(!element){return;}
return MochiKit.Sortable.sortables[element.id];},destroy:function(element){var s=MochiKit.Sortable.options(element);var b=MochiKit.Base;var d=MochiKit.DragAndDrop;if(s){MochiKit.Signal.disconnect(s.startHandle);MochiKit.Signal.disconnect(s.endHandle);b.map(function(dr){d.Droppables.remove(dr);},s.droppables);b.map(function(dr){dr.destroy();},s.draggables);delete MochiKit.Sortable.sortables[s.element.id];}},create:function(element,options){element=MochiKit.DOM.getElement(element);var self=MochiKit.Sortable;options=MochiKit.Base.update({element:element,tag:'li',dropOnEmpty:false,tree:false,treeTag:'ul',overlap:'vertical',constraint:'vertical',containment:[element],handle:false,only:false,hoverclass:null,ghosting:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:/^[^_]*_(.*)$/,onChange:MochiKit.Base.noop,onUpdate:MochiKit.Base.noop,accept:null},options);self.destroy(element);var options_for_draggable={revert:true,ghosting:options.ghosting,scroll:options.scroll,scrollSensitivity:options.scrollSensitivity,scrollSpeed:options.scrollSpeed,constraint:options.constraint,handle:options.handle};if(options.starteffect){options_for_draggable.starteffect=options.starteffect;}
if(options.reverteffect){options_for_draggable.reverteffect=options.reverteffect;}else if(options.ghosting){options_for_draggable.reverteffect=function(innerelement){innerelement.style.top=0;innerelement.style.left=0;};}
if(options.endeffect){options_for_draggable.endeffect=options.endeffect;}
if(options.zindex){options_for_draggable.zindex=options.zindex;}
var options_for_droppable={overlap:options.overlap,containment:options.containment,hoverclass:options.hoverclass,onhover:self.onHover,tree:options.tree,accept:options.accept}
var options_for_tree={onhover:self.onEmptyHover,overlap:options.overlap,containment:options.containment,hoverclass:options.hoverclass,accept:options.accept}
MochiKit.DOM.removeEmptyTextNodes(element);options.draggables=[];options.droppables=[];if(options.dropOnEmpty||options.tree){new MochiKit.DragAndDrop.Droppable(element,options_for_tree);options.droppables.push(element);}
MochiKit.Base.map(function(e){var handle=options.handle?MochiKit.DOM.getFirstElementByTagAndClassName(null,options.handle,e):e;options.draggables.push(new MochiKit.DragAndDrop.Draggable(e,MochiKit.Base.update(options_for_draggable,{handle:handle})));new MochiKit.DragAndDrop.Droppable(e,options_for_droppable);if(options.tree){e.treeNode=element;}
options.droppables.push(e);},(self.findElements(element,options)||[]));if(options.tree){MochiKit.Base.map(function(e){new MochiKit.DragAndDrop.Droppable(e,options_for_tree);e.treeNode=element;options.droppables.push(e);},(self.findTreeElements(element,options)||[]));}
self.sortables[element.id]=options;options.lastValue=self.serialize(element);options.startHandle=MochiKit.Signal.connect(MochiKit.DragAndDrop.Draggables,'start',MochiKit.Base.partial(self.onStart,element));options.endHandle=MochiKit.Signal.connect(MochiKit.DragAndDrop.Draggables,'end',MochiKit.Base.partial(self.onEnd,element));},onStart:function(element,draggable){var self=MochiKit.Sortable;var options=self.options(element);options.lastValue=self.serialize(options.element);},onEnd:function(element,draggable){var self=MochiKit.Sortable;self.unmark();var options=self.options(element);if(options.lastValue!=self.serialize(options.element)){options.onUpdate(options.element);}},findElements:function(element,options){return MochiKit.Sortable.findChildren(element,options.only,options.tree?true:false,options.tag);},findTreeElements:function(element,options){return MochiKit.Sortable.findChildren(element,options.only,options.tree?true:false,options.treeTag);},findChildren:function(element,only,recursive,tagName){if(!element.hasChildNodes()){return null;}
tagName=tagName.toUpperCase();if(only){only=MochiKit.Base.flattenArray([only]);}
var elements=[];MochiKit.Base.map(function(e){if(e.tagName&&e.tagName.toUpperCase()==tagName&&(!only||MochiKit.Iter.some(only,function(c){return MochiKit.DOM.hasElementClass(e,c);}))){elements.push(e);}
if(recursive){var grandchildren=MochiKit.Sortable.findChildren(e,only,recursive,tagName);if(grandchildren&&grandchildren.length>0){elements=elements.concat(grandchildren);}}},element.childNodes);return elements;},onHover:function(element,dropon,overlap){if(MochiKit.DOM.isParent(dropon,element)){return;}
var self=MochiKit.Sortable;if(overlap>.33&&overlap<.66&&self.options(dropon).tree){return;}else if(overlap>0.5){self.mark(dropon,'before');if(dropon.previousSibling!=element){var oldParentNode=element.parentNode;element.style.visibility='hidden';dropon.parentNode.insertBefore(element,dropon);if(dropon.parentNode!=oldParentNode){self.options(oldParentNode).onChange(element);}
self.options(dropon.parentNode).onChange(element);}}else{self.mark(dropon,'after');var nextElement=dropon.nextSibling||null;if(nextElement!=element){var oldParentNode=element.parentNode;element.style.visibility='hidden';dropon.parentNode.insertBefore(element,nextElement);if(dropon.parentNode!=oldParentNode){self.options(oldParentNode).onChange(element);}
self.options(dropon.parentNode).onChange(element);}}},_offsetSize:function(element,type){if(type=='vertical'||type=='height'){return element.offsetHeight;}else{return element.offsetWidth;}},onEmptyHover:function(element,dropon,overlap){var oldParentNode=element.parentNode;var self=MochiKit.Sortable;var droponOptions=self.options(dropon);if(!MochiKit.DOM.isParent(dropon,element)){var index;var children=self.findElements(dropon,{tag:droponOptions.tag,only:droponOptions.only});var child=null;if(children){var offset=self._offsetSize(dropon,droponOptions.overlap)*(1.0-overlap);for(index=0;index<children.length;index+=1){if(offset-self._offsetSize(children[index],droponOptions.overlap)>=0){offset-=self._offsetSize(children[index],droponOptions.overlap);}else if(offset-(self._offsetSize(children[index],droponOptions.overlap)/2)>=0){child=index+1<children.length?children[index+1]:null;break;}else{child=children[index];break;}}}
dropon.insertBefore(element,child);self.options(oldParentNode).onChange(element);droponOptions.onChange(element);}},unmark:function(){var m=MochiKit.Sortable._marker;if(m){MochiKit.Style.hideElement(m);}},mark:function(dropon,position){var d=MochiKit.DOM;var self=MochiKit.Sortable;var sortable=self.options(dropon.parentNode);if(sortable&&!sortable.ghosting){return;}
if(!self._marker){self._marker=d.getElement('dropmarker')||document.createElement('DIV');MochiKit.Style.hideElement(self._marker);d.addElementClass(self._marker,'dropmarker');self._marker.style.position='absolute';document.getElementsByTagName('body').item(0).appendChild(self._marker);}
var offsets=MochiKit.Position.cumulativeOffset(dropon);self._marker.style.left=offsets.x+'px';self._marker.style.top=offsets.y+'px';if(position=='after'){if(sortable.overlap=='horizontal'){self._marker.style.left=(offsets.x+dropon.clientWidth)+'px';}else{self._marker.style.top=(offsets.y+dropon.clientHeight)+'px';}}
MochiKit.Style.showElement(self._marker);},_tree:function(element,options,parent){var self=MochiKit.Sortable;var children=self.findElements(element,options)||[];for(var i=0;i<children.length;++i){var match=children[i].id.match(options.format);if(!match){continue;}
var child={id:encodeURIComponent(match?match[1]:null),element:element,parent:parent,children:[],position:parent.children.length,container:self._findChildrenElement(children[i],options.treeTag.toUpperCase())}
if(child.container){self._tree(child.container,options,child)}
parent.children.push(child);}
return parent;},_findChildrenElement:function(element,containerTag){if(element&&element.hasChildNodes){containerTag=containerTag.toUpperCase();for(var i=0;i<element.childNodes.length;++i){if(element.childNodes[i].tagName.toUpperCase()==containerTag){return element.childNodes[i];}}}
return null;},tree:function(element,options){element=MochiKit.DOM.getElement(element);var sortableOptions=MochiKit.Sortable.options(element);options=MochiKit.Base.update({tag:sortableOptions.tag,treeTag:sortableOptions.treeTag,only:sortableOptions.only,name:element.id,format:sortableOptions.format},options||{});var root={id:null,parent:null,children:new Array,container:element,position:0}
return MochiKit.Sortable._tree(element,options,root);},setSequence:function(element,newSequence,options){var self=MochiKit.Sortable;var b=MochiKit.Base;element=MochiKit.DOM.getElement(element);options=b.update(self.options(element),options||{});var nodeMap={};b.map(function(n){var m=n.id.match(options.format);if(m){nodeMap[m[1]]=[n,n.parentNode];}
n.parentNode.removeChild(n);},self.findElements(element,options));b.map(function(ident){var n=nodeMap[ident];if(n){n[1].appendChild(n[0]);delete nodeMap[ident];}},newSequence);},_constructIndex:function(node){var index='';do{if(node.id){index='['+node.position+']'+index;}}while((node=node.parent)!=null);return index;},sequence:function(element,options){element=MochiKit.DOM.getElement(element);var self=MochiKit.Sortable;var options=MochiKit.Base.update(self.options(element),options||{});return MochiKit.Base.map(function(item){return item.id.match(options.format)?item.id.match(options.format)[1]:'';},MochiKit.DOM.getElement(self.findElements(element,options)||[]));},serialize:function(element,options){element=MochiKit.DOM.getElement(element);var self=MochiKit.Sortable;options=MochiKit.Base.update(self.options(element),options||{});var name=encodeURIComponent(options.name||element.id);if(options.tree){return MochiKit.Base.flattenArray(MochiKit.Base.map(function(item){return[name+self._constructIndex(item)+"[id]="+
encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));},self.tree(element,options).children)).join('&');}else{return MochiKit.Base.map(function(item){return name+"[]="+encodeURIComponent(item);},self.sequence(element,options)).join('&');}}});MochiKit.Sortable.Sortable=MochiKit.Sortable;;MochiKit.Base._deps('Test',['Base']);MochiKit.Test.NAME="MochiKit.Test";MochiKit.Test.VERSION="1.4";MochiKit.Test.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};MochiKit.Test.toString=function(){return this.__repr__();};MochiKit.Test.EXPORT=["runTests"];MochiKit.Test.EXPORT_OK=[];MochiKit.Test.runTests=function(obj){if(typeof(obj)=="string"){obj=JSAN.use(obj);}
var suite=new MochiKit.Test.Suite();suite.run(obj);};MochiKit.Test.Suite=function(){this.testIndex=0;MochiKit.Base.bindMethods(this);};MochiKit.Test.Suite.prototype={run:function(obj){try{obj(this);}catch(e){this.traceback(e);}},traceback:function(e){var items=MochiKit.Iter.sorted(MochiKit.Base.items(e));print("not ok "+this.testIndex+" - Error thrown");for(var i=0;i<items.length;i++){var kv=items[i];if(kv[0]=="stack"){kv[1]=kv[1].split(/\n/)[0];}
this.print("# "+kv.join(": "));}},print:function(s){print(s);},is:function(got,expected,message){var res=1;var msg=null;try{res=MochiKit.Base.compare(got,expected);}catch(e){msg="Can not compare "+typeof(got)+":"+typeof(expected);}
if(res){msg="Expected value did not compare equal";}
if(!res){return this.testResult(true,message);}
return this.testResult(false,message,[[msg],["got:",got],["expected:",expected]]);},testResult:function(pass,msg,failures){this.testIndex+=1;if(pass){this.print("ok "+this.testIndex+" - "+msg);return;}
this.print("not ok "+this.testIndex+" - "+msg);if(failures){for(var i=0;i<failures.length;i++){this.print("# "+failures[i].join(" "));}}},isDeeply:function(got,expected,message){var m=MochiKit.Base;var res=1;try{res=m.compare(got,expected);}catch(e){}
if(res===0){return this.ok(true,message);}
var gk=m.keys(got);var ek=m.keys(expected);gk.sort();ek.sort();if(m.compare(gk,ek)){var cmp={};var i;for(i=0;i<gk.length;i++){cmp[gk[i]]="got";}
for(i=0;i<ek.length;i++){if(ek[i]in cmp){delete cmp[ek[i]];}else{cmp[ek[i]]="expected";}}
var diffkeys=m.keys(cmp);diffkeys.sort();var gotkeys=[];var expkeys=[];while(diffkeys.length){var k=diffkeys.shift();if(k in Object.prototype){continue;}
(cmp[k]=="got"?gotkeys:expkeys).push(k);}}
return this.testResult((!res),msg,(msg?[["got:",got],["expected:",expected]]:undefined));},ok:function(res,message){return this.testResult(res,message);}};MochiKit.Test.__new__=function(){var m=MochiKit.Base;this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)};m.nameFunctions(this);};MochiKit.Test.__new__();MochiKit.Base._exportSymbols(this,MochiKit.Test);;MochiKit.Style.constrainedElements=[];MochiKit.Style.resizeConstrainedElements=function(){MochiKit.Style.constrainedElements=Basis.array_sequentialize(Basis.array_flip(Basis.array_flip(MochiKit.Style.constrainedElements)));var list=MochiKit.Style.constrainedElements;var levels=[];if(list.length>0){for(var i=0;i<list.length;i++){var list_item=MochiKit.DOM.getElement(list[i]);if(!Basis.is_element(list_item)){list=Basis.array_delete_index(list,i);i--;}
if(Basis.is_element_visible(list_item)){var nest=0;var parent=list_item.parentNode;while(parent!=document.body.parentNode){nest++;parent=parent.parentNode;}
if(!levels[nest]){levels[nest]=[];}
levels[nest].push(list_item);}}
levels=Basis.ksort(levels);for(var i in levels){if(typeof(levels[i])!="function"){for(var x in levels[i]){var list_item=MochiKit.DOM.getElement(levels[i][x]);if(Basis.is_element(list_item)){Basis.set_style(list_item,{"height":"0px","width":"0px"});MochiKit.Iter.forEach(list_item.childNodes,function(node){if(node&&node.style){node.style.display="none";}});}}}}
for(var i in levels){if(typeof(levels[i])!="function"){for(var x in levels[i]){var list_item=MochiKit.DOM.getElement(levels[i][x]);if(Basis.is_element(list_item)){MochiKit.Style.resizeElements(list_item);MochiKit.Iter.forEach(list_item.childNodes,function(node){if(node&&node.style){node.style.display="";}});}}}}}
if(MochiKit.Style.resizeConstrainedElements.callbacks){for(var i=0;i<MochiKit.Style.resizeConstrainedElements.callbacks.length;i++){if(Basis.is_function(MochiKit.Style.resizeConstrainedElements.callbacks[i])){MochiKit.Style.resizeConstrainedElements.callbacks[i]();}}}};MochiKit.Style.resizeConstrainedElements.callbacks=[];MochiKit.Style.registerSizeConstraints=function(node,width,height,aspect,subtract_sibling_heights){node=MochiKit.DOM.getElement(node);var sc=node.sizeConstraints={w:null,h:null,a:null,"subtract_sibling_heights":subtract_sibling_heights};if(typeof(width)=="number"){sc.w=function(w,h){return width;}}else if(typeof(width)=="function"){sc.w=width;}else if(typeof(width)=="string"){var code="return "+width.replace(/%/g,"*0.01*w")+";";sc.w=new Function("w","h",code);}
if(typeof(height)=="number"){sc.h=function(w,h){return height;}}else if(typeof(height)=="function"){sc.h=height;}else if(typeof(height)=="string"){var code="return "+height.replace(/%/g,"*0.01*h")+";";sc.h=new Function("w","h",code);}
if(typeof(aspect)=="number"){sc.a=function(w,h){return aspect;}}else if(typeof(aspect)=="function"){sc.a=aspect;}else if(typeof(aspect)=="string"){var code="return "+aspect.replace(/%/g,"*0.01*w/h")+";";sc.a=new Function("w","h",code);}
var list=MochiKit.Style.constrainedElements;if(list.length>0){var push=true;for(var i=0;i<list.length;i++){if(list[i].id==node.id){push=false;}}
if(push){list.push(node.id);}}else{list.push(node.id);}}
MochiKit.Style.resizeElements=function(){var args=MochiKit.Base.flattenArray(arguments);for(var i=0;i<args.length;i++){var node=MochiKit.DOM.getElement(args[i]);if((node!=null)&&(node.nodeType===1)&&(node.parentNode!=null)&&(node.sizeConstraints!=null)){var p_dim=MochiKit.Style.getElementDimensions(node.parentNode);if(node.sizeConstraints.subtract_sibling_heights){for(var i=0;i<node.parentNode.childNodes.length;i++){var obj=MochiKit.DOM.getElement(node.parentNode.childNodes[i]);if(obj&&obj.tagName&&(obj!==node)){var o_dim=MochiKit.Style.getElementDimensions(obj);p_dim.h-=o_dim.h;}}}
var borders=Basis.sum_of_element(node.parentNode,"border");var padding=Basis.sum_of_element(node.parentNode,"padding");var adjust_h=(borders.top+borders.bottom+padding.top+padding.bottom);var adjust_w=(borders.left+borders.right+padding.left+padding.right);var ref={"w":(p_dim.w-adjust_w),"h":(p_dim.h-adjust_h)};var dim=MochiKit.Style._evalConstraints(node.sizeConstraints,ref);MochiKit.Style.setElementDimensions(node,dim);node.w=dim.w;node.h=dim.h;}
if(node!=null&&typeof(node.resizeContent)=="function"){node.resizeContent();}else{node=node.firstChild;while(node!=null){if(node.nodeType===1){MochiKit.Style.resizeElements(node);}
node=node.nextSibling;}}}}
MochiKit.Style._evalConstraints=function(sc,ref){var log=MochiKit.Logging.logError;if(typeof(sc.w)=="function"){try{var w=Math.max(0,sc.w(ref.w,ref.h));}catch(e){MochiKit.Logging.log("Error evaluating width size constraint; "+"w: "+ref.w+", h: "+ref.h,e);}}
if(typeof(sc.h)=="function"){try{var h=Math.max(0,sc.h(ref.w,ref.h));}catch(e){MochiKit.Logging.log("Error evaluating height size constraint; "+"w: "+ref.w+", h: "+ref.h,e);}}
if(typeof(sc.a)=="function"){try{var a=sc.a(ref.w,ref.h);w=w||ref.w;h=h||ref.h;if(h*a>ref.w){h=ref.w/a;}
if(w/a>ref.h){w=ref.h*a;}
if(w>h*a){w=h*a;}else{h=w/a;}}catch(e){MochiKit.Logging.log("Error evaluating aspect size constraint; "+"w: "+ref.w+", h: "+ref.h,e);}}
if(w!=null){w=Math.floor(w);}
if(h!=null){h=Math.floor(h);}
return new MochiKit.Style.Dimensions(w,h);}
function Delegate(){}
Delegate.create=function(o,f){var a=new Array();var l=arguments.length;for(var i=2;i<l;i++)a[i-2]=arguments[i];return function(){var aP=[].concat(arguments,a);f.apply(o,aP);}}
Tween=function(obj,prop,func,begin,finish,duration,suffixe){this.init(obj,prop,func,begin,finish,duration,suffixe)}
var t=Tween.prototype;t.obj=new Object();t.prop='';t.func=function(t,b,c,d){return c*t/d+b;};t.begin=0;t.change=0;t.prevTime=0;t.prevPos=0;t.looping=false;t._duration=0;t._time=0;t._pos=0;t._position=0;t._startTime=0;t._finish=0;t.name='';t.suffixe='';t._listeners=new Array();t.setTime=function(t){this.prevTime=this._time;if(t>this.getDuration()){if(this.looping){this.rewind(t-this._duration);this.update();this.broadcastMessage('onMotionLooped',{target:this,type:'onMotionLooped'});}else{this._time=this._duration;this.update();this.stop();this.broadcastMessage('onMotionFinished',{target:this,type:'onMotionFinished'});}}else if(t<0){this.rewind();this.update();}else{this._time=t;this.update();}}
t.getTime=function(){return this._time;}
t.setDuration=function(d){this._duration=(d==null||d<=0)?100000:d;}
t.getDuration=function(){return this._duration;}
t.setPosition=function(p){this.prevPos=this._pos;var a=this.suffixe!=''?this.suffixe:'';this.obj[this.prop]=Math.round(p)+a;this._pos=p;this.broadcastMessage('onMotionChanged',{target:this,type:'onMotionChanged'});}
t.getPosition=function(t){if(t==undefined)t=this._time;return this.func(t,this.begin,this.change,this._duration);};t.setFinish=function(f){this.change=f-this.begin;};t.geFinish=function(){return this.begin+this.change;};t.init=function(obj,prop,func,begin,finish,duration,suffixe){if(!arguments.length)return;this._listeners=new Array();this.addListener(this);if(suffixe)this.suffixe=suffixe;this.obj=obj;this.prop=prop;this.begin=begin;this._pos=begin;this.setDuration(duration);if(func!=null&&func!=''){this.func=func;}
this.setFinish(finish);}
t.start=function(){this.rewind();this.startEnterFrame();this.broadcastMessage('onMotionStarted',{target:this,type:'onMotionStarted'});}
t.rewind=function(t){this.stop();this._time=(t==undefined)?0:t;this.fixTime();this.update();}
t.fforward=function(){this._time=this._duration;this.fixTime();this.update();}
t.update=function(){this.setPosition(this.getPosition(this._time));}
t.startEnterFrame=function(){this.stopEnterFrame();this.isPlaying=true;this.onEnterFrame();}
t.onEnterFrame=function(){if(this.isPlaying){this.nextFrame();setTimeout(Delegate.create(this,this.onEnterFrame),0);}}
t.nextFrame=function(){this.setTime((this.getTimer()-this._startTime)/1000);}
t.stop=function(){this.stopEnterFrame();this.broadcastMessage('onMotionStopped',{target:this,type:'onMotionStopped'});}
t.stopEnterFrame=function(){this.isPlaying=false;}
t.continueTo=function(finish,duration){this.begin=this._pos;this.setFinish(finish);if(this._duration!=undefined)
this.setDuration(duration);this.start();}
t.resume=function(){this.fixTime();this.startEnterFrame();this.broadcastMessage('onMotionResumed',{target:this,type:'onMotionResumed'});}
t.yoyo=function(){this.continueTo(this.begin,this._time);}
t.addListener=function(o){this.removeListener(o);return this._listeners.push(o);}
t.removeListener=function(o){var a=this._listeners;var i=a.length;while(i--){if(a[i]==o){a.splice(i,1);return true;}}
return false;}
t.broadcastMessage=function(){var arr=new Array();for(var i=0;i<arguments.length;i++){arr.push(arguments[i])}
var e=arr.shift();var a=this._listeners;var l=a.length;for(var i=0;i<l;i++){if(a[i][e])
a[i][e].apply(a[i],arr);}}
t.fixTime=function(){this._startTime=this.getTimer()-this._time*1000;}
t.getTimer=function(){return new Date().getTime()-this._time;}
Tween.backEaseIn=function(t,b,c,d,a,p){if(s==undefined)var s=1.70158;return c*(t/=d)*t*((s+1)*t-s)+b;}
Tween.backEaseOut=function(t,b,c,d,a,p){if(s==undefined)var s=1.70158;return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;}
Tween.backEaseInOut=function(t,b,c,d,a,p){if(s==undefined)var 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;}
Tween.elasticEaseIn=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;}
Tween.elasticEaseOut=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);}
Tween.elasticEaseInOut=function(t,b,c,d,a,p){if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)var p=d*(.3*1.5);if(!a||a<Math.abs(c)){var 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;}
Tween.bounceEaseOut=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;}else{return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;}}
Tween.bounceEaseIn=function(t,b,c,d){return c-Tween.bounceEaseOut(d-t,0,c,d)+b;}
Tween.bounceEaseInOut=function(t,b,c,d){if(t<d/2)return Tween.bounceEaseIn(t*2,0,c,d)*.5+b;else return Tween.bounceEaseOut(t*2-d,0,c,d)*.5+c*.5+b;}
Tween.strongEaseInOut=function(t,b,c,d){return c*(t/=d)*t*t*t*t+b;}
Tween.regularEaseIn=function(t,b,c,d){return c*(t/=d)*t+b;}
Tween.regularEaseOut=function(t,b,c,d){return-c*(t/=d)*(t-2)+b;}
Tween.regularEaseInOut=function(t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;}
Tween.strongEaseIn=function(t,b,c,d){return c*(t/=d)*t*t*t*t+b;}
Tween.strongEaseOut=function(t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b;}
Tween.strongEaseInOut=function(t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b;};ColorTween.prototype=new Tween();ColorTween.prototype.constructor=Tween;ColorTween.superclass=Tween.prototype;function ColorTween(obj,prop,func,fromColor,toColor,duration){this.targetObject=obj;this.targetProperty=prop;this.fromColor=fromColor;this.toColor=toColor;this.init(new Object(),'x',func,0,100,duration);this.listenerObj=new Object();this.listenerObj.onMotionChanged=Delegate.create(this,this.onColorChanged);this.addListener(this.listenerObj);}
var o=ColorTween.prototype;o.targetObject={};o.targetProperty={};o.fromColor='';o.toColor='';o.currentColor='';o.listenerObj={};o.onColorChanged=function(){this.currentColor=this.getColor(this.fromColor,this.toColor,this._pos);this.targetObject[this.targetProperty]=this.currentColor;}
o.getColor=function(start,end,percent)
{var r1=this.hex2dec(start.slice(0,2));var g1=this.hex2dec(start.slice(2,4));var b1=this.hex2dec(start.slice(4,6));var r2=this.hex2dec(end.slice(0,2));var g2=this.hex2dec(end.slice(2,4));var b2=this.hex2dec(end.slice(4,6));var pc=percent/100;r=Math.floor(r1+(pc*(r2-r1))+.5);g=Math.floor(g1+(pc*(g2-g1))+.5);b=Math.floor(b1+(pc*(b2-b1))+.5);return("#"+this.dec2hex(r)+this.dec2hex(g)+this.dec2hex(b));}
o.dec2hex=function(dec){return(this.hexDigit[dec>>4]+this.hexDigit[dec&15]);}
o.hexDigit=new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");o.hex2dec=function(hex){return(parseInt(hex,16))};;OpacityTween.prototype=new Tween();OpacityTween.prototype.constructor=Tween;OpacityTween.superclass=Tween.prototype;function OpacityTween(obj,func,fromOpacity,toOpacity,duration){this.targetObject=obj;this.init(new Object(),'x',func,fromOpacity,toOpacity,duration);}
var o=OpacityTween.prototype;o.targetObject={};o.onMotionChanged=function(evt){var v=evt.target._pos;var t=this.targetObject;t.style['opacity']=v/100;t.style['-moz-opacity']=v/100;if(t.filters)t.filters.alpha['opacity']=v;};TextTween.prototype=new Tween();TextTween.prototype.constructor=Tween;TextTween.superclass=Tween.prototype;function TextTween(obj,property,txt,func,duration){this.targetObject=obj;this.targetProperty=property;this.txt=txt;if(func!=null&&func!=''){this.func=func;}
this.init(new Object(),'x',func,0,txt.length,duration);}
var o=TextTween.prototype;o.targetObject={};o.targetProperty={};o.fromColor='';o.toColor='';o.currentColor='';o.onMotionChanged=function(evt){var v=evt.target._pos;this.targetObject[this.targetProperty]=this.txt.substr(0,v);};function Delegate(){}
Delegate.create=function(o,f){var a=new Array();var l=arguments.length;for(var i=2;i<l;i++)a[i-2]=arguments[i];return function(){var aP=[].concat(arguments,a);f.apply(o,aP);}}
function Sequence(){this.children=new Array();this.currentChildIndex=0;this._listeners=new Array();this.nextObject=new Object();this.addListener(this);}
var s=Sequence.prototype;s.addChild=function(tween){this.children.push(tween)}
s.removeChild=function(tween){var a=this.children;var i=a.length;while(i--){if(a[i]==tween){a.splice(i,1);return true;}}
return false;}
s.start=function(){this.rewind();this.play();this.broadcastMessage('onMotionStarted',{target:this,type:'onMotionStarted'});}
s.next=function(){this.children[this.currentChildIndex].removeListener(this.nextObject);if(this.currentChildIndex<this.children.length-1){this.currentChildIndex++;this.play();}
else{this.stop();this.broadcastMessage('onMotionFinished',{target:this,type:'onMotionFinished'});}}
s.play=function(){this.nextObject=new Object();this.nextObject.onMotionFinished=Delegate.create(this,this.next);this.children[this.currentChildIndex].addListener(this.nextObject);this.children[this.currentChildIndex].start();}
s.stop=function(){this.children[this.currentChildIndex].stop();this.broadcastMessage('onMotionStopped',{target:this,type:'onMotionStopped'});}
s.rewind=function(){this.children[this.currentChildIndex].removeListener(this.nextObject);this.currentChildIndex=0;for(var i=0;i<this.children.length;i++){this.children[i].rewind();}}
s.fforward=function(){this.children[this.currentChildIndex].removeListener(this.nextObject);for(var i=0;i<this.children.length;i++){this.children[i].fforward();}
this.currentChildIndex=this.children.length-1;}
s.resume=function(){this.children[this.currentChildIndex].resume();this.broadcastMessage('onMotionResumed',{target:this,type:'onMotionStopped'});}
s.addListener=function(o){this.removeListener(o);return this._listeners.push(o);}
s.removeListener=function(o){var a=this._listeners;var i=a.length;while(i--){if(a[i]==o){a.splice(i,1);return true;}}
return false;}
s.broadcastMessage=function(){var arr=new Array();for(var i=0;i<arguments.length;i++){arr.push(arguments[i])}
var e=arr.shift();var a=this._listeners;var l=a.length;for(var i=0;i<l;i++){if(a[i][e])
a[i][e].apply(a[i],arr);}};function Delegate(){}
Delegate.create=function(o,f){var a=new Array();var l=arguments.length;for(var i=2;i<l;i++)a[i-2]=arguments[i];return function(){var aP=[].concat(arguments,a);f.apply(o,aP);}}
function Parallel(){this.children=new Array();this.numChildren=0;this._listeners=new Array();this.addListener(this);}
var s=Parallel.prototype;s.endObject=new Object();s.addChild=function(tween){this.children.push(tween)
this.numChildren++;}
s.start=function(){this.play();this.broadcastMessage('onMotionStarted',{target:this,type:'onMotionStarted'});}
s.play=function(){for(var u=0;u<this.numChildren;u++){if(u==(this.numChildren-1)){this.endObject=new Object();this.endObject.onMotionFinished=Delegate.create(this,this.end);this.children[u].addListener(this.endObject);}
this.children[u].start();}}
s.end=function(){this.children[this.numChildren-1].removeListener(this.endObject);this.broadcastMessage('onMotionFinished',{target:this,type:'onMotionFinished'});}
s.stop=function(){this.enumAction('stop');this.broadcastMessage('onMotionStopped',{target:this,type:'onMotionStopped'});}
s.rewind=function(){this.enumAction('rewind');}
s.fforward=function(){this.enumAction('fforward');}
s.resume=function(){this.enumAction('resume');this.broadcastMessage('onMotionResumed',{target:this,type:'onMotionResumed'});}
s.yoyo=function(){this.enumAction('yoyo');}
s.enumAction=function(action){for(var u=0;u<this.numChildren;u++){this.children[u][action]();}}
s.addListener=function(o){this.removeListener(o);return this._listeners.push(o);}
s.removeListener=function(o){var a=this._listeners;var i=a.length;while(i--){if(a[i]==o){a.splice(i,1);return true;}}
return false;}
s.broadcastMessage=function(){var arr=new Array();for(var i=0;i<arguments.length;i++){arr.push(arguments[i])}
var e=arr.shift();var a=this._listeners;var l=a.length;for(var i=0;i<l;i++){if(a[i][e])
a[i][e].apply(a[i],arr);}}
if(typeof(Basis)=='undefined'){Basis={};}
Basis.NAME="Basis";Basis.VERSION="0.1";Basis.__repr__=function(){return"["+this.NAME+" "+this.VERSION+"]";};Basis.misc_vars={};;var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return}f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return}if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return}}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return}var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return}var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return}AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();;var hexcase=0;var b64pad="";var chrsz=8;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]|=0x80<<((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]^0x36363636;opad[i]=bkey[i]^0x5C5C5C5C;}
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&0xFFFF)+(y&0xFFFF);var msw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);}
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))&0xF)+
hex_tab.charAt((binarray[i>>2]>>((i%4)*8))&0xF);}
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))&0xFF)<<16)|(((binarray[i+1>>2]>>8*((i+1)%4))&0xFF)<<8)|((binarray[i+2>>2]>>8*((i+2)%4))&0xFF);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))&0x3F);}}
return str;};function asort(inputArr,sort_flags){var valArr=[],keyArr=[],k,i,ret,sorter,that=this;switch(sort_flags){case'SORT_STRING':sorter=function(a,b){return that.strnatcmp(a,b);};break;case'SORT_LOCALE_STRING':var loc=i18n_loc_get_default();sorter=this.php_js.i18nLocales[loc].sorting;break;case'SORT_NUMERIC':sorter=function(a,b){return(a-b);};break;case'SORT_REGULAR':default:sorter=function(a,b){if(a>b){return 1;}
if(a<b){return-1;}
return 0;};break;}
var bubbleSort=function(keyArr,inputArr){var i,j,tempValue,tempKeyVal;for(i=inputArr.length-2;i>=0;i--){for(j=0;j<=i;j++){ret=sorter(inputArr[j+1],inputArr[j]);if(ret<0){tempValue=inputArr[j];inputArr[j]=inputArr[j+1];inputArr[j+1]=tempValue;tempKeyVal=keyArr[j];keyArr[j]=keyArr[j+1];keyArr[j+1]=tempKeyVal;}}}};for(k in inputArr){valArr.push(inputArr[k]);keyArr.push(k);delete inputArr[k];}
try{bubbleSort(keyArr,valArr);}catch(e){return false;}
for(i=0;i<valArr.length;i++){inputArr[keyArr[i]]=valArr[i];}
return true;}
function getenv(varname){if(!this.php_js||!this.php_js.ENV||!this.php_js.ENV[varname]){return false;}
return this.php_js.ENV[varname];}
function i18n_loc_get_default(){this.php_js=this.php_js||{};return this.php_js.i18nLocale||(i18n_loc_set_default('en_US_POSIX'),'en_US_POSIX');}
function i18n_loc_set_default(name){this.php_js=this.php_js||{};this.php_js.i18nLocales={en_US_POSIX:{sorting:function(str1,str2){return(str1==str2)?0:((str1>str2)?1:-1);}}};this.php_js.i18nLocale=name;return true;}
function ksort(array,sort_flags){var tmp_arr={},keys=[],sorter,i,key,that=this;switch(sort_flags){case'SORT_STRING':sorter=function(a,b){return that.strnatcmp(a,b);};break;case'SORT_LOCALE_STRING':var loc=i18n_loc_get_default();sorter=this.php_js.i18nLocales[loc].sorting;break;case'SORT_NUMERIC':sorter=function(a,b){return(a-b);};break;case'SORT_REGULAR':default:sorter=function(a,b){if(a>b){return 1;}
if(a<b){return-1;}
return 0;};break;}
for(key in array){keys.push(key);}
keys.sort(sorter);for(i=0;i<keys.length;i++){key=keys[i];tmp_arr[key]=array[key];delete array[key];}
for(i in tmp_arr){array[i]=tmp_arr[i];}
return true;}
function setlocale(category,locale){var categ='',cats=[],i=0,d=this.window.document;var _copy=function _copy(orig){var newObj={};for(var i in orig){if(typeof orig[i]==='object'){newObj[i]=_copy(orig[i]);}
else{newObj[i]=orig[i];}}
return newObj;};this.php_js=this.php_js||{};var phpjs=this.php_js;if(!phpjs.locales){phpjs.locales={};phpjs.locales.en={'LC_COLLATE':function(str1,str2){return(str1==str2)?0:((str1>str2)?1:-1);},'LC_CTYPE':{an:/^[A-Za-z\d]+$/g,al:/^[A-Za-z]+$/g,ct:/^[\u0000-\u001F\u007F]+$/g,dg:/^[\d]+$/g,gr:/^[\u0021-\u007E]+$/g,lw:/^[a-z]+$/g,pr:/^[\u0020-\u007E]+$/g,pu:/^[\u0021-\u002F\u003A-\u0040\u005B-\u0060\u007B-\u007E]+$/g,sp:/^[\f\n\r\t\v ]+$/g,up:/^[A-Z]+$/g,xd:/^[A-Fa-f\d]+$/g,CODESET:'UTF-8',lower:'abcdefghijklmnopqrstuvwxyz',upper:'ABCDEFGHIJKLMNOPQRSTUVWXYZ'},'LC_TIME':{a:['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],A:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],b:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],B:['January','February','March','April','May','June','July','August','September','October','November','December'],c:'%a %d %b %Y %r %Z',p:['AM','PM'],P:['am','pm'],r:'%I:%M:%S %p',x:'%m/%d/%Y',X:'%r',alt_digits:'',ERA:'',ERA_YEAR:'',ERA_D_T_FMT:'',ERA_D_FMT:'',ERA_T_FMT:''},'LC_MONETARY':{int_curr_symbol:'USD',currency_symbol:'$',mon_decimal_point:'.',mon_thousands_sep:',',mon_grouping:[3],positive_sign:'',negative_sign:'-',int_frac_digits:2,frac_digits:2,p_cs_precedes:1,p_sep_by_space:0,n_cs_precedes:1,n_sep_by_space:0,p_sign_posn:3,n_sign_posn:0},'LC_NUMERIC':{decimal_point:'.',thousands_sep:',',grouping:[3]},'LC_MESSAGES':{YESEXPR:'^[yY].*',NOEXPR:'^[nN].*',YESSTR:'',NOSTR:''}};phpjs.locales.en_US=_copy(phpjs.locales.en);phpjs.locales.en_US.LC_TIME.c='%a %d %b %Y %r %Z';phpjs.locales.en_US.LC_TIME.x='%D';phpjs.locales.en_US.LC_TIME.X='%r';phpjs.locales.en_US.LC_MONETARY.int_curr_symbol='USD ';phpjs.locales.en_US.LC_MONETARY.p_sign_posn=1;phpjs.locales.en_US.LC_MONETARY.n_sign_posn=1;phpjs.locales.en_US.LC_MONETARY.mon_grouping=[3,3];phpjs.locales.en_US.LC_NUMERIC.thousands_sep='';phpjs.locales.en_US.LC_NUMERIC.grouping=[];phpjs.locales.en_GB=_copy(phpjs.locales.en);phpjs.locales.en_GB.LC_TIME.r='%l:%M:%S %P %Z';phpjs.locales.en_AU=_copy(phpjs.locales.en_GB);phpjs.locales.C=_copy(phpjs.locales.en);phpjs.locales.C.LC_CTYPE.CODESET='ANSI_X3.4-1968';phpjs.locales.C.LC_MONETARY={int_curr_symbol:'',currency_symbol:'',mon_decimal_point:'',mon_thousands_sep:'',mon_grouping:[],p_cs_precedes:127,p_sep_by_space:127,n_cs_precedes:127,n_sep_by_space:127,p_sign_posn:127,n_sign_posn:127,positive_sign:'',negative_sign:'',int_frac_digits:127,frac_digits:127};phpjs.locales.C.LC_NUMERIC={decimal_point:'.',thousands_sep:'',grouping:[]};phpjs.locales.C.LC_TIME.c='%a %b %e %H:%M:%S %Y';phpjs.locales.C.LC_TIME.x='%m/%d/%y';phpjs.locales.C.LC_TIME.X='%H:%M:%S';phpjs.locales.C.LC_MESSAGES.YESEXPR='^[yY]';phpjs.locales.C.LC_MESSAGES.NOEXPR='^[nN]';phpjs.locales.fr=_copy(phpjs.locales.en);phpjs.locales.fr.LC_TIME.a=['dim','lun','mar','mer','jeu','ven','sam'];phpjs.locales.fr.LC_TIME.A=['dimanche','lundi','mardi','mercredi','jeudi','vendredi','samedi'];phpjs.locales.fr.LC_TIME.b=['jan','f\u00E9v','mar','avr','mai','jun','jui','ao\u00FB','sep','oct','nov','d\u00E9c'];phpjs.locales.fr.LC_TIME.B=['janvier','f\u00E9vrier','mars','avril','mai','juin','juillet','ao\u00FBt','septembre','octobre','novembre','d\u00E9cembre'];phpjs.locales.fr.LC_TIME.c='%a %d %b %Y %T %Z';phpjs.locales.fr.LC_TIME.p=['',''];phpjs.locales.fr.LC_TIME.P=['',''];phpjs.locales.fr.LC_TIME.x='%d.%m.%Y';phpjs.locales.fr.LC_TIME.X='%T';phpjs.locales.fr_CA=_copy(phpjs.locales.fr);phpjs.locales.fr_CA.LC_TIME.x='%Y-%m-%d';}
if(!phpjs.locale){phpjs.locale='en_US';var NS_XHTML='http://www.w3.org/1999/xhtml';var NS_XML='http://www.w3.org/XML/1998/namespace';if(d.getElementsByTagNameNS&&d.getElementsByTagNameNS(NS_XHTML,'html')[0]){if(d.getElementsByTagNameNS(NS_XHTML,'html')[0].getAttributeNS&&d.getElementsByTagNameNS(NS_XHTML,'html')[0].getAttributeNS(NS_XML,'lang')){phpjs.locale=d.getElementsByTagName(NS_XHTML,'html')[0].getAttributeNS(NS_XML,'lang');}else if(d.getElementsByTagNameNS(NS_XHTML,'html')[0].lang){phpjs.locale=d.getElementsByTagNameNS(NS_XHTML,'html')[0].lang;}}else if(d.getElementsByTagName('html')[0]&&d.getElementsByTagName('html')[0].lang){phpjs.locale=d.getElementsByTagName('html')[0].lang;}}
phpjs.locale=phpjs.locale.replace('-','_');if(!(phpjs.locale in phpjs.locales)){if(phpjs.locale.replace(/_[a-zA-Z]+$/,'')in phpjs.locales){phpjs.locale=phpjs.locale.replace(/_[a-zA-Z]+$/,'');}}
if(!phpjs.localeCategories){phpjs.localeCategories={'LC_COLLATE':phpjs.locale,'LC_CTYPE':phpjs.locale,'LC_MONETARY':phpjs.locale,'LC_NUMERIC':phpjs.locale,'LC_TIME':phpjs.locale,'LC_MESSAGES':phpjs.locale};}
if(locale===null||locale===''){locale=getenv(category)||getenv('LANG');}else if(locale instanceof Array){for(i=0;i<locale.length;i++){if(!(locale[i]in this.php_js.locales)){if(i===locale.length-1){return false;}
continue;}
locale=locale[i];break;}}
if(locale==='0'||locale===0){if(category==='LC_ALL'){for(categ in this.php_js.localeCategories){cats.push(categ+'='+this.php_js.localeCategories[categ]);}
return cats.join(';');}
return this.php_js.localeCategories[category];}
if(!(locale in this.php_js.locales)){return false;}
if(category==='LC_ALL'){for(categ in this.php_js.localeCategories){this.php_js.localeCategories[categ]=locale;}}else{this.php_js.localeCategories[category]=locale;}
return locale;}
function strcmp(str1,str2){return((str1==str2)?0:((str1>str2)?1:-1));}
function strftime(fmt,timestamp){this.php_js=this.php_js||{};setlocale('LC_ALL',0);var phpjs=this.php_js;var _xPad=function(x,pad,r){if(typeof r==='undefined'){r=10;}
for(;parseInt(x,10)<r&&r>1;r/=10){x=pad.toString()+x;}
return x.toString();};var locale=phpjs.localeCategories.LC_TIME;var locales=phpjs.locales;var _formats={a:function(d){return locales[locale].LC_TIME.a[d.getDay()];},A:function(d){return locales[locale].LC_TIME.A[d.getDay()];},b:function(d){return locales[locale].LC_TIME.b[d.getMonth()];},B:function(d){return locales[locale].LC_TIME.B[d.getMonth()];},C:function(d){return _xPad(parseInt(d.getFullYear()/100,10),0);},d:['getDate','0'],e:['getDate',' '],g:function(d){return _xPad(parseInt(this.G(d)/100,10),0);},G:function(d){var y=d.getFullYear();var V=parseInt(_formats.V(d),10);var W=parseInt(_formats.W(d),10);if(W>V){y++;}
else if(W===0&&V>=52){y--;}
return y;},H:['getHours','0'],I:function(d){var I=d.getHours()%12;return _xPad(I===0?12:I,0);},j:function(d){var ms=d-new Date(''+d.getFullYear()+'/1/1 GMT');ms+=d.getTimezoneOffset()*60000;var doy=parseInt(ms/60000/60/24,10)+1;return _xPad(doy,0,100);},k:['getHours','0'],l:function(d){var l=d.getHours()%12;return _xPad(l===0?12:l,' ');},m:function(d){return _xPad(d.getMonth()+1,0);},M:['getMinutes','0'],p:function(d){return locales[locale].LC_TIME.p[d.getHours()>=12?1:0];},P:function(d){return locales[locale].LC_TIME.P[d.getHours()>=12?1:0];},s:function(d){return Date.parse(d)/1000;},S:['getSeconds','0'],u:function(d){var dow=d.getDay();return((dow===0)?7:dow);},U:function(d){var doy=parseInt(_formats.j(d),10);var rdow=6-d.getDay();var woy=parseInt((doy+rdow)/7,10);return _xPad(woy,0);},V:function(d){var woy=parseInt(_formats.W(d),10);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){idow=_formats.V(new Date(''+(d.getFullYear()-1)+'/12/31'));}
return _xPad(idow,0);},w:'getDay',W:function(d){var doy=parseInt(_formats.j(d),10);var rdow=7-_formats.u(d);var woy=parseInt((doy+rdow)/7,10);return _xPad(woy,0,10);},y:function(d){return _xPad(d.getFullYear()%100,0);},Y:'getFullYear',z:function(d){var o=d.getTimezoneOffset();var H=_xPad(parseInt(Math.abs(o/60),10),0);var M=_xPad(o%60,0);return(o>0?'-':'+')+H+M;},Z:function(d){return d.toString().replace(/^.*\(([^)]+)\)$/,'$1');},'%':function(d){return'%';}};var _date=((typeof(timestamp)=='undefined')?new Date():(typeof(timestamp)=='object')?new Date(timestamp):new Date(timestamp*1000));var _aggregates={c:'locale',D:'%m/%d/%y',F:'%y-%m-%d',h:'%b',n:'\n',r:'locale',R:'%H:%M',t:'\t',T:'%H:%M:%S',x:'locale',X:'locale'};while(fmt.match(/%[cDFhnrRtTxX]/)){fmt=fmt.replace(/%([cDFhnrRtTxX])/g,function(m0,m1)
{var f=_aggregates[m1];return(f==='locale'?locales[locale].LC_TIME[m1]:f);});}
var str=fmt.replace(/%([aAbBCdegGHIjklmMpPsSuUVwWyYzZ%])/g,function(m0,m1){var f=_formats[m1];if(typeof f==='string'){return _date[f]();}else if(typeof f==='function'){return f(_date);}else if(typeof f==='object'&&typeof(f[0])==='string'){return _xPad(_date[f[0]](),f[1]);}else{return m1;}});return str;}
function strnatcmp(f_string1,f_string2,f_version){var i=0;if(f_version==undefined){f_version=false;}
var __strnatcmp_split=function(f_string){var result=[];var buffer='';var chr='';var i=0,f_stringl=0;var text=true;f_stringl=f_string.length;for(i=0;i<f_stringl;i++){chr=f_string.substring(i,i+1);if(chr.match(/[0-9]/)){if(text){if(buffer.length>0){result[result.length]=buffer;buffer='';}
text=false;}
buffer+=chr;}else if((text==false)&&(chr=='.')&&(i<(f_string.length-1))&&(f_string.substring(i+1,i+2).match(/[0-9]/))){result[result.length]=buffer;buffer='';}else{if(text==false){if(buffer.length>0){result[result.length]=parseInt(buffer,10);buffer='';}
text=true;}
buffer+=chr;}}
if(buffer.length>0){if(text){result[result.length]=buffer;}else{result[result.length]=parseInt(buffer,10);}}
return result;};var array1=__strnatcmp_split(f_string1+'');var array2=__strnatcmp_split(f_string2+'');var len=array1.length;var text=true;var result=-1;var r=0;if(len>array2.length){len=array2.length;result=1;}
for(i=0;i<len;i++){if(isNaN(array1[i])){if(isNaN(array2[i])){text=true;if((r=strcmp(array1[i],array2[i]))!=0){return r;}}else if(text){return 1;}else{return-1;}}else if(isNaN(array2[i])){if(text){return-1;}else{return 1;}}else{if(text||f_version){if((r=(array1[i]-array2[i]))!=0){return r;}}else{if((r=strcmp(array1[i].toString(),array2[i].toString()))!=0){return r;}}
text=false;}}
return result;}
function strtotime(str,now){var i,match,s,strTmp='',parse='';strTmp=str;strTmp=strTmp.replace(/\s{2,}|^\s|\s$/g,' ');strTmp=strTmp.replace(/[\t\r\n]/g,'');if(strTmp=='now'){return(new Date()).getTime()/1000;}else if(!isNaN(parse=Date.parse(strTmp))){return(parse/1000);}else if(now){now=new Date(now*1000);}else{now=new Date();}
strTmp=strTmp.toLowerCase();var __is={day:{'sun':0,'mon':1,'tue':2,'wed':3,'thu':4,'fri':5,'sat':6},mon:{'jan':0,'feb':1,'mar':2,'apr':3,'may':4,'jun':5,'jul':6,'aug':7,'sep':8,'oct':9,'nov':10,'dec':11}};var process=function(m){var ago=(m[2]&&m[2]=='ago');var num=(num=m[0]=='last'?-1:1)*(ago?-1:1);switch(m[0]){case'last':case'next':switch(m[1].substring(0,3)){case'yea':now.setFullYear(now.getFullYear()+num);break;case'mon':now.setMonth(now.getMonth()+num);break;case'wee':now.setDate(now.getDate()+(num*7));break;case'day':now.setDate(now.getDate()+num);break;case'hou':now.setHours(now.getHours()+num);break;case'min':now.setMinutes(now.getMinutes()+num);break;case'sec':now.setSeconds(now.getSeconds()+num);break;default:var day;if(typeof(day=__is.day[m[1].substring(0,3)])!='undefined'){var diff=day-now.getDay();if(diff==0){diff=7*num;}else if(diff>0){if(m[0]=='last'){diff-=7;}}else{if(m[0]=='next'){diff+=7;}}
now.setDate(now.getDate()+diff);}}
break;default:if(/\d+/.test(m[0])){num*=parseInt(m[0],10);switch(m[1].substring(0,3)){case'yea':now.setFullYear(now.getFullYear()+num);break;case'mon':now.setMonth(now.getMonth()+num);break;case'wee':now.setDate(now.getDate()+(num*7));break;case'day':now.setDate(now.getDate()+num);break;case'hou':now.setHours(now.getHours()+num);break;case'min':now.setMinutes(now.getMinutes()+num);break;case'sec':now.setSeconds(now.getSeconds()+num);break;}}else{return false;}
break;}
return true;};match=strTmp.match(/^(\d{2,4}-\d{2}-\d{2})(?:\s(\d{1,2}:\d{2}(:\d{2})?)?(?:\.(\d+))?)?$/);if(match!=null){if(!match[2]){match[2]='00:00:00';}else if(!match[3]){match[2]+=':00';}
s=match[1].split(/-/g);for(i in __is.mon){if(__is.mon[i]==s[1]-1){s[1]=i;}}
s[0]=parseInt(s[0],10);s[0]=(s[0]>=0&&s[0]<=69)?'20'+(s[0]<10?'0'+s[0]:s[0]+''):(s[0]>=70&&s[0]<=99)?'19'+s[0]:s[0]+'';return parseInt(strtotime(s[2]+' '+s[1]+' '+s[0]+' '+match[2])+(match[4]?match[4]/1000:''),10);}
var regex='([+-]?\\d+\\s'+'(years?|months?|weeks?|days?|hours?|min|minutes?|sec|seconds?'+'|sun\\.?|sunday|mon\\.?|monday|tue\\.?|tuesday|wed\\.?|wednesday'+'|thu\\.?|thursday|fri\\.?|friday|sat\\.?|saturday)'+'|(last|next)\\s'+'(years?|months?|weeks?|days?|hours?|min|minutes?|sec|seconds?'+'|sun\\.?|sunday|mon\\.?|monday|tue\\.?|tuesday|wed\\.?|wednesday'+'|thu\\.?|thursday|fri\\.?|friday|sat\\.?|saturday))'+'(\\sago)?';match=strTmp.match(new RegExp(regex,'gi'));if(match==null){return false;}
for(i=0;i<match.length;i++){if(!process(match[i].split(' '))){return false;}}
return(now.getTime()/1000);};var isIE=(navigator.appVersion.indexOf("MSIE")!=-1)?true:false;var isWin=(navigator.appVersion.toLowerCase().indexOf("win")!=-1)?true:false;var isOpera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;function ControlVersion()
{var version;var axo;var e;try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");version=axo.GetVariable("$version");}catch(e){}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version="WIN 6,0,21,0";axo.AllowScriptAccess="always";version=axo.GetVariable("$version");}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version=axo.GetVariable("$version");}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version="WIN 3,0,18,0";}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");version="WIN 2,0,0,11";}catch(e){version=-1;}}
return version;}
function GetSwfVer(){var flashVer=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;var descArray=flashDescription.split(" ");var tempArrayMajor=descArray[2].split(".");var versionMajor=tempArrayMajor[0];var versionMinor=tempArrayMajor[1];var versionRevision=descArray[3];if(versionRevision==""){versionRevision=descArray[4];}
if(versionRevision[0]=="d"){versionRevision=versionRevision.substring(1);}else if(versionRevision[0]=="r"){versionRevision=versionRevision.substring(1);if(versionRevision.indexOf("d")>0){versionRevision=versionRevision.substring(0,versionRevision.indexOf("d"));}}
var flashVer=versionMajor+"."+versionMinor+"."+versionRevision;}}
else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6")!=-1)flashVer=4;else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5")!=-1)flashVer=3;else if(navigator.userAgent.toLowerCase().indexOf("webtv")!=-1)flashVer=2;else if(isIE&&isWin&&!isOpera){flashVer=ControlVersion();}
return flashVer;}
function DetectFlashVer(reqMajorVer,reqMinorVer,reqRevision)
{versionStr=GetSwfVer();if(versionStr==-1){return false;}else if(versionStr!=0){if(isIE&&isWin&&!isOpera){tempArray=versionStr.split(" ");tempString=tempArray[1];versionArray=tempString.split(",");}else{versionArray=versionStr.split(".");}
var versionMajor=versionArray[0];var versionMinor=versionArray[1];var versionRevision=versionArray[2];if(versionMajor>parseFloat(reqMajorVer)){return true;}else if(versionMajor==parseFloat(reqMajorVer)){if(versionMinor>parseFloat(reqMinorVer))
return true;else if(versionMinor==parseFloat(reqMinorVer)){if(versionRevision>=parseFloat(reqRevision))
return true;}}
return false;}}
function AC_AddExtension(src,ext)
{if(src.indexOf('?')!=-1)
return src.replace(/\?/,ext+'?');else
return src+ext;}
function AC_Generateobj(objAttrs,params,embedAttrs)
{var str='';if(isIE&&isWin&&!isOpera)
{str+='<object ';for(var i in objAttrs)
str+=i+'="'+objAttrs[i]+'" ';for(var i in params)
str+='><param name="'+i+'" value="'+params[i]+'" /> ';str+='></object>';}else{str+='<embed ';for(var i in embedAttrs)
str+=i+'="'+embedAttrs[i]+'" ';str+='> </embed>';}
document.write(str);}
function AC_FL_RunContent(){var ret=AC_GetArgs
(arguments,".swf","movie","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash");AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs);}
function AC_GetArgs(args,ext,srcParamName,classid,mimeType){var ret=new Object();ret.embedAttrs=new Object();ret.params=new Object();ret.objAttrs=new Object();for(var i=0;i<args.length;i=i+2){var currArg=args[i].toLowerCase();switch(currArg){case"classid":break;case"pluginspage":ret.embedAttrs[args[i]]=args[i+1];break;case"src":case"movie":args[i+1]=AC_AddExtension(args[i+1],ext);ret.embedAttrs["src"]=args[i+1];ret.params[srcParamName]=args[i+1];break;case"onafterupdate":case"onbeforeupdate":case"onblur":case"oncellchange":case"onclick":case"ondblClick":case"ondrag":case"ondragend":case"ondragenter":case"ondragleave":case"ondragover":case"ondrop":case"onfinish":case"onfocus":case"onhelp":case"onmousedown":case"onmouseup":case"onmouseover":case"onmousemove":case"onmouseout":case"onkeypress":case"onkeydown":case"onkeyup":case"onload":case"onlosecapture":case"onpropertychange":case"onreadystatechange":case"onrowsdelete":case"onrowenter":case"onrowexit":case"onrowsinserted":case"onstart":case"onscroll":case"onbeforeeditfocus":case"onactivate":case"onbeforedeactivate":case"ondeactivate":case"type":case"codebase":ret.objAttrs[args[i]]=args[i+1];break;case"id":case"width":case"height":case"align":case"vspace":case"hspace":case"class":case"title":case"accesskey":case"name":case"tabindex":ret.embedAttrs[args[i]]=ret.objAttrs[args[i]]=args[i+1];break;default:ret.embedAttrs[args[i]]=ret.params[args[i]]=args[i+1];}}
ret.objAttrs["classid"]=classid;if(mimeType)ret.embedAttrs["type"]=mimeType;return ret;};var misc_vars=new Object();var tabs=new Object();var active_tab="";var detect=navigator.userAgent.toLowerCase();var OS,browser,version,total,thestring;if(check_it('konqueror')){browser="Konqueror";OS="Linux";}else if(check_it('safari')){browser="Safari";}
else if(check_it('omniweb')){browser="OmniWeb";}
else if(check_it('opera')){browser="Opera";}
else if(check_it('webtv')){browser="WebTV";}
else if(check_it('icab')){browser="iCab";}
else if(check_it('msie')){browser="Internet Explorer";}
else if(!check_it('compatible')){browser="Netscape Navigator";version=detect.charAt(8);}else{browser="An unknown browser";}
if(!version)version=detect.charAt(place+thestring.length);if(!OS){if(check_it('linux')){OS="Linux";}
else if(check_it('x11')){OS="Unix";}
else if(check_it('mac')){OS="Mac"}
else if(check_it('win')){OS="Windows"}
else{OS="an unknown operating system";}}
function check_it(string){place=detect.indexOf(string)+1;thestring=string;return place;}
function ie_getElementsByTagName(str){if(str=="*"){return document.all;}else{return document.all.tags(str);}}
if(document.all){document.getElementsByTagName=ie_getElementsByTagName;}
delete_form_lookup=new Object();duplicate_form_lookup=new Object();notified=new Object();selected_menu_item="";function submit_delete_form(mik_md5){if(delete_form_lookup[mik_md5]){if(MochiKit.DOM.getElement('form_'+delete_form_lookup[mik_md5])){MochiKit.DOM.getElement('form_'+delete_form_lookup[mik_md5]).submit();}}}
function submit_duplicate_form(mik_md5){if(duplicate_form_lookup[mik_md5]){if(MochiKit.DOM.getElement('form_'+duplicate_form_lookup[mik_md5])){MochiKit.DOM.getElement('form_'+duplicate_form_lookup[mik_md5]).submit();}}}
function toggle_menu_item(item_idnum,prepend,a,b){if(!a){a="menu_item_parent";}
if(!b){b="menu_item_child";}
if(!prepend){prepend="";}
a_parent=prepend+"menu_parent_"+item_idnum;if(MochiKit.DOM.getElement(a_parent)){if((prepend+item_idnum)!=selected_menu_item){a_child=prepend+"menu_child_"+item_idnum;a_img=prepend+"menu_child_img_"+item_idnum;if(MochiKit.DOM.getElement(a_parent).className==a+"_off"){MochiKit.DOM.getElement(a_parent).className=a+"_on";}else{MochiKit.DOM.getElement(a_parent).className=a+"_off";}
if(MochiKit.DOM.getElement(a_child).className==b+"_off"){MochiKit.DOM.getElement(a_child).className=b+"_on";MochiKit.DOM.getElement(a_img).src="images/images/menu_item_on.gif";}else{MochiKit.DOM.getElement(a_child).className=b+"_off";MochiKit.DOM.getElement(a_img).src="images/images/menu_item_off.gif";}}}}
function set_tab_type(idnum,type){MochiKit.DOM.getElement("tab"+idnum+"_a_img").src="images/images/spacer.gif";switch(type){case"regular_selected":MochiKit.DOM.getElement("tab"+idnum+"_b_img").src="images/images/tab_on_left.gif";MochiKit.DOM.getElement("tab"+idnum+"_d_img").src="images/images/tab_on_right.gif";MochiKit.DOM.getElement("tab"+idnum+"_c").className="tab_regular_on_middle";break;case"regular_unselected":MochiKit.DOM.getElement("tab"+idnum+"_b_img").src="images/images/tab_off_left.gif";MochiKit.DOM.getElement("tab"+idnum+"_d_img").src="images/images/tab_off_right.gif";MochiKit.DOM.getElement("tab"+idnum+"_c").className="tab_regular_off_middle";break;case"end_selected":MochiKit.DOM.getElement("tab"+idnum+"_b_img").src="images/images/right_tab_on_left.gif";MochiKit.DOM.getElement("tab"+idnum+"_d_img").src="images/images/right_tab_on_right.gif";MochiKit.DOM.getElement("tab"+idnum+"_c").className="right_tab_on_middle";break;case"end_unselected":MochiKit.DOM.getElement("tab"+idnum+"_b_img").src="images/images/right_tab_off_left.gif";MochiKit.DOM.getElement("tab"+idnum+"_d_img").src="images/images/right_tab_off_right.gif";MochiKit.DOM.getElement("tab"+idnum+"_c").className="right_tab_off_middle";break;}}
function load_tab(current_tab,to_tab,form_id){if(current_tab==to_tab){return false;}else{MochiKit.DOM.getElement(form_id).submit();return true;}
if(active_tab=="tab"){MochiKit.DOM.getElement(form_id).submit();return true;}
if(current_tab!=to_tab){export_form_values('form_0');if(tabs[to_tab]["json"]){restore_form_values(to_tab,'form_0');for(x=0;x<MochiKit.DOM.getElement('form_0').elements.length;x++){tid=MochiKit.DOM.getElement('form_0').elements[x].id;tv=MochiKit.DOM.getElement('form_0').elements[x].value;tdiv=(tid.substr(0,(tid.length-6))+"div");if(tv=="Show / Edit Note"){toggle_object(tdiv,"off");}else if(tv=="Hide Note"){toggle_object(tdiv,"on");}}
tindex=current_tab.substr(3);tab_class=MochiKit.DOM.getElement(current_tab+"_c").className;if(tab_class=="tab_regular_on_middle"){set_tab_type(tindex,"regular_unselected");}
if(tab_class=="right_tab_on_middle"){set_tab_type(tindex,"end_unselected");}
tindex=to_tab.substr(3);tab_class=MochiKit.DOM.getElement(to_tab+"_c").className;if(tab_class=="tab_regular_off_middle"){set_tab_type(tindex,"regular_selected");}
if(tab_class=="right_tab_off_middle"){set_tab_type(tindex,"end_selected");}
active_tab=to_tab;return false;}else{var tabs_field=document.createElement("input");tabs_field.setAttribute("name","current_tabs");tabs_field.setAttribute("id","current_tabs");tabs_field.setAttribute("type","hidden");tabs_field.setAttribute("value",encodeBase64(MochiKit.Base.serializeJSON(tabs)));MochiKit.DOM.getElement(form_id).appendChild(tabs_field);MochiKit.DOM.getElement(form_id).submit();return true;}}}
function htmlentities(text){var v=text;var s="";var c;for(var i=0;i<v.length;i++){c=v.charAt(i);c=c.charCodeAt(0);c='&#'+c+';'
s+=c;}
return s;}
function auto_save(form,refresh_speed){window.status="Auto-saving form...";AjaxRequest.submit(form,{'url':MochiKit.DOM.getElement(form).action,'onSuccess':function(req){window.status="Done";}});init_auto_save(form,refresh_speed);}
function init_auto_save(form,refresh_speed){if(!refresh_speed){refresh_speed=300000;}
window.setTimeout("auto_save('"+form+"',"+refresh_speed+")",refresh_speed);}
function export_form_values(form){output=new Array();style=new Array();for(x=0;x<MochiKit.DOM.getElement(form).elements.length;x++){tstyle=new Object();output[x]=new Object();output[x]["id"]=MochiKit.DOM.getElement(form).elements[x].id;output[x]["name"]=MochiKit.DOM.getElement(form).elements[x].name;output[x]["value"]=MochiKit.DOM.getElement(form).elements[x].value;}
tabs[active_tab]=new Object();tabs[active_tab]["link"]=document.URL;tabs[active_tab]["json"]=MochiKit.Base.serializeJSON(output);}
function restore_form_values(from_tab,to_form){output=new Array();output=MochiKit.Base.evalJSON(tabs[from_tab]["json"]);theform=MochiKit.DOM.getElement(to_form);for(var x in output){theform.elements[x].id=output[x]["id"];theform.elements[x].name=output[x]["name"];theform.elements[x].value=output[x]["value"];}}
function print_r(theObj){if(theObj){var output="";if((theObj.constructor==Array)||(theObj.constructor==Object)){output+="<ul>";for(var p in theObj){if((theObj[p].constructor==Array)||(theObj[p].constructor==Object)){output+="<li>["+p+"] => "+(typeof theObj)+"</li>";output+="<ul>";output+=print_r(theObj[p]);output+="</ul>";}else{output+="<li>["+p+"] => "+theObj[p]+"</li>";}}
output+="</ul>";}
return output;}}
function list_add_item(e){if(!confirm('Are you sure you want to add this item?')){return;}
list=new Object();window.status="Adding item to list...";if(!e){window.status="done";return false;}
if(is_string(e)){var target=MochiKit.DOM.getElement(e);}
if(e){if(!target){var target=detectTarget(e);}
list["id"]=target.id.substring(0,(target.id.length-13))+target.id.substring((target.id.length-2),target.id.length);list["list_name"]=list_name;list["name"]=MochiKit.DOM.getElement(list["id"]).name.substring(0,MochiKit.DOM.getElement(list["id"]).name.length-2);list["options"]=new Object();rrv_length=0;for(var chi=list["id"].length;chi>0;chi--){if(list["id"].substring(chi,chi-1)=="_"){chi=0;}
rrv_length++;}
if(MochiKit.DOM.getElement(list["name"]+"_text"+(list["id"].substring(list["id"].length-rrv_length,list["id"].length))).value){select_add_option(list["id"],null,MochiKit.DOM.getElement(list["name"]+"_text"+(list["id"].substring(list["id"].length-rrv_length,list["id"].length))).value);for(x=0;x<MochiKit.DOM.getElement(list["id"]).options.length;x++){list["options"][x]=new Object();list["options"][x]["value"]=MochiKit.DOM.getElement(list["id"]).options[x].value;list["options"][x]["text"]=MochiKit.DOM.getElement(list["id"]).options[x].text;}
var to_post=list;AjaxRequest.post({'url':'ajax/list.php','queryString':'array='+urlencode(encodeBase64(MochiKit.Base.serializeJSON(to_post))),'onSuccess':function(req){eval(req.responseText);window.status="Done";}});}}}
function list_rename_item(e){if(!confirm('Are you sure you want to rename this item with the text currently typed into the "Add This Item" text box?')){return;}
list=new Object();window.status="Renaming item in list...";if(!e){window.status="done";return false;}
if(is_string(e)){var target=MochiKit.DOM.getElement(e);}
if(e){if(!target){var target=detectTarget(e);}
list["id"]=target.id.substring(0,(target.id.length-16))+target.id.substring((target.id.length-2),target.id.length);list["list_name"]=list_name;list["name"]=MochiKit.DOM.getElement(list["id"]).name.substring(0,MochiKit.DOM.getElement(list["id"]).name.length-2);list["options"]=new Object();index=MochiKit.DOM.getElement(list["id"]).selectedIndex;rrv_length=0;for(var chi=list["id"].length;chi>0;chi--){if(list["id"].substring(chi,chi-1)=="_"){chi=0;}
rrv_length++;}
if(MochiKit.DOM.getElement(list["name"]+"_text"+(list["id"].substring(list["id"].length-rrv_length,list["id"].length))).value){MochiKit.DOM.getElement(list["id"]).options[index].text=MochiKit.DOM.getElement(list["name"]+"_text"+(list["id"].substring(list["id"].length-rrv_length,list["id"].length))).value;MochiKit.DOM.getElement(list["name"]+"_text"+(list["id"].substring(list["id"].length-rrv_length,list["id"].length))).value="";for(x=0;x<MochiKit.DOM.getElement(list["id"]).options.length;x++){list["options"][x]=new Object();list["options"][x]["value"]=MochiKit.DOM.getElement(list["id"]).options[x].value;list["options"][x]["text"]=MochiKit.DOM.getElement(list["id"]).options[x].text;}
var to_post=list;AjaxRequest.post({'url':'ajax/list.php','queryString':'array='+urlencode(encodeBase64(MochiKit.Base.serializeJSON(to_post))),'onSuccess':function(req){eval(req.responseText);window.status="Done";}});}}}
function list_delete_item(e){if(confirm("Are you sure you want to delete this item?")){list=new Object();window.status="Deleting item from list...";if(!e){window.status="done";return false;}
if(is_string(e)){var target=MochiKit.DOM.getElement(e);}
if(e){if(!target){var target=detectTarget(e);}
list["id"]=target.id.substring(0,(target.id.length-16))+target.id.substring((target.id.length-2),target.id.length);list["list_name"]=list_name;list["name"]=MochiKit.DOM.getElement(list["id"]).name;list["options"]=new Object();index=MochiKit.DOM.getElement(list["id"]).selectedIndex;MochiKit.DOM.getElement(list["id"]).options[index]=null;for(x=0;x<MochiKit.DOM.getElement(list["id"]).options.length;x++){list["options"][x]=new Object();list["options"][x]["value"]=MochiKit.DOM.getElement(list["id"]).options[x].value;list["options"][x]["text"]=MochiKit.DOM.getElement(list["id"]).options[x].text;}
var to_post=list;AjaxRequest.post({'url':'ajax/list.php','queryString':'array='+urlencode(encodeBase64(MochiKit.Base.serializeJSON(to_post))),'onSuccess':function(req){eval(req.responseText);window.status="Done";}});}}}
function update_date_dropdowns(e){date_array=new Object();window.status="Updating date dropdown...";if(!e){window.status="done";return false;}
if(is_string(e)){var target=MochiKit.DOM.getElement(e);}
if(e){if(!target){var target=detectTarget(e);}
date_array["id"]=target.id;temp=date_array["id"].split("_");date_array["rrv"]=temp[temp.length-1];date_array["oid"]=temp[temp.length-2];temp=date_array["id"].substr(0,(date_array["id"].length-temp[temp.length-1].length-temp[temp.length-2].length)-2);date_array["id"]=temp;date_array["month"]=MochiKit.DOM.getElement(date_array["id"]+"_month_"+date_array["rrv"]).options[MochiKit.DOM.getElement(date_array["id"]+"_month_"+date_array["rrv"]).selectedIndex].text;date_array["year"]=MochiKit.DOM.getElement(date_array["id"]+"_year_"+date_array["rrv"]).options[MochiKit.DOM.getElement(date_array["id"]+"_year_"+date_array["rrv"]).selectedIndex].text;var to_post=date_array;AjaxRequest.post({'url':'ajax/date.php','queryString':'array='+urlencode(encodeBase64(MochiKit.Base.serializeJSON(to_post))),'onSuccess':function(req){return_response=MochiKit.Base.evalJSON(decodeBase64(urldecode(req.responseText)));update_days(return_response);MochiKit.Signal.signal(target,"update_calendar");}});}}
function update_days(return_array){id=return_array["id"]+"_day_"+return_array["rrv"];var obj=MochiKit.DOM.getElement(id);if(obj){var sel_id=obj.selectedIndex;obj.options.length=0;for(var x=0;x<return_array["days"];x++){obj.options[x]=new Option(x+1,x);}
if(obj.options.length>sel_id){obj.selectedIndex=sel_id;}else{obj.selectedIndex=obj.options.length-1;}}
window.status="Done";}
function update_json_variables(e){window.status="Validating form fields...";if(e){var target=detectTarget(e);var rrv_run=target.id.split("_");rrv_run=rrv_run[rrv_run.length-1];}
notified[target.id]="";for(var i in variables["form_"+rrv_run]){if(!MochiKit.DOM.getElement(i+"_"+rrv_run)){alert("update_json_variables() failed for element ["+i+"_"+rrv_run+"]");}else{variables["form_"+rrv_run][i]=MochiKit.DOM.getElement(i+"_"+rrv_run).value;}}
validate_array["form_"+rrv_run]["variables"]=variables["form_"+rrv_run];validate_array["form_"+rrv_run]["require_variables"]=require_variables["form_"+rrv_run];validate_array["form_"+rrv_run]["submit_buttons"]=submit_buttons["form_"+rrv_run];validate_array["form_"+rrv_run]["rrv_run"]=rrv_run;validate(validate_array["form_"+rrv_run]);}
function notify_validation(return_response){notify_text="";num_false=0;var rrv_run=return_response["rrv_run"];var submit_buttons=return_response["submit_buttons"];return_response=return_response["array"];for(var key in return_response){for(var rule in return_response[key]){if(is_object(return_response[key][rule])){if(return_response[key][rule][0]==false){if(MochiKit.DOM.getElement(key+"_"+rrv_run)){MochiKit.DOM.getElement(key+"_"+rrv_run).style.backgroundColor="#FF0000";num_false++;if((!notified[key+"_"+rrv_run])||(notified[key+"_"+rrv_run]=="")){notified[key+"_"+rrv_run]="notified";notify_text=notify_text+"Variable \""+key+"_"+rrv_run+"\" does not meet the requirements of constraint \""+rule+"\".\n";}}}else if(return_response[key][rule][0]==true){if(MochiKit.DOM.getElement(key+"_"+rrv_run)){MochiKit.DOM.getElement(key+"_"+rrv_run).style.backgroundColor="";notified[key+"_"+rrv_run]=null;}}}}}
if(num_false>0){for(var button in submit_buttons){if(MochiKit.DOM.getElement(submit_buttons[button]+"_"+rrv_run)){MochiKit.DOM.getElement(submit_buttons[button]+"_"+rrv_run).disabled=true;}}
if(!is_empty(notify_text)){alert(notify_text);}}else{for(var button in submit_buttons){if(MochiKit.DOM.getElement(submit_buttons[button]+"_"+rrv_run)){MochiKit.DOM.getElement(submit_buttons[button]+"_"+rrv_run).disabled=false;}}}
window.status="Done";}
function validate(input_array){AjaxRequest.post({'url':'ajax/validate.php','queryString':'array='+urlencode(encodeBase64(MochiKit.Base.serializeJSON(input_array))),'onSuccess':function(req){return_response=MochiKit.Base.evalJSON(decodeBase64(urldecode(req.responseText)));notify_validation(return_response);}});}
function checkRegExpress(obj,submit){if(!obj.value.match(/\d\d-\d\d\d-\d\d$/)){if(obj.value.match(/\d\d-\d\d\d-\d\dP$/)){obj.style.backgroundColor='';submit.disabled=false;return true;}
obj.style.backgroundColor='#FF0000';alert("Internal IDs are in the form:\n\txx-xxx-xx");submit.disabled=true;return false;}else{obj.style.backgroundColor='';submit.disabled=false;return true;}}
function set_date(when,monthfield,dayfield,yearfield){if(when=="today"){var today=new Date();var month=today.getMonth();var day=today.getDate()-1;var year=today.getYear();if(year>99){year=2000+(year-100);}
else{year=1900+year;}
monthfield[month].selected=true;dayfield[day].selected=true;for(i=0;i<yearfield.length;i++){if(yearfield[i].text==year){yearfield[i].selected=true;}}}}
function note_onoff(objtxt,rrv_run){obj=MochiKit.DOM.getElement(objtxt+'_notediv');button=MochiKit.DOM.getElement(objtxt+'_notebutton');texta=MochiKit.DOM.getElement(objtxt+'_note'+'_'+rrv_run);if(obj.style.display=="none"){obj.style.display="";button.value="Delete Note";}else{if(confirm('Are you sure you want to delete this note?')==true){obj.style.display="none";button.value="Add Note";texta.value="";}}}
function toggle_image(theobj,a,b){theobj=MochiKit.DOM.getElement(theobj);if(theobj.src==a.src){theobj.src=b.src;}else if(theobj.src==b.src){theobj.src=a.src;}}
function toggle_object(obj,specific){if(!is_object(obj)){if(MochiKit.DOM.getElement(obj)){obj=MochiKit.DOM.getElement(obj);}}
if(!specific){if(obj.style.display=="none"){obj.style.display="";}else{obj.style.display="none";}}else{if(specific=="on"){obj.style.display="";}else if(specific=="off"){obj.style.display="none";}}}
function detectTarget(e){var targ;if(!e)var e=window.event;if(e.target){targ=e.target;}
else if(e.srcElement){targ=e.srcElement;}
if(targ.nodeType==3){targ=targ.parentNode;}
return targ;}
function CJL_RegisterEvent(elemName,elem,type,listener,useCapture,noAutoStart){var proto=arguments.callee.prototype;this.e=elem;this.type=type;this.cap=useCapture;this.l=listener;proto.start=function(){if(!elem){alert("CJL_RegisterEvent() failed for element ["+elemName+"]");return;}
if(this.e.attachEvent){this.e.attachEvent("on"+this.type,this.l);}else if(this.e.addEventListener){this.e.addEventListener(this.type,this.l,this.cap);}}
if(!noAutoStart){this.start(elem,type,listener);}
proto.stop=function(){if(this.e.detachEvent){this.e.detachEvent("on"+this.type,this.l);}else if(this.e.removeEventListener){this.e.removeEventListener(this.type,this.l,this.cap);}}}
var END_OF_INPUT=-1;var base64Chars=new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','+','/');var reverseBase64Chars=new Array();for(var i=0;i<base64Chars.length;i++){reverseBase64Chars[base64Chars[i]]=i;}
var base64Str;var base64Count;function setBase64Str(str){base64Str=str;base64Count=0;}
function readBase64(){if(!base64Str){return END_OF_INPUT;}
if(base64Count>=base64Str.length){return END_OF_INPUT;}
var c=base64Str.charCodeAt(base64Count)&0xff;base64Count++;return c;}
function encodeBase64(str){setBase64Str(str);var result='';var inBuffer=new Array(3);var lineCount=0;var done=false;while(!done&&(inBuffer[0]=readBase64())!=END_OF_INPUT){inBuffer[1]=readBase64();inBuffer[2]=readBase64();result+=(base64Chars[inBuffer[0]>>2]);if(inBuffer[1]!=END_OF_INPUT){result+=(base64Chars[((inBuffer[0]<<4)&0x30)|(inBuffer[1]>>4)]);if(inBuffer[2]!=END_OF_INPUT){result+=(base64Chars[((inBuffer[1]<<2)&0x3c)|(inBuffer[2]>>6)]);result+=(base64Chars[inBuffer[2]&0x3F]);}else{result+=(base64Chars[((inBuffer[1]<<2)&0x3c)]);result+=('=');done=true;}}else{result+=(base64Chars[((inBuffer[0]<<4)&0x30)]);result+=('=');result+=('=');done=true;}}
return result;}
function readReverseBase64(){if(!base64Str)return END_OF_INPUT;while(true){if(base64Count>=base64Str.length)return END_OF_INPUT;var nextCharacter=base64Str.charAt(base64Count);base64Count++;if(reverseBase64Chars[nextCharacter]){return reverseBase64Chars[nextCharacter];}
if(nextCharacter=='A')return 0;}
return END_OF_INPUT;}
function ntos(n){n=n.toString(16);if(n.length==1)n="0"+n;n="%"+n;return unescape(n);}
function decodeBase64(str){setBase64Str(str);var result="";var inBuffer=new Array(4);var done=false;while(!done&&(inBuffer[0]=readReverseBase64())!=END_OF_INPUT&&(inBuffer[1]=readReverseBase64())!=END_OF_INPUT){inBuffer[2]=readReverseBase64();inBuffer[3]=readReverseBase64();result+=ntos((((inBuffer[0]<<2)&0xff)|inBuffer[1]>>4));if(inBuffer[2]!=END_OF_INPUT){result+=ntos((((inBuffer[1]<<4)&0xff)|inBuffer[2]>>2));if(inBuffer[3]!=END_OF_INPUT){result+=ntos((((inBuffer[2]<<6)&0xff)|inBuffer[3]));}else{done=true;}}else{done=true;}}
return result;}
function urlencode(val)
{var SAFECHARS="0123456789"+"ABCDEFGHIJKLMNOPQRSTUVWXYZ"+"abcdefghijklmnopqrstuvwxyz"+"-_.!~*'()";var HEX="0123456789ABCDEF";var plaintext=val;var encoded="";for(var i=0;i<plaintext.length;i++){var ch=plaintext.charAt(i);if(ch==" "){encoded+="+";}else if(SAFECHARS.indexOf(ch)!=-1){encoded+=ch;}else{var charCode=ch.charCodeAt(0);if(charCode>255){alert("Unicode Character '"
+ch
+"' cannot be encoded using standard URL encoding.\n"+"(URL encoding only supports 8-bit characters.)\n"+"A space (+) will be substituted.");encoded+="+";}else{encoded+="%";encoded+=HEX.charAt((charCode>>4)&0xF);encoded+=HEX.charAt(charCode&0xF);}}}
return encoded;};function urldecode(val)
{var HEXCHARS="0123456789ABCDEFabcdef";var encoded=val;var plaintext="";var i=0;while(i<encoded.length){var ch=encoded.charAt(i);if(ch=="+"){plaintext+=" ";i++;}else if(ch=="%"){if(i<(encoded.length-2)&&HEXCHARS.indexOf(encoded.charAt(i+1))!=-1&&HEXCHARS.indexOf(encoded.charAt(i+2))!=-1){plaintext+=unescape(encoded.substr(i,3));i+=3;}else{alert('Bad escape combination near ...'+encoded.substr(i));plaintext+="%[ERROR]";i++;}}else{plaintext+=ch;i++;}}
return plaintext;};function is_alien(a){return is_object(a)&&typeof a.constructor!='function';}
function is_array(a){return is_object(a)&&a.constructor==Array;}
function is_boolean(a){return typeof a=='boolean';}
function is_empty(o){var i,v;if(is_object(o)){for(i in o){v=o[i];if(is_undefined(v)&&is_function(v)){return false;}}}else if(is_string(o)){if(o.length>0){return false;}}
return true;}
function is_function(a){return typeof a=='function';}
function is_null(a){return typeof a=='object'&&!a;}
function is_number(a){return typeof a=='number'&&isFinite(a);}
function is_object(a){return(a&&typeof a=='object')||is_function(a);}
function is_string(a){return typeof a=='string';}
function is_undefined(a){return typeof a=='undefined';}
function select_add_option(theobj,tvalue,ttext){var temp=document.createElement('option');temp.value=tvalue;temp.text=ttext;if(is_string(theobj)){theobj=MochiKit.DOM.getElement(theobj);}
try{theobj.add(temp,null);}
catch(ex){theobj.add(temp);}}
function calendar_add_date(liid,pid,button_elem){thevar='calendar'+liid+'_add_date';screend=MochiKit.Style.getViewportDimensions();dated=MochiKit.Style.getElementDimensions(thevar);to_pos=new Object;to_pos.x=((screend.w/2)-(dated.w/2));to_pos.y=((screend.h/2)-(dated.h/2));MochiKit.Style.setElementPosition(thevar,to_pos);if(eval('calendar'+liid+'_adding')==true){eval('calendar'+liid+'_adding = false;');button_elem.style.backgroundImage='url(${root}images/images/edit.gif)';button_elem.value='Add Date to Calendar';}else{eval('calendar'+liid+'_adding = true;');button_elem.style.backgroundImage='url(${root}images/images/cancel.gif)';button_elem.value='Cancel';}
toggle_object(thevar);}
function set_date_dropdowns_date(id,rrv,date){temp=date.split("-");year=eval(temp[0]);month=eval(temp[1]);day=eval(temp[2]);year_field=MochiKit.DOM.getElement((id+'_year_'+rrv));month_field=MochiKit.DOM.getElement((id+'_month_'+rrv));day_field=MochiKit.DOM.getElement((id+'_day_'+rrv));year_idx=null;month_idx=null;day_idx=null;for(x=0;x<year_field.options.length;x++){if(year_field.options[x].text==year){year_idx=year_field.options[x].value;}}
for(x=0;x<month_field.options.length;x++){if(month_field.options[x].value==(month-1)){month_idx=month_field.options[x].value;}}
for(x=0;x<day_field.options.length;x++){if(day_field.options[x].text==day){day_idx=day_field.options[x].value;}}
if(year_idx){year_field.selectedIndex=year_idx;}
if(month_idx){month_field.selectedIndex=month_idx;}
if(day_idx){day_field.selectedIndex=day_idx;}}
multipleDraggables=function(){this.__init__();}
multipleDraggables.instances=[];multipleDraggables.prototype={__init__:function(){this.drags=new Object();this.selected=new Object();this.start_drag=false;this.dragging=false;this.drag_and_drop=true;this.force_single_selection=false;this.disable_clickoff=false;this.default_events_set_up=false;this.commit=true;this.selected_class="selected";this.selectable_class="selectable";this.append_to=null;this.document_onmouseup=null;this.index=multipleDraggables.instances.length;multipleDraggables.instances[this.index]=this;this.condition_to_start=function(){return true;}},add_draggable:function(element){if(!this.default_events_set_up){this.set_up_default_events();}
var element=Basis.get_element(element);if(element&&element.id){if(element&&!this.drags[element.id]){element.multipleDraggable=this;MochiKit.DOM.addElementClass(element,this.selectable_class);this.drags[element.id]=true;Basis.signal_handler.connect(element,"onmousedown.greedy.swallow",MochiKit.Base.bind(function(e){if(((Basis.key_handler.key_state("KEY_CTRL")=="up")&&(!this.multipleDraggable.selected[this.id]))||((Basis.key_handler.key_state("KEY_CTRL")=="up")&&(this.multipleDraggable.selected.length==0))||this.multipleDraggable.force_single_selection){this.multipleDraggable.clear_selected();}
if((!this.multipleDraggable.selected[this.id]||(Basis.key_handler.key_state("KEY_CTRL")=="down"))&&!Basis.dragging_any_multiple_draggable){this.multipleDraggable.toggle_select(this);}},element),this.commit);Basis.signal_handler.connect(element,"onmouseup.greedy",MochiKit.Base.bind(function(e){if(((Basis.key_handler.key_state("KEY_CTRL")=="up")||this.multipleDraggable.force_single_selection)&&!this.multipleDraggable.dragging){this.multipleDraggable.clear_selected();this.multipleDraggable.toggle_select(this);}},element),this.commit);if(this.drag_and_drop){Basis.signal_handler.connect(element,"onmousemove.greedy.swallow",MochiKit.Base.bind(function(e){if((Basis.mouse_handler.button_state("left")=="down")&!this.multipleDraggable.dragging&&this.multipleDraggable.condition_to_start()){this.multipleDraggable.start_drag=true;}
if(this.multipleDraggable.start_drag){this.multipleDraggable.start_drag=false;this.multipleDraggable.dragging=true;Basis.dragging_any_multiple_draggable=true;if((Basis.key_handler.key_state("KEY_CTRL")=="up")||this.multipleDraggable.force_single_selection){if(!this.multipleDraggable.selected[this.id]){this.multipleDraggable.clear_selected();}}
if(!this.multipleDraggable.selected[this.id]){this.multipleDraggable.toggle_select(this.id);}
if(!MochiKit.DOM.getElement("dragger")){var dragger=new MochiKit.DOM.DIV({"id":"dragger","style":"cursor: move; width:40px; height:40px; background-color: #F5F5F5; border: 1px dashed #808080; position: absolute;"}," ");if(this.multipleDraggable.append_to){if(MochiKit.DOM.getElement(this.multipleDraggable.append_to)){MochiKit.DOM.getElement(this.multipleDraggable.append_to).appendChild(dragger);}}else{document.body.appendChild(dragger);}
new MochiKit.DragAndDrop.Draggable("dragger",{"scroll":true});MochiKit.DOM.getElement("dragger")._selected=MochiKit.Base.serializeJSON(this.multipleDraggable.selected);}
var pos=MochiKit.Position.cumulativeOffset(MochiKit.DOM.getElement("dragger"));var dim=MochiKit.Style.getElementDimensions("dragger");var scroll=Basis.scroll_coords();var clientX=pos.x+(dim.w/2);var clientY=pos.y+(dim.h/2)-scroll.y;if(document.createEventObject){var event=document.createEventObject();event.clientX=clientX;event.clientY=clientY;event.button=1;MochiKit.DOM.getElement("dragger").fireEvent("onmousedown",event);MochiKit.DOM.getElement("dragger").focus();}else if(document.createEvent){var event=document.createEvent("MouseEvents");event.initMouseEvent("mousedown",1,1,window,1,0,0,clientX,clientY,0,0,0,0,0,MochiKit.DOM.getElement("dragger"));MochiKit.Signal.signal("dragger","onmousedown",event);MochiKit.DOM.getElement("dragger").focus();}}},element),this.commit);}
Basis.signal_handler.connect(element,"onmouseenter",MochiKit.Base.bind(function(){if(this.multipleDraggable&&!this.multipleDraggable.selected[this.id]){this.style.backgroundColor="#E8EDF9";}},element),this.commit);Basis.signal_handler.connect(element,"onmouseleave",MochiKit.Base.bind(function(){this.style.backgroundColor="";},element),this.commit);}}},clear_selected:function(){for(var i in this.selected){this.toggle_select(i);delete this.selected[i];}},on_deselect:function(element){var element=MochiKit.DOM.getElement(element);if(element){MochiKit.Style.setStyle(element.id,{'background-color':''});MochiKit.DOM.removeElementClass(element.id,this.selected_class);MochiKit.DOM.addElementClass(element.id,this.selectable_class);}},on_select:function(element){var element=MochiKit.DOM.getElement(element);if(element){MochiKit.Style.setStyle(element.id,{'background-color':''});MochiKit.DOM.removeElementClass(element.id,this.selectable_class);MochiKit.DOM.addElementClass(element.id,this.selected_class);}},select_all:function(){this.clear_selected();for(var i in this.drags){var obj=MochiKit.DOM.getElement(i);if(obj){this.toggle_select(i);}}},set_up_default_events:function(){if(!this.disable_clickoff){Basis.signal_handler.connect(document.body,"onmousedown.greedy",MochiKit.Base.bind(function(){if(Basis.key_handler.key_state("KEY_CTRL")=="up"){this.clear_selected();}},this),this.commit);}
Basis.signal_handler.connect(document.body,"onmouseup.greedy",MochiKit.Base.bind(function(e){this.start_drag=false;this.dragging=false;Basis.dragging_any_multiple_draggable=false;if(MochiKit.DOM.getElement("dragger")){MochiKit.DOM.removeElement("dragger");MochiKit.DragAndDrop.Draggables.drags=[];}},this),this.commit);this.default_events_set_up=true;},toggle_select:function(element){var element=MochiKit.DOM.getElement(element);if(element){if(!this.selected[element.id]){this.selected[element.id]=true;this.on_select(element);}else{delete this.selected[element.id];this.on_deselect(element);}}}};Basis._int=function(value){return(!isNaN(parseInt(value))?parseInt(value):0);};Basis._return=function(value){return value;};Basis.add_content_element=function(page_id,replacement_id,type){var type=(type!==null)?type:"";if(page_id&&replacement_id&&confirm("Are you sure you want to add a new content element to this page?")){var to_post={};to_post["page_id"]=page_id;to_post["replacement_id"]=replacement_id;to_post["type"]=type;var as=new Basis.ajax_scaffold;as.alias="add_content_element";as.on_success=function(req){if(req.responseText=="true"){window.location=""+window.location+"";}else{MochiKit.Logging.log("Unable to add content element!");}
window.status="Done";};return as.post({"to_post":to_post});}};Basis.align_element_to_element=function(element,dest,how,offset,animation,duration){var element=MochiKit.DOM.getElement(element);var dest=MochiKit.DOM.getElement(dest);if(element&&dest&&how){var e_disp=element.style.display;var d_disp=dest.style.display;if(e_disp=="none"){element.style.display="";}
if(d_disp=="none"){element.style.display="";}
var e_pos=MochiKit.Style.getElementPosition(element);var e_dim=MochiKit.Style.getElementDimensions(element);var d_pos=MochiKit.Style.getElementPosition(dest);var d_dim=MochiKit.Style.getElementDimensions(dest);var d_anchor={};if(e_pos&&e_dim&&d_pos&&d_dim){switch(how){case"center":var e_center={"x":e_pos.x+Math.floor(e_dim.w/2),"y":e_pos.y+Math.floor(e_dim.h/2)};var d_center={"x":d_pos.x+Math.floor(d_dim.w/2),"y":d_pos.y+Math.floor(d_dim.h/2)};var d_anchor={"x":(d_center.x-(e_center.x-e_pos.x)),"y":(d_center.y-(e_center.y-e_pos.y))};break;case"bottom_to_top":var d_anchor={"x":e_pos.x,"y":e_pos.y+(d_pos.y-e_pos.y-e_dim.h)};break;case"bottom_to_bottom":var d_anchor={"x":e_pos.x,"y":e_pos.y-((e_pos.y+e_dim.h)-(d_pos.y+d_dim.h))};break;case"top_to_bottom":var d_anchor={"x":e_pos.x,"y":e_pos.y+(d_pos.y-e_pos.y+d_dim.h)};break;case"top_to_top":var d_anchor={"x":e_pos.x,"y":e_pos.y-(e_pos.y-d_pos.y)};break;case"left_to_right":var d_anchor={"x":e_pos.x+d_pos.x+d_dim.w,"y":e_pos.y};break;case"left_to_left":var d_anchor={"x":d_pos.x,"y":e_pos.y};break;case"right_to_left":var d_anchor={"x":e_pos.x+(d_pos.x-e_pos.x-e_dim.w),"y":e_pos.y};break;case"right_to_right":var d_anchor={"x":d_pos.x+(d_dim.w-e_dim.w),"y":e_pos.y};break;}
if(offset&&offset.x){d_anchor.x+=offset.x;}
if(offset&&offset.y){d_anchor.y+=offset.y;}
if(!((d_anchor.x==0)&&(d_anchor.y==0))){element.style.position="absolute";if(!animation){MochiKit.Style.setElementPosition(element,d_anchor);}else{if(!duration){duration=0.50;}
MochiKit.Visual.Move(element,{"x":d_anchor.x,"y":d_anchor.y,"duration":duration,"mode":element.style.position});}}}
element.style.display=e_disp;dest.style.display=d_disp;return d_anchor;}};Basis.array_flip=function(arr){temp=new Object();for(var i in arr){temp[arr[i]]=i;}
return temp;};Basis.array_insert=function(arr,index,value){if(arr&&arr.splice){arr.splice(index,0,value);}
return arr;};Basis.array_length=function(element){var x=0;if(element){switch(typeof(element)){case"string":case"number":case"function":case"boolean":case"undefined":return x;break;}
for(var i in element){if(typeof(element[i])!="function"){x++;}}}
return x;};Basis.array_search=function(arr,value){var index=MochiKit.Base.findValue(arr,value);return(index==-1)?null:index;};Basis.array_size=function(arr){return Basis.array_length(arr);};Basis.attach_tooltip=function(element,text,is_html,commit,is_error_message){var is_error_message=(is_error_message==true)?true:false;element.position_tooltip=MochiKit.Base.noop;var element=Basis.get_element(element);if(element&&text){element.tooltip_text=text;element.is_html=(is_html==true)?true:false;Basis.signal_handler.connect(element,"onmouseenter",MochiKit.Base.bind(function(){if(Basis.show_tooltips){var tooltip=DIV({"id":"Basis.tooltip","class":"Basis.tooltip"+(is_error_message?".error":""),"style":"white-space: nowrap; z-index: 5000;"},(element.is_html?null:element.tooltip_text));tooltip.signals=tooltip.signals?tooltip.signals:[];if(element.is_html){tooltip.innerHTML=element.tooltip_text;}
element.tooltip=tooltip;var dim=MochiKit.Style.getElementDimensions(tooltip);Basis.set_style(tooltip,{"position":"absolute"});document.body.appendChild(tooltip);Basis.updated_live_dom();}
element.position_tooltip=MochiKit.Base.bind(function(){if(Basis.show_tooltips){var scroll=Basis.scroll_coords();var mouse={"x":Basis.misc_vars.mouse_x,"y":Basis.misc_vars.mouse_y};MochiKit.Style.setElementPosition(this,{"x":(mouse.x+scroll.x+15),"y":(mouse.y+scroll.y+10)});if(BrowserDetect){if((BrowserDetect.browser=="Firefox")&&(BrowserDetect.version>=2)){var pos=MochiKit.Style.getElementPosition(this);var dim=MochiKit.Style.getElementDimensions(this);var viewport=MochiKit.Style.getViewportDimensions();if((pos.x+dim.w)>(viewport.w+scroll.x)){MochiKit.Style.setElementPosition(this,{"x":(mouse.x+scroll.x-dim.w-15),"y":(mouse.y+scroll.y+10)});}}}}},tooltip);Basis.signal_handler.connect(tooltip,"onmouseover",MochiKit.Base.bind(function(){Basis.remove_element(this);},tooltip));this.position_tooltip();},element),commit);Basis.signal_handler.connect(element,"onmousemove",MochiKit.Base.bind(function(){this.position_tooltip();},element),commit);Basis.signal_handler.connect(element,"onmouseleave",MochiKit.Base.bind(function(){Basis.remove_element(this.tooltip);},element),commit);}};Basis.blank_object=function(){var a={};for(var i in a){if(Basis.is_function(a[i])){delete a[i];}}
return a;};Basis.center_element=function(element,animation,duration){var obj=MochiKit.DOM.getElement(element);if(obj){var screend=MochiKit.Style.getViewportDimensions();var elementd=MochiKit.Style.getElementDimensions(obj);var to_pos=new Object;to_pos.x=((screend.w/2)-(elementd.w/2));to_pos.y=((screend.h/2)-(elementd.h/2));var scroll;scroll=Basis.scroll_coords();to_pos.x+=scroll.x;to_pos.y+=scroll.y;if(to_pos.y<0){to_pos.y=0;}
if(!animation){MochiKit.Style.setElementPosition(obj,to_pos);}else{if(!duration){duration=0.50;}
MochiKit.Visual.Move(obj,{"x":to_pos.x,"y":to_pos.y,"duration":duration,"mode":"absolute"});}}};Basis.clone=function(obj){if(Basis.is_element(obj)){return obj.cloneNode(true);}else{if(obj&&obj.prototype){return MochiKit.Base.clone(obj);}else if(obj&&!obj.prototype){return MochiKit.Base.update({},obj);}}};Basis.connect_unload=function(func){if(Basis.is_function(func)){MochiKit.Signal.connect(window,"onbeforeunload",func);}};Basis.convert_nested_elements_to_tree=function(element,nested_tag,default_expanded,ignore_root,nested_tag_class_name,attach_events,commit){if(!Basis.trees){Basis.trees={};}
var default_expanded=(default_expanded!=null)?default_expanded:false;var ignore_root=(ignore_root!=null)?ignore_root:false;var attach_events=(attach_events!=null)?attach_events:true;var nested_tag=nested_tag?nested_tag:"div";var nested_tag_class_name=nested_tag_class_name?nested_tag_class_name:null;var element=MochiKit.DOM.getElement(element);if(element){var index=(element.id?element.id:Basis.array_length(Basis.trees));Basis.trees[index]={"nodes":{"with_children":[],"without_children":[]}};element.tree=Basis.trees[index];MochiKit.Base.nodeWalk(element,function(node){var parent=node.parentNode;if(parent){var container=MochiKit.DOM.createDOM(nested_tag,{"id":(node.id+"_c")});var children=MochiKit.DOM.getElementsByTagAndClassName(nested_tag,nested_tag_class_name,node);if(!node.nextSibling){var next_sibling=DIV({"style":"display: none;"});parent.appendChild(next_sibling);parent.insertBefore(container,next_sibling);Basis.remove_element(next_sibling);}else{parent.insertBefore(container,node.nextSibling);}
for(var i=0;i<children.length;i++){if(children[i].parentNode==node){container.appendChild(children[i]);}}
node.tree_children=container;container.tree_parent=node;MochiKit.DOM.addElementClass(container,"Basis.file_explorer.container");if(container.nextSibling){MochiKit.DOM.addElementClass(container,"has_remaining_siblings");}
if(container.childNodes.length==0){MochiKit.DOM.addElementClass(container,"invisible");}
if(ignore_root&&(node==element)){var placeholder=TD();var new_node=TABLE({"width":"100%","border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"18"},IMG({"src":"images/images/spacer.gif","width":"18","height":"18"})),placeholder)));}else{if(!default_expanded){var image_src=(container.childNodes.length==0)?((container.nextSibling)?("images/images/default_icons/tree/tree-leaf.gif"):("images/images/default_icons/tree/tree-leaf-end.gif")):((container.nextSibling)?("images/images/default_icons/tree/tree-node.gif"):("images/images/default_icons/tree/tree-node-end.gif"));container.style.display="none";}else{var image_src=(container.childNodes.length==0)?((container.nextSibling)?("images/images/default_icons/tree/tree-leaf.gif"):("images/images/default_icons/tree/tree-leaf-end.gif")):((container.nextSibling)?("images/images/default_icons/tree/tree-node-open.gif"):("images/images/default_icons/tree/tree-node-open-end.gif"));}
var image=IMG({"src":image_src,"id":(node.id+"_toggle"),"class":"Basis.convert_nested_elements_to_tree.toggle","style":((container.childNodes.length==0)?"":"cursor: pointer;")});image.open=default_expanded;if(container.childNodes.length>0){element.tree["nodes"]["with_children"].push(image);if(attach_events){Basis.signal_handler.connect(image,{"onclick":[MochiKit.Base.bind(function(){var container=MochiKit.DOM.getElement((this.id.substring(0,(this.id.length-("_toggle").length))+"_c"));if(container){if(this.open){var image_src=(container.childNodes.length==0)?((container.nextSibling)?("images/images/default_icons/tree/tree-leaf.gif"):("images/images/default_icons/tree/tree-leaf-end.gif")):((container.nextSibling)?("images/images/default_icons/tree/tree-node.gif"):("images/images/default_icons/tree/tree-node-end.gif"));container.style.display="none";this.src=image_src;this.open=false;}else{var image_src=(container.childNodes.length==0)?((container.nextSibling)?("images/images/default_icons/tree/tree-leaf.gif"):("images/images/default_icons/tree/tree-leaf-end.gif")):((container.nextSibling)?("images/images/default_icons/tree/tree-node-open.gif"):("images/images/default_icons/tree/tree-node-open-end.gif"));container.style.display="";this.src=image_src;this.open=true;}}},image)]},null,commit);}}else{element.tree["nodes"]["without_children"].push(image);}
var placeholder=TD();var branch_image=TD({"width":"18","style":"vertical-align: top;"},image);var new_node=TABLE({"width":"100%","border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,branch_image,placeholder)));if(container.nextSibling){}}
if(node.nextSibling){node.parentNode.insertBefore(new_node,node.nextSibling);}else{node.parentNode.appendChild(new_node);}
placeholder.appendChild(node);var blank_container=SPAN({"id":node.id+"_wrapper","style":"display: block; position: static;","class":"Basis.file_explorer.node_container"});new_node.parentNode.insertBefore(blank_container,new_node);blank_container.appendChild(new_node);blank_container.appendChild(container);return container.childNodes;}});}};Basis.decode64=function(input){if(!input){return"";}
var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=(enc1<<2)|(enc2>>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2);}
if(enc4!=64){output=output+String.fromCharCode(chr3);}}while(i<input.length);return output;};Basis.decode_html_entities=function(string){if(string){var htmlentities={"nbsp":160,"iexcl":161,"cent":162,"pound":163,"curren":164,"yen":165,"brvbar":166,"sect":167,"uml":168,"copy":169,"ordf":170,"laquo":171,"not":172,"shy":173,"reg":174,"macr":175,"deg":176,"plusmn":177,"sup2":178,"sup3":179,"acute":180,"micro":181,"para":182,"middot":183,"cedil":184,"sup1":185,"ordm":186,"raquo":187,"frac14":188,"frac12":189,"frac34":190,"iquest":191,"Agrave":192,"Aacute":193,"Acirc":194,"Atilde":195,"Auml":196,"Aring":197,"AElig":198,"Ccedil":199,"Egrave":200,"Eacute":201,"Ecirc":202,"Euml":203,"Igrave":204,"Iacute":205,"Icirc":206,"Iuml":207,"ETH":208,"Ntilde":209,"Ograve":210,"Oacute":211,"Ocirc":212,"Otilde":213,"Ouml":214,"times":215,"Oslash":216,"Ugrave":217,"Uacute":218,"Ucirc":219,"Uuml":220,"Yacute":221,"THORN":222,"szlig":223,"agrave":224,"aacute":225,"acirc":226,"atilde":227,"auml":228,"aring":229,"aelig":230,"ccedil":231,"egrave":232,"eacute":233,"ecirc":234,"euml":235,"igrave":236,"iacute":237,"icirc":238,"iuml":239,"eth":240,"ntilde":241,"ograve":242,"oacute":243,"ocirc":244,"otilde":245,"ouml":246,"divide":247,"oslash":248,"ugrave":249,"uacute":250,"ucirc":251,"uuml":252,"yacute":253,"thorn":254,"yuml":255,"fnof":402,"Alpha":913,"Beta":914,"Gamma":915,"Delta":916,"Epsilon":917,"Zeta":918,"Eta":919,"Theta":920,"Iota":921,"Kappa":922,"Lambda":923,"Mu":924,"Nu":925,"Xi":926,"Omicron":927,"Pi":928,"Rho":929,"Sigma":931,"Tau":932,"Upsilon":933,"Phi":934,"Chi":935,"Psi":936,"Omega":937,"alpha":945,"beta":946,"gamma":947,"delta":948,"epsilon":949,"zeta":950,"eta":951,"theta":952,"iota":953,"kappa":954,"lambda":955,"mu":956,"nu":957,"xi":958,"omicron":959,"pi":960,"rho":961,"sigmaf":962,"sigma":963,"tau":964,"upsilon":965,"phi":966,"chi":967,"psi":968,"omega":969,"thetasym":977,"upsih":978,"piv":982,"bull":8226,"hellip":8230,"prime":8242,"Prime":8243,"oline":8254,"frasl":8260,"weierp":8472,"image":8465,"real":8476,"trade":8482,"alefsym":8501,"larr":8592,"uarr":8593,"rarr":8594,"darr":8595,"harr":8596,"crarr":8629,"lArr":8656,"uArr":8657,"rArr":8658,"dArr":8659,"hArr":8660,"forall":8704,"part":8706,"exist":8707,"empty":8709,"nabla":8711,"isin":8712,"notin":8713,"ni":8715,"prod":8719,"sum":8721,"minus":8722,"lowast":8727,"radic":8730,"prop":8733,"infin":8734,"ang":8736,"and":8743,"or":8744,"cap":8745,"cup":8746,"int":8747,"there4":8756,"sim":8764,"cong":8773,"asymp":8776,"ne":8800,"equiv":8801,"le":8804,"ge":8805,"sub":8834,"sup":8835,"nsub":8836,"sube":8838,"supe":8839,"oplus":8853,"otimes":8855,"perp":8869,"sdot":8901,"lceil":8968,"rceil":8969,"lfloor":8970,"rfloor":8971,"lang":9001,"rang":9002,"loz":9674,"spades":9824,"clubs":9827,"hearts":9829,"diams":9830,"quot":34,"amp":38,"lt":60,"gt":62,"OElig":338,"oelig":339,"Scaron":352,"scaron":353,"Yuml":376,"circ":710,"tilde":732,"ensp":8194,"emsp":8195,"thinsp":8201,"zwnj":8204,"zwj":8205,"lrm":8206,"rlm":8207,"ndash":8211,"mdash":8212,"lsquo":8216,"rsquo":8217,"sbquo":8218,"ldquo":8220,"rdquo":8221,"bdquo":8222,"dagger":8224,"Dagger":8225,"permil":8240,"lsaquo":8249,"rsaquo":8250,"euro":8364};var return_string=string;for(var i in htmlentities){return_string=return_string.replace(new RegExp(("&"+i+";"),"gi"),String.fromCharCode(htmlentities[i]));}}
return return_string;};Basis.delete_content_element=function(content_element_id){if(content_element_id&&confirm("Are you sure you want to delete this content element?")){var to_post={};to_post["content_element_id"]=content_element_id;var as=new Basis.ajax_scaffold;as.alias="delete_content_element";as.on_success=function(req){if(req.responseText=="true"){Basis.remove_element(getElement("ce_"+content_element_id).parentNode);}else{MochiKit.Logging.log("Unable to delete content element #"+content_element_id);}};return as.post({"to_post":to_post});}};Basis.encode64=function(input){if(!input){return"";}
var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;do{chr1=input.charCodeAt(i++);chr2=input.charCodeAt(i++);chr3=input.charCodeAt(i++);enc1=chr1>>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}else if(isNaN(chr3)){enc4=64;}
output=output+keyStr.charAt(enc1)+keyStr.charAt(enc2)+
keyStr.charAt(enc3)+keyStr.charAt(enc4);}while(i<input.length);return output;}
Basis.execute_javascript=function(element){var element=MochiKit.DOM.getElement(element);if(element){var st=element.getElementsByTagName("SCRIPT");var string_to_execute;for(var i=0;i<st.length;i++){string_to_execute=st[i].innerHTML;try{eval(string_to_execute.split("<!--").join("").split("-->").join(""));}catch(e){MochiKit.Logging.log(e);}}}};Basis.filter_number=function(value){if(value!=null){if(value==0){return 0;}
var unpad=value.toString().replace(/(^[0]+)/,"");var unpad=unpad.toString().replace(/([^0-9\.]+)/,"");var retval=(unpad.match(/\./g)?parseFloat(unpad):parseInt(unpad));return(!isNaN(retval))?retval:null;}
return null;};Basis.find_key=function(list,value){if(list&&(Basis.array_length(list)>0)){for(var i in list){if(typeof(list[i])!="function"){if(list[i]==value){return i;}}}}
return false;};Basis.format_filesize=function(size){var size=Basis.parse_number(size);var type="bytes";var string="";if(size){if((size>0)&&(size<1024)){type="bytes";size=(size).toFixed(0);}else if((size>=1024)&&(size<(1024*1024))){type="kilobytes";size=(size/1024).toFixed(2);}else if((size>=(1024*1024))&&(size<(1024*1024*1024))){type="megabytes";size=(size/(1024*1024)).toFixed(2);}else if((size>=(1024*1024*1024))&&(size<(1024*1024*1024*1024))){type="gigabytes";size=(size/(1024*1024*1024)).toFixed(2);}
size=numberFormatter("###,###.##")(size);switch(type){case"bytes":string=size+" bytes";break;case"kilobytes":string=size+" KB";break;case"megabytes":string=size+" MB";break;case"gigabytes":string=size+" GB";break;}
return string;}};Basis.get_child_elements_by_tag=function(element,tag){var element=MochiKit.DOM.getElement(element);var tag=tag.toUpperCase();var children=[];if(element&&tag){for(var y in element.childNodes){if(element.childNodes[y]&&element.childNodes[y].tagName&&(element.childNodes[y].tagName.toUpperCase()==tag)){children[children.length]=element.childNodes[y];}}}
return children;};Basis.get_cookie=function(cookie_name){if(document.cookie.length>0){var c_start=document.cookie.indexOf(cookie_name+"=");if(c_start!=-1){c_start=c_start+cookie_name.length+1;var c_end=document.cookie.indexOf(";",c_start)
if(c_end==-1){c_end=document.cookie.length;}
return unescape(document.cookie.substring(c_start,c_end));}}
return"";};Basis.get_css=function(selector){if(selector&&document.styleSheets){for(var i=(document.styleSheets.length-1);i>=0;i--){if(document.styleSheets[i]&&document.styleSheets[i].href&&(document.styleSheets[i].href.indexOf("http://")!=-1)&&(document.styleSheets[i].href.split("http://")[1].split("/")[0]!=window.location.href.split("http://")[1].split("/")[0])){continue;}
var list=document.styleSheets[i].cssRules?document.styleSheets[i].cssRules:document.styleSheets[i].rules;if(list){for(var x=0;x<list.length;x++){if(list[x].selectorText&&(list[x].selectorText.toLowerCase()==selector.replace(/ /g,"").toLowerCase())){var text=list[x].style.cssText;var rgbs=text.match(/rgb\(([0-9]+), ([0-9]+), ([0-9]+)\);/g);if(rgbs&&(rgbs.length>0)){for(var y=0;y<rgbs.length;y++){var temp=rgbs[y].match(/rgb\(([0-9]+), ([0-9]+), ([0-9]+)\);/);if(temp.length==4){text=text.replace(rgbs[y],("#"+((parseInt(temp[1]).toString(16).length==1)?("0"+parseInt(temp[1]).toString(16)):parseInt(temp[1]).toString(16))+
((parseInt(temp[2]).toString(16).length==1)?("0"+parseInt(temp[2]).toString(16)):parseInt(temp[2]).toString(16))+
((parseInt(temp[3]).toString(16).length==1)?("0"+parseInt(temp[3]).toString(16)):parseInt(temp[3]).toString(16))+";"));}}}
return text.toLowerCase();}}}}}
return null;}
Basis.get_direct_child_elements_by_tag_and_class_name=function(tag_name,class_name,parent){var tag_name=tag_name?tag_name:null;var class_name=class_name?class_name:null;var parent=MochiKit.DOM.getElement(parent)?MochiKit.DOM.getElement(parent):document;var children=[];if((tag_name||class_name)&&parent){var potential_children=MochiKit.DOM.getElementsByTagAndClassName(tag_name,class_name,parent);if(potential_children.length>0){for(var i=0;i<potential_children.length;i++){if(potential_children[i].parentNode&&(potential_children[i].parentNode==parent)){children.push(potential_children[i]);}}}}
return children;};Basis.get_element=function(element){return Basis.is_element(element)?element:MochiKit.DOM.getElement(element);};Basis.get_element_dimensions=function(element){var element=MochiKit.DOM.getElement(element);var dim={"x":0,"y":0};if(element){MochiKit.DOM.makePositioned(element);var dim=MochiKit.Style.getElementDimensions(element);MochiKit.DOM.undoPositioned(element);}
return dim;};Basis.get_style=function(element,style){var got="";var element=MochiKit.DOM.getElement(element);if(element&&style){got=MochiKit.Style.getStyle(element,style);}
return(got?got:"");};Basis.hide_all_object_elements=function(){var objs=MochiKit.DOM.getElementsByTagAndClassName("object");if(objs.length>0){for(x=0;x<objs.length;x++){var pnode=objs[x].parentNode;if(pnode){var dims=MochiKit.Style.getElementDimensions(pnode);pnode.style.width=dims.w;pnode.style.height=dims.h;}
objs[x].style.display="none";}
return true;}
return false;};Basis.idle_timeout=function(duration,sid,url){if(duration&&sid&&url){Basis.misc_vars["keepalive_timeout"]=MochiKit.Async.callLater(duration,function(){Basis.misc_vars.timeout_popup=Basis.popup({"id":"timeout_popup","window_title":"You are idle","html":'\
\
          <div>You have been idle for too long! Do you want to remain logged in?</div>\
          <div align="right" style="padding-top: 10px;">\
            <input type="button" value="Yes" id="timeout_popup_yes">\
            <input type="button" value="No" id="timeout_popup_no">\
          </div>\
          <script>\
\
            MochiKit.Signal.connect("timeout_popup_yes","onclick",function () {\
\
              new Basis.keep_alive({"sid"       : "'+sid+'",\
                                    "url"       : "'+url+'",\
                                    "propagate" : false,\
                                    "duration"  : 1});\
\
              var element = MochiKit.DOM.getElement("timeout_popup");\
\
              if (element && element.close) {\
\
                element.close();\
\
              }\
\
              if (Basis.misc_vars["final_timeout"] && Basis.misc_vars["final_timeout"].cancel) {\
\
                Basis.misc_vars["final_timeout"].cancel();\
\
              }\
\
              Basis.idle_timeout('+duration+',"'+sid+'","'+url+'");\
\
            });\
\
            MochiKit.Signal.connect("timeout_popup_no","onclick",function () {\
\
              var url = ""+window.location+"";\
\
              if (url.indexOf("?") == -1) {\
\
                window.location = (url + "?logout=true");\
\
              } else {\
\
                window.location = (url + "&logout=true");\
\
              }\
\
              var element = MochiKit.DOM.getElement("timeout_popup");\
\
              if (element && element.close) {\
\
                element.close();\
\
              }\
\
              if (Basis.misc_vars["final_timeout"] && Basis.misc_vars["final_timeout"].cancel) {\
\
                Basis.misc_vars["final_timeout"].cancel();\
\
              }\
\
            });\
\
          </script>'});Basis.misc_vars["final_timeout"]=MochiKit.Async.callLater(30,function(){var url=""+window.location+"";if(url.indexOf("?")==-1){window.location=(url+"?logout=true");}else{window.location=(url+"&logout=true");}});});}};Basis.image_rotator=function(element,array,options){var options=options?options:{};var d=MochiKit.DOM.currentDocument();if(d.images){if(!d.preloaded_images){d.preloaded_images=new Object();}
if(!d.preloaded_images["rotate"]){d.preloaded_images["rotate"]=new Array();}
var fade=options["fade"]?true:false;var duration=options["duration"]?options["duration"]:2000;var index=d.preloaded_images["rotate"].length;var obj=MochiKit.DOM.getElement(element);d.preloaded_images["rotate"][index]=new Array();d.preloaded_images["rotate"][index][0]=element;if(obj){if(fade){var image_dimensions=MochiKit.Style.getElementDimensions(obj);var layer_a=DIV({"style":"position: absolute; top: 0px; left: 0px; display: none;"});var layer_b=DIV({"style":"position: absolute; top: 0px; left: 0px; display: none;"});var container=DIV({"style":"overflow: hidden; position: relative;"});var obj_b=IMG({"src":obj.src});MochiKit.Style.setElementDimensions(container,image_dimensions);MochiKit.Style.setElementDimensions(layer_a,image_dimensions);MochiKit.Style.setElementDimensions(layer_b,image_dimensions);MochiKit.Style.setOpacity(layer_a,100);MochiKit.Style.setOpacity(layer_b,0);obj.parentNode.insertBefore(container,obj);layer_a.appendChild(obj);layer_b.appendChild(obj_b);container.appendChild(layer_a);container.appendChild(layer_b);layer_a.style.display="";layer_b.style.display="";}
for(var i in array){var idx=d.preloaded_images["rotate"][index].length;d.preloaded_images["rotate"][index][idx]=new Image();d.preloaded_images["rotate"][index][idx].src=array[i];}
if(fade){obj.rotate=MochiKit.Base.bind(function(index,idx){var d=MochiKit.DOM.currentDocument();var current_image=(this.layer_a.style.display=="none")?this.image_b:this.image_a;var swap_to_image=(current_image==this.image_a)?this.image_b:this.image_a;if(d.preloaded_images["rotate"][index][idx]&&d.preloaded_images["rotate"][index][idx].src){swap_to_image.src=d.preloaded_images["rotate"][index][idx].src;MochiKit.Visual.fade(current_image.parentNode,0,{"duration":0.50,"afterFinish":MochiKit.Base.bind(function(){this.style.display="none";},current_image)});MochiKit.Visual.appear(swap_to_image.parentNode,100,{"duration":0.50,"afterFinish":MochiKit.Base.bind(function(){this.style.display="";},swap_to_image)});}
var max=d.preloaded_images["rotate"][index].length;if(idx==(max-1)){var nidx=1;}else{var nidx=idx+1;}
setTimeout(("MochiKit.DOM.getElement('"+this.element.id+"').rotate("+index+","+nidx+");"),duration);},{"element":obj,"layer_a":layer_a,"layer_b":layer_b,"image_a":obj,"image_b":obj_b});}else{obj.rotate=function(index,idx){var element=MochiKit.DOM.getElement(d.preloaded_images["rotate"][index][0]);if(element){if(d.preloaded_images["rotate"][index][idx]&&d.preloaded_images["rotate"][index][idx].src){element.src=d.preloaded_images["rotate"][index][idx].src;}
var max=d.preloaded_images["rotate"][index].length;if(idx==(max-1)){var nidx=1;}else{var nidx=idx+1;}
setTimeout(("MochiKit.DOM.getElement('"+element.id+"').rotate("+index+","+nidx+");"),duration);}};}
if(d.preloaded_images["rotate"][index].length>1){obj.rotate(index,1);}
return container;}}};Basis.is_element=function(element){return(element&&(typeof(element)=="object")&&element.tagName)?true:false;};Basis.is_formfield=function(element){var retval=false;var element=MochiKit.DOM.getElement(element);if(element&&element.tagName){switch(element.tagName.toUpperCase()){case"INPUT":case"SELECT":case"TEXTAREA":retval=true;break;}}
return retval;};Basis.is_function=function(variable){return(typeof(variable)=="function")?true:false;};Basis.is_mouse_leave_or_enter=function(e,handler){var related_target=e.relatedTarget?e.relatedTarget:((e.type=="mouseout")?e.toElement:e.fromElement);while(related_target&&(related_target!=handler)){related_target=related_target.parentNode;}
return(related_target!=handler);};Basis.is_number=function(value){if(value&&value.match&&(value.match(/([^0-9\.])/g)!=null)){return false;}
return(Basis.parse_number(value)!=null)?true:false;};Basis.is_visible=function(element){return!MochiKit.DOM.hasElementClass(element,"invisible");};Basis.keys=function(root,recursive){if(root){var recursive=recursive?true:false;var keys=[];for(var i in root){if(typeof(root[i])!="function"){keys.push(i);if(recursive){var tkeys=Basis.keys(root[i],recursive);keys=flattenArray([keys,tkeys]);}}}
return keys;}}
Basis.ksort=function(arr){var sorted_array={};var temp_sorted={};var temp_array=[];var x=0;this.pad=function(count,chr){var count=(parseInt(count)>0)?parseInt(count):0;var retval="";if(chr){for(var x=0;x<count;x++){retval+=chr;}}
return retval;};for(i in arr){var key=(!i.toString().match(/[^0-9]/g))?(this.pad((10-parseInt(i).toString().length),"0")+parseInt(i).toString()):i;switch(typeof(arr[i])){case"function":break;case"array":case"object":temp_sorted[key]=Basis.is_element(arr[i])?arr[i]:Basis.ksort(arr[i]);temp_array[x++]=key+"|Basis.ksort.temp_sorted";break;default:temp_array[x++]=key+"|"+arr[i];break;}}
temp_array=temp_array.sort();for(var i in temp_array){switch(typeof(temp_array[i])){case"function":case"array":case"object":break;default:var x=temp_array[i].split("|");if(x[1]=="Basis.ksort.temp_sorted"){sorted_array[x[0]]=temp_sorted[x[0]];}else{sorted_array[x[0]]=x[1];}
break;}}
return sorted_array;};Basis.load_external_javascript=function(url){if(url){var script=MochiKit.DOM.createDOM("script");script.src=url;script.type="text/javascript";document.getElementsByTagName("head")[0].appendChild(script);}};Basis.load_rollover_images=function(array){var d=MochiKit.DOM.currentDocument();if(d.images){if(!d.preloaded_images){d.preloaded_images=new Object();}
for(var i in array){if(array[i]["id"]&&MochiKit.DOM.getElement(array[i]["id"])){d.preloaded_images[array[i]["id"]]=new Object();d.preloaded_images[array[i]["id"]].off=new Image();d.preloaded_images[array[i]["id"]].off.src=array[i]["off"];d.preloaded_images[array[i]["id"]].on=new Image();d.preloaded_images[array[i]["id"]].on.src=array[i]["on"];var obj=MochiKit.DOM.getElement(array[i]["id"]);if(obj){obj.swap=function(toggle){if((this.src==d.preloaded_images[this.id].off.src)||(toggle=="on")){this.src=d.preloaded_images[this.id].on.src;}else{this.src=d.preloaded_images[this.id].off.src;}}
if(!array[i]["noswap"]&&(array[i]["link_image"]!=false)){MochiKit.Signal.connect(obj,"onmouseover",function(){this.swap("on");});MochiKit.Signal.connect(obj,"onmouseout",function(){this.swap("off");});}}
if(array[i]["ids"]){for(var x in array[i]["ids"]){var eobj=MochiKit.DOM.getElement(array[i]["ids"][x]);if(eobj){MochiKit.Signal.connect(eobj,"onmouseover",obj,function(){this.swap("on");});MochiKit.Signal.connect(eobj,"onmouseout",obj,function(){this.swap("off");});}}}}}}};Basis.make_invisible=function(element){MochiKit.DOM.addElementClass(element,"invisible");};Basis.make_text_element_dropdown=function(element,dropdown_options,scaffold_options){var element=MochiKit.DOM.getElement(element);if(element){element.value=element.value?element.value:MochiKit.DOM.scrapeText(element);element.editing=false;element.signals=[];element.clear_signals=MochiKit.Base.bind(function(){if(this.signals){for(var i=0;i<this.signals.length;i++){MochiKit.Signal.disconnect(this.signals[i]);}}
if(this.shadow&&this.shadow.signals){for(var i=0;i<this.shadow.signals.length;i++){MochiKit.Signal.disconnect(this.shadow.signals[i]);}}},element);if(!Basis.is_formfield(element)){element.make_dropdown=MochiKit.Base.bind(function(){if(!this.editing){this.editing=true;var select=SELECT({"id":(this.id+"_select"),"style":"background-color: #ffffff; padding: 1px; padding-left: 3px; border: 1px solid #000000;"});Basis.select_add_options(select,dropdown_options);Basis.select_select_item_by_text(select,this.value);var dim=Basis.get_element_dimensions(this);select.signals=[];this.font_multiplier=(dim.w/this.value.length);Basis.set_style(select,{"width":Math.floor(this.font_multiplier*this.value.length)+30,"font-family":MochiKit.Style.getStyle(this,"font-family"),"font-size":MochiKit.Style.getStyle(this,"font-size")});select.shadow=this;this.shadow=select;MochiKit.DOM.swapDOM(this,select);select.save_editable_dropdown_changes=MochiKit.Base.bind(function(){window.status="Saving...";if(this.options[this.selectedIndex].text==this.shadow.value){this.cancel_save_editable_dropdown_changes();window.status="Done";}else{var to_post=new Object();to_post["to"]=this.value;to_post["resource_id"]=scaffold_options["resource_id"]?scaffold_options["resource_id"]:"";to_post["database"]=scaffold_options["database"]?scaffold_options["database"]:"";to_post["table"]=scaffold_options["table"]?scaffold_options["table"]:"";to_post["row_id"]=scaffold_options["row_id"]?scaffold_options["row_id"]:"";to_post["field"]=scaffold_options["field"]?scaffold_options["field"]:"";to_post["custom_action"]=scaffold_options["custom_action"]?scaffold_options["custom_action"]:"";if(scaffold_options["is_time"]||scaffold_options["is_date"]){var parts=this.id.split("_");var part=(parts[parts.length-2]);var rrv=(parts[parts.length-1]);var base=this.id.substring(0,this.id.length+(-1*(part.length+rrv.length+2)));switch(part){case"hour":var minute=Basis.get_element(base+"_minute_"+rrv);var ampm=Basis.get_element(base+"_ampm_"+rrv);to_post["to"]=this.options[this.selectedIndex].text+":"+minute.options[minute.selectedIndex].text+ampm.options[ampm.selectedIndex].text;break;case"minute":var hour=Basis.get_element(base+"_hour_"+rrv);var ampm=Basis.get_element(base+"_ampm_"+rrv);to_post["to"]=hour.options[hour.selectedIndex].text+":"+this.options[this.selectedIndex].text+ampm.options[ampm.selectedIndex].text;break;case"ampm":var hour=Basis.get_element(base+"_hour_"+rrv);var minute=Basis.get_element(base+"_minute_"+rrv);to_post["to"]=hour.options[hour.selectedIndex].text+":"+minute.options[minute.selectedIndex].text+this.options[this.selectedIndex].text;break;case"year":var month=Basis.get_element(base+"_month_"+rrv);var month_val=(month.options[month.selectedIndex].value.length==1)?("0"+month.options[month.selectedIndex].value):month.options[month.selectedIndex].value;var day=Basis.get_element(base+"_day_"+rrv);to_post["to"]=this.options[this.selectedIndex].text+"-"+month_val+"-"+day.options[day.selectedIndex].text;break;case"month":var year=Basis.get_element(base+"_year_"+rrv);var month_val=(this.options[this.selectedIndex].value.length==1)?("0"+this.options[this.selectedIndex].value):this.options[this.selectedIndex].value;var day=Basis.get_element(base+"_day_"+rrv);to_post["to"]=year.options[year.selectedIndex].text+"-"+month_val+"-"+day.options[day.selectedIndex].text;break;case"day":var year=Basis.get_element(base+"_year_"+rrv);var month=Basis.get_element(base+"_month_"+rrv);var month_val=(month.options[month.selectedIndex].value.length==1)?("0"+month.options[month.selectedIndex].value):month.options[month.selectedIndex].value;to_post["to"]=year.options[year.selectedIndex].text+"-"+month_val+"-"+this.options[this.selectedIndex].text;break;}}
var as=new Basis.ajax_scaffold;as.alias="Basis.save_editable_element_changes";MochiKit.Base.update(as,scaffold_options);as.select=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(decodeBase64(req.responseText));if(response["text"]=="true"){this.select.shadow.innerHTML=this.select.options[this.select.selectedIndex].text;this.select.shadow.value=this.select.options[this.select.selectedIndex].text;MochiKit.DOM.swapDOM(this.select,this.select.shadow);}else{this.select.cancel_save_editable_dropdown_changes();}
this.select.shadow.clear_signals();this.select.shadow.editing=false;window.status="Done";};as.post({"to_post":to_post});}},select);select.cancel_save_editable_dropdown_changes=MochiKit.Base.bind(function(){if(this.shadow.editing){MochiKit.Logging.log(this.id+".cancel_save_editable_dropdown_changes()");this.shadow.clear_signals();MochiKit.DOM.swapDOM(this,this.shadow);this.shadow.editing=false;}},select);select.signals.push(MochiKit.Signal.connect(select,"onblur",MochiKit.Base.bind(function(){if(this.shadow.editing){MochiKit.Logging.log(this.id+".onblur(), attempting to save_editable_dropdown_changes()!");this.save_editable_dropdown_changes();}},select)));this.signals.push(MochiKit.Signal.connect(document,"onclick",MochiKit.Base.bind(function(e){MochiKit.Logging.log("document.onclick()");if(e.target()&&(e.target()!=this)&&(e.target()!=this.shadow)){MochiKit.Logging.log("document.onclick(), attempting to save_editable_dropdown_changes()!");this.save_editable_dropdown_changes();}},select)));select.signals.push(MochiKit.Signal.connect(select,"onkeydown",MochiKit.Base.bind(function(e){var key=e.key();if(key.code==13){MochiKit.Logging.log("Enter key pressed... "+this.id+".save_editable_dropdown_changes()!");this.save_editable_dropdown_changes();}else if(key.code==27){MochiKit.Logging.log("Escape key pressed... "+this.id+".cancel_save_editable_dropdown_changes()!");this.cancel_save_editable_dropdown_changes();}},select)));select.focus();}},element);element.onmouseleave=MochiKit.Base.bind(function(){if(!this.editing){var original_contents=MochiKit.DOM.getElement(this.id+"_replace");if(original_contents){var restore_text=document.createTextNode(MochiKit.DOM.scrapeText(original_contents));this.innerHTML="";MochiKit.DOM.removeElementClass(original_contents,"Basis.make_dropdown.highlight");this.appendChild(restore_text);var dim=Basis.get_element_dimensions(this);MochiKit.Style.setElementDimensions(this,dim);this.clear_signals();}}},element);MochiKit.Signal.connect(element,"onmouseenter",MochiKit.Base.bind(function(){if(!this.editing){this.onmouseleave();var dim=Basis.get_element_dimensions(this);var pencil_image=IMG({"src":"images/images/edit.gif"});var pencil=TABLE({"border":"0","cellpadding":"0","cellspacing":"0","style":"cursor: pointer;","class":"Basis.make_dropdown.highlight"},TBODY(null,TR(null,TD({"id":this.id+"_replace","width":dim.w,"style":"font-size: "+MochiKit.Style.getStyle(this,"font-size")+"; "+"font-weight: "+MochiKit.Style.getStyle(this,"font-weight")+"; "+"font-family: "+MochiKit.Style.getStyle(this,"font-family")+";"},this.firstChild),TD({"style":"padding-left: 5px;"},pencil_image))));this.appendChild(pencil);var edit=MochiKit.Base.bind(function(){this.onmouseleave();this.make_dropdown();},this);this.signals.push(MochiKit.Signal.connect(pencil_image,"onclick",edit));this.signals.push(MochiKit.Signal.connect(pencil,"ondblclick",edit));}},element));MochiKit.Signal.connect(element,"onmouseleave",element.onmouseleave);}else{element.original_value=element.value;element.save_editable_dropdown_changes=MochiKit.Base.bind(function(){window.status="Saving...";var to_post=new Object();to_post["to"]=this.value;to_post["resource_id"]=scaffold_options["resource_id"]?scaffold_options["resource_id"]:"";to_post["database"]=scaffold_options["database"]?scaffold_options["database"]:"";to_post["table"]=scaffold_options["table"]?scaffold_options["table"]:"";to_post["row_id"]=scaffold_options["row_id"]?scaffold_options["row_id"]:"";to_post["field"]=scaffold_options["field"]?scaffold_options["field"]:"";to_post["custom_action"]=scaffold_options["custom_action"]?scaffold_options["custom_action"]:"";if(scaffold_options["is_time"]||scaffold_options["is_date"]){var parts=this.id.split("_");var part=(parts[parts.length-2]);var rrv=(parts[parts.length-1]);var base=this.id.substring(0,this.id.length+(-1*(part.length+rrv.length+2)));switch(part){case"hour":var minute=Basis.get_element(base+"_minute_"+rrv);var ampm=Basis.get_element(base+"_ampm_"+rrv);to_post["to"]=this.options[this.selectedIndex].text+":"+minute.options[minute.selectedIndex].text+ampm.options[ampm.selectedIndex].text;break;case"minute":var hour=Basis.get_element(base+"_hour_"+rrv);var ampm=Basis.get_element(base+"_ampm_"+rrv);to_post["to"]=hour.options[hour.selectedIndex].text+":"+this.options[this.selectedIndex].text+ampm.options[ampm.selectedIndex].text;break;case"ampm":var hour=Basis.get_element(base+"_hour_"+rrv);var minute=Basis.get_element(base+"_minute_"+rrv);to_post["to"]=hour.options[hour.selectedIndex].text+":"+minute.options[minute.selectedIndex].text+this.options[this.selectedIndex].text;break;case"year":var month=Basis.get_element(base+"_month_"+rrv);var month_val=(month.options[month.selectedIndex].value.length==1)?("0"+month.options[month.selectedIndex].value):month.options[month.selectedIndex].value;var day=Basis.get_element(base+"_day_"+rrv);to_post["to"]=this.options[this.selectedIndex].text+"-"+month_val+"-"+day.options[day.selectedIndex].text;break;case"month":var year=Basis.get_element(base+"_year_"+rrv);var month_val=(this.options[this.selectedIndex].value.length==1)?("0"+this.options[this.selectedIndex].value):this.options[this.selectedIndex].value;var day=Basis.get_element(base+"_day_"+rrv);to_post["to"]=year.options[year.selectedIndex].text+"-"+month_val+"-"+day.options[day.selectedIndex].text;break;case"day":var year=Basis.get_element(base+"_year_"+rrv);var month=Basis.get_element(base+"_month_"+rrv);var month_val=(month.options[month.selectedIndex].value.length==1)?("0"+month.options[month.selectedIndex].value):month.options[month.selectedIndex].value;to_post["to"]=year.options[year.selectedIndex].text+"-"+month_val+"-"+this.options[this.selectedIndex].text;break;}}
var as=new Basis.ajax_scaffold;as.alias="Basis.save_editable_element_changes";MochiKit.Base.update(as,scaffold_options);as.element=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(decodeBase64(req.responseText));if(response["text"]=="true"){as.element.original_value=as.element.value;}
window.status="Done";};as.post({"to_post":to_post});},element);element.signals.push(MochiKit.Signal.connect(element,"onblur",MochiKit.Base.bind(function(){if(element.value!=element.original_value){MochiKit.Logging.log(this.id+".onblur(), attempting to save_editable_dropdown_changes()!");this.save_editable_dropdown_changes();}},element)));element.signals.push(MochiKit.Signal.connect(document,"onclick",MochiKit.Base.bind(function(e){if(element.value!=element.original_value){if(e.target()&&(e.target()!=this)){MochiKit.Logging.log("document.onclick(), attempting to save_editable_dropdown_changes()!");this.save_editable_dropdown_changes();}}},element)));element.signals.push(MochiKit.Signal.connect(element,"onkeydown",MochiKit.Base.bind(function(e){var key=e.key();if(key.code==13){if(element.value!=element.original_value){MochiKit.Logging.log("Enter key pressed... "+this.id+".save_editable_dropdown_changes()!");this.save_editable_dropdown_changes();}}},element)));}}};Basis.force_make_text_element_editable_save=function(element,scaffold_options){var save_editable_element_changes=MochiKit.Base.bind(function(){window.status="Saving...";var to_post=new Object();to_post["to"]=scaffold_options["to"]?scaffold_options["to"]:this.value;to_post["resource_id"]=scaffold_options["resource_id"]?scaffold_options["resource_id"]:"";to_post["database"]=scaffold_options["database"]?scaffold_options["database"]:"";to_post["table"]=scaffold_options["table"]?scaffold_options["table"]:"";to_post["row_id"]=scaffold_options["row_id"]?scaffold_options["row_id"]:"";to_post["field"]=scaffold_options["field"]?scaffold_options["field"]:"";to_post["custom_action"]=scaffold_options["custom_action"]?scaffold_options["custom_action"]:"";if(!to_post["to"]){delete to_post["to"];}
if(!to_post["resource_id"]){delete to_post["resource_id"];}
if(!to_post["database"]){delete to_post["database"];}
if(!to_post["table"]){delete to_post["table"];}
if(!to_post["row_id"]){delete to_post["row_id"];}
if(!to_post["field"]){delete to_post["field"];}
if(!to_post["custom_action"]){delete to_post["custom_action"];}
var as=new Basis.ajax_scaffold;as.alias="Basis.save_editable_element_changes";as.on_success=function(req){window.status="Done";};as.post({"to_post":to_post});},element);save_editable_element_changes();};Basis.make_text_element_editable=function(element,scaffold_options){var scaffold_options=scaffold_options?scaffold_options:{};var element=MochiKit.DOM.getElement(element);if(element){element.editable_element={};element.editable_element.is_password=(scaffold_options["is_password"]==true)?true:false;element.editable_element.commit=(scaffold_options["commit"]==true)?true:false;element.editable_element.set_up_interaction=MochiKit.Base.bind(function(){var input=this.editable_element.shadow;if(input){Basis.signal_handler.connect(input,"onclick.greedy.swallow",function(){},this.editable_element.commit);Basis.state_handler.add_state("Basis.make_text_element_editable");Basis.state_handler.register_key_handler("Basis.make_text_element_editable","KEY_ESCAPE","down",MochiKit.Base.bind(function(){this.editable_element.cancel_save_editable_element_changes();},input));Basis.state_handler.register_key_handler("Basis.make_text_element_editable","KEY_ENTER","down",MochiKit.Base.bind(function(){this.editable_element.save_editable_element_changes();},input));Basis.state_handler.register_signal_handler("Basis.make_text_element_editable",document.body,"onclick.greedy",MochiKit.Base.bind(function(e){this.editable_element.save_editable_element_changes();},input),this.editable_element.commit);Basis.state_handler.enter_state("Basis.make_text_element_editable");input.editable_element.save_editable_element_changes=MochiKit.Base.bind(function(){window.status="Saving...";if(this.value==this.editable_element.shadow.editable_element.value){this.editable_element.cancel_save_editable_element_changes();window.status="Done";}else{var to_post=new Object();to_post["to"]=this.value;to_post["resource_id"]=scaffold_options["resource_id"]?scaffold_options["resource_id"]:"";to_post["database"]=scaffold_options["database"]?scaffold_options["database"]:"";to_post["table"]=scaffold_options["table"]?scaffold_options["table"]:"";to_post["row_id"]=scaffold_options["row_id"]?scaffold_options["row_id"]:"";to_post["field"]=scaffold_options["field"]?scaffold_options["field"]:"";to_post["custom_action"]=scaffold_options["custom_action"]?scaffold_options["custom_action"]:"";if(!to_post["to"]){delete to_post["to"];}
if(!to_post["resource_id"]){delete to_post["resource_id"];}
if(!to_post["database"]){delete to_post["database"];}
if(!to_post["table"]){delete to_post["table"];}
if(!to_post["row_id"]){delete to_post["row_id"];}
if(!to_post["field"]){delete to_post["field"];}
if(!to_post["custom_action"]){delete to_post["custom_action"];}
var as=new Basis.ajax_scaffold;as.alias="Basis.save_editable_element_changes";MochiKit.Base.update(as,scaffold_options);as.input=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(decodeBase64(req.responseText));if(response["text"]=="true"){if(this.input.editable_element.shadow.editable_element.is_password){this.input.editable_element.shadow.innerHTML=this.input.editable_element.shadow.editable_element.value;}else{this.input.editable_element.shadow.innerHTML=this.input.value;this.input.editable_element.shadow.editable_element.value=this.input.value;}
this.input.editable_element.cancel_save_editable_element_changes();}else{this.input.editable_element.cancel_save_editable_element_changes();}
window.status="Done";};as.post({"to_post":to_post});}},input);input.editable_element.cancel_save_editable_element_changes=MochiKit.Base.bind(function(){if(this.editable_element.shadow.editable_element.editing){MochiKit.DOM.swapDOM(this,this.editable_element.shadow);this.editable_element.shadow.editable_element.editing=false;Basis.state_handler.revert();Basis.updated_live_dom();}},input);input.focus();input.select();}},element);if(!Basis.is_formfield(element)){element.editable_element.editing=false;element.editable_element.value=element.value?element.value:MochiKit.DOM.scrapeText(element);element.editable_element.edit_text=MochiKit.Base.bind(function(){if(Basis.make_text_element_editable.currently_editing&&(Basis.make_text_element_editable.currently_editing!=element)){Basis.make_text_element_editable.currently_editing.editable_element.shadow.editable_element.save_editable_element_changes();}
if(!this.editable_element.editing){this.editable_element.editing=true;Basis.make_text_element_editable.currently_editing=element;var input=INPUT({"id":(this.id+"_input"),"type":(this.editable_element.is_password?"password":"text"),"value":(this.editable_element.is_password?"":this.editable_element.value),"style":"background-color: #ffffff; padding: 1px; padding-left: 3px; border: 1px solid #000000;"});input.editable_element={};var dim=Basis.get_element_dimensions(this);this.editable_element.font_multiplier=(dim.w/this.editable_element.value.length);Basis.set_style(input,{"width":Math.floor(this.editable_element.font_multiplier*this.editable_element.value.length)+15,"font-family":MochiKit.Style.getStyle(this,"font-family"),"font-size":MochiKit.Style.getStyle(this,"font-size")});input.editable_element.shadow=this;this.editable_element.shadow=input;var signal_index=Basis.signal_handler.get_element_index(this,false);if(signal_index){Basis.signal_handler.interactive_elements[signal_index].committed=false;}
MochiKit.DOM.swapDOM(this,input);this.editable_element.set_up_interaction();}},element);Basis.signal_handler.connect(element,"onmouseenter",MochiKit.Base.bind(function(){if(!this.editable_element.editing){var dim=Basis.get_element_dimensions(this);var pencil_image=IMG({"src":"images/images/edit.gif"});var pencil=TABLE({"border":"0","cellpadding":"0","cellspacing":"0","style":"cursor: pointer;","class":"Basis.edit_text.highlight"},TBODY(null,TR(null,TD({"id":this.id+"_replace","width":dim.w,"style":"font-size: "+MochiKit.Style.getStyle(this,"font-size")+"; "+"font-weight: "+MochiKit.Style.getStyle(this,"font-weight")+"; "+"font-family: "+MochiKit.Style.getStyle(this,"font-family")+";"},document.createTextNode(MochiKit.DOM.scrapeText(this))),TD({"style":"padding-left: 5px;"},pencil_image))));if(this.firstChild){Basis.remove_element(this.firstChild);}
this.appendChild(pencil);var edit=MochiKit.Base.bind(function(){Basis.signal_handler.execute_interactive_element(this,"onmouseleave");this.editable_element.edit_text();},this);Basis.signal_handler.connect(pencil_image,"onclick",edit);}},element),element.editable_element.commit);Basis.signal_handler.connect(element,"onmouseleave",MochiKit.Base.bind(function(){if(!this.editable_element.editing){var original_contents=MochiKit.DOM.getElement(this.id+"_replace");if(original_contents){var restore_text=document.createTextNode(MochiKit.DOM.scrapeText(original_contents));this.innerHTML="";MochiKit.DOM.removeElementClass(original_contents,"Basis.edit_text.highlight");this.appendChild(restore_text);}}},element),element.editable_element.commit);}else{element.editable_element.editing=true;element.editable_element.set_up_interaction();}}};Basis.make_visible=function(element){MochiKit.DOM.removeElementClass(element,"invisible");};Basis.mouse_coords=function(e){var posx=0;var posy=0;if(!e){var e=window.event;}
if(e.pageX||e.pageY){posx=e.pageX;posy=e.pageY;}else if(e.clientX||e.clientY){posx=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;posy=e.clientY+document.body.scrollTop+document.documentElement.scrollTop;}
return{"x":posx,"y":posy};};Basis.parse_number=function(value){if(value!=null){if(value===0){return 0;}
if(value&&(value.toString().replace(/([^0]+)/,"")==value.toString())){return 0;}
var unpad=value.toString().replace(/(^[0]+)/,"");if(unpad.length==0){return null;}
var retval=(unpad.match(/\./g)?parseFloat(unpad):parseInt(unpad));return(!isNaN(retval))?retval:null;}
return null;};Basis.pluralize=function(input){if(input){if(input.substring(input.length-1)=="y"){var ch=input.substring(input.length-2);switch(ch){case"a":case"e":case"i":case"o":case"u":input+="s";break;default:input=input.substring(0,(input.length-1))+"ies";break;}}else if((input.substring(input.length-2)=="ss")||(input.substring(input.length-2)=="ch")){input+="es";}else if(input.substring(input.length-1)!="s"){input+="s";}
return input;}};Basis.popup=function(options){if(options&&options["id"]&&options["html"]){if(!options["window_title"]){options["window_title"]="&nbsp;";}
if(options["center_element"]==null){options["center_element"]=true;}
var obj=MochiKit.DOM.getElement(options["id"]);if(!obj){var popup=new MochiKit.DOM.DIV({"id":options["id"],"class":"Basis.popup.container","style":"display: none; position: absolute; "+options["style"]},null);document.body.appendChild(popup);}
var obj=MochiKit.DOM.getElement(options["id"]);if(obj){if(!Basis.misc_vars.popups){Basis.misc_vars.popups=new Array;}
obj.pindex=Basis.misc_vars.popups.length;Basis.misc_vars.popups[obj.pindex]=obj;if(!options["bare"]){obj.innerHTML="<table><tr><td><div id=\""+obj.id+"_handle\" style=\"cursor: move; background-color: #F3F8FF; font-weight: bold;\">"+options["window_title"]+"</td><td align=\"right\" style=\"\"><img id=\""+obj.id+"_img\" src=\"images/images/x_off.gif\" style=\"cursor: pointer;\" onclick=\"var element = MochiKit.DOM.getElement('"+obj.id+"'); if (element && element.close) { element.close(); }\"></div></td></tr><tr><td id=\""+obj.id+"_html_container\">"+options["html"]+"</td></tr></table><script>Basis.load_rollover_images({0:{\"id\":\""+obj.id+"_img\",\"off\":\"images/images/x_off.gif\",\"on\":\"images/images/x_on.gif\"}});</script>";}else{obj.innerHTML="<div id=\""+obj.id+"_html_container\">"+options["html"]+"</div>";}
new MochiKit.DragAndDrop.Draggable(obj.id,{"handle":(obj.id+"_handle"),"starteffect":MochiKit.Base.noop,"endeffect":MochiKit.Base.noop});for(var i in Draggables.drags){if(Draggables.drags[i]&&Draggables.drags[i].element&&Draggables.drags[i].element.id&&(Draggables.drags[i].element.id==obj.id)){var date=new Date();Draggables.drags[i].element.timestamp=date.getTime();}}
obj.sort_popups=MochiKit.Base.bind(function(){var date=new Date();this.timestamp=date.getTime();var order=new Array;for(var i in Draggables.drags){if(Draggables.drags[i]&&Draggables.drags[i].element&&Draggables.drags[i].element.id&&Draggables.drags[i].element.timestamp){order[order.length]=Draggables.drags[i].element.timestamp+":"+i;}}
order.sort(Basis.sort_function);var start_z=1000;for(var i=0;i<order.length;i++){el=order[i].split(":");if(Draggables.drags[el[1]].element.style.zIndex<start_z){start_z=Draggables.drags[el[1]].element.style.zIndex;}}
for(var i=0;i<order.length;i++){el=order[i].split(":");Draggables.drags[el[1]].originalZ=start_z;Draggables.drags[el[1]].element.style.zIndex=start_z;start_z++;}},obj);obj.sort_popups();MochiKit.Signal.connect(obj.id,"onmousedown",obj.sort_popups);if(!options["bare"]){MochiKit.Signal.connect((obj.id+"_handle"),"onmousedown",obj.sort_popups);}
obj.close=MochiKit.Base.bind(function(){MochiKit.Signal.disconnectAll(this);delete Basis.misc_vars.popups[this.pindex];Basis.remove_element(this.id);},obj);Basis.execute_javascript(obj);if(options["center_element"]){Basis.center_element(obj);}
if(options["move_to"]&&options["move_to"].x&&options["move_to"].y){MochiKit.Style.setElementPosition(obj,options["move_to"]);}
obj.style.display=(obj.style.display=="none")?"inline":"none";var html_container=MochiKit.DOM.getElement(obj.id+"_html_container");var window_title=MochiKit.DOM.getElement(obj.id+"_handle");if(html_container&&window_title){return{"html_container":html_container,"window_title":window_title,"reference":obj.pindex};}}}}
Basis.post_throw=function(url,token,options){if(url&&token&&options){var data=[];options["throw_verify"]=hex_md5(Basis.get_cookie("PHPSESSID"));options["throw_vars"]=Basis.encode64("a:1:{i:0;s:"+token.length+':"'+token+'";}');for(var i in options){if(!Basis.is_function(options[i])){data.push(INPUT({"type":"text","name":i,"value":options[i]}));}}
var form=new FORM({"action":url,"style":"display: none;","method":"POST"},data);document.body.appendChild(form);form.submit();}};Basis.preserve_url=function(options){var options=(options&&(Basis.array_length(options)>0))?options:{};var just_keys=options["just_keys"]?options["just_keys"]:false;var original_url=options["original_url"]?options["original_url"]:null;var keys_add=options["keys_add"]?options["keys_add"]:{};var force_https=options["force_https"]?options["force_https"]:false;var force_http=options["force_http"]?options["force_http"]:false;if(original_url=="clear"){original_url=null;}
var url=original_url?original_url.split("?")[0]:(""+window.location+"").split("?")[0];var split=url.split(":");var protocol=split[0];protocol=(force_http?"http":(force_https?"https":"http"));original_url=original_url?original_url:(""+window.location+"");original_url=original_url.split("?");original_url=original_url[1]?original_url[1]:"";original_url=original_url.split("&");var ourl={};if(original_url.length>0){for(var i in original_url){if(typeof(original_url[i])!="function"){var qitem=original_url[i];var titem=qitem.split("=");if(titem[0]&&titem[1]){ourl[titem[0]]=titem[1];}}}}
for(var i in keys_add){if(typeof(keys_add[i])!="function"){var key=i;var value=keys_add[i];if(value||(value==0)){ourl[key]=value;}else{if(ourl[key]){delete ourl[key];}}}}
original_url=url;if(original_url.substring(original_url.length-1,1)!="?"){original_url+="?";}
keys="";for(var i in ourl){if(typeof(ourl[i])!="function"){var key=i;var value=ourl[i];if(value||(value==0)){keys+=(key+"="+value+"&");}}}
if(just_keys){return keys;}
original_url+=keys;return original_url.substring(0,(original_url.length-1));};Basis.preserve_url_path=function(){var url=Basis.preserve_url().split("?")[0];url=url.split("/");delete url[url.length-1];url=url.join("/");url=url.substring(0,url.length-1);return url;};Basis.register_size_constraints=function(element,width,height,aspect,subtract_sibling_heights){var subtract_sibling_heights=(subtract_sibling_heights===false)?false:true;var element=Basis.get_element(element);if(element&&!element.id){element.id=Basis.anonymous_element_id();}
if(element&&element.id){MochiKit.Style.registerSizeConstraints(element,width,height,aspect,subtract_sibling_heights);}};Basis.remove_children=function(element){var element=MochiKit.DOM.getElement(element);if(element){if(element.childNodes){for(var i=0;i<element.childNodes.length;i++){Basis.remove_element(element.childNodes[i]);}}
element.innerHTML="";}};Basis.remove_element=function(element){var garbage_bin=MochiKit.DOM.getElement("IELeakGarbageBin");if(!garbage_bin){var garbage_bin=new MochiKit.DOM.DIV({"id":"IELeakGarbageBin","style":"display: none;"});document.body.appendChild(garbage_bin);}
var element=Basis.get_element(element);if(element&&garbage_bin){MochiKit.Signal.disconnectAll(element);if(element.tooltip){Basis.remove_element(element.tooltip);}
if(element.drag_events){for(var i in element.drag_events){if(typeof(element.drag_events[i])!="function"){MochiKit.Signal.disconnect(element.drag_events[i]);}}}
if(element.signals){for(var i in element.signals){if(typeof(element.signals[i])!="function"){MochiKit.Signal.disconnect(element.signals[i]);}}}
var list_to_remove=[];MochiKit.Base.nodeWalk(element,function(node){list_to_remove.push(node);return node.childNodes;});for(var x=list_to_remove.length;x>0;x--){Basis.remove_element(list_to_remove[x]);}
var list=MochiKit.DragAndDrop.Droppables.drops;for(var i=0;i<list.length;i++){if(list[i].element==element){list[i].destroy();}}
var list=MochiKit.DragAndDrop.Draggables.drags;for(var i=0;i<list.length;i++){if(list[i].element==element){list[i].destroy();}}
garbage_bin.appendChild(element);garbage_bin.innerHTML="";Basis.signal_handler.purge_orphaned_signals();}}
Basis.scroll_coords=function(){var scroll_x,scroll_y;if(self.pageYOffset){scroll_x=self.pageXOffset;scroll_y=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){scroll_x=document.documentElement.scrollLeft;scroll_y=document.documentElement.scrollTop;}else if(document.body){scroll_x=document.body.scrollLeft;scroll_y=document.body.scrollTop;}
return{"x":scroll_x,"y":scroll_y};};Basis.select_add_option=function(element,value,text){var element=Basis.get_element(element);if(element&&element.options){element.options[element.options.length]=new Option(text,value);}else{MochiKit.Logging.log("cannot target element");}};Basis.select_add_options=function(element,options){var element=Basis.get_element(element);if(element&&options){for(var i in options){if(!Basis.is_function(options[i])){Basis.select_add_option(element,i,options[i]);}}}};Basis.select_delete_item_by_text=function(element,text){var element=MochiKit.DOM.getElement(element);if(element){for(var i=0;i<element.options.length;i++){if(element.options[i].text==text){MochiKit.DOM.removeElement(element.options[i]);}}}};Basis.select_delete_item_by_value=function(element,value){var element=MochiKit.DOM.getElement(element);if(element){for(var i=0;i<element.options.length;i++){if(element.options[i].value==value){MochiKit.DOM.removeElement(element.options[i]);}}}};Basis.select_item_indexes_by_text=function(element,text){var temp=[];var element=MochiKit.DOM.getElement(element);if(element){for(var i=0;i<element.options.length;i++){if(element.options[i].text==text){temp[temp.length]=i;}}}
return temp;};Basis.select_item_indexes_by_value=function(element,value){var temp=[];var element=MochiKit.DOM.getElement(element);if(element){for(var i=0;i<element.options.length;i++){if(element.options[i].value==value){temp[temp.length]=i;}}}
return temp;};Basis.select_restore_indexes=function(element,selected,restore_by){var element=MochiKit.DOM.getElement(element);if(element&&restore_by&&selected&&selected.length){for(var a=0;a<element.options.length;a++){for(var b=0;b<selected.options.length;b++){if(restore_by=="value"){if(element.options[a].value==selected[b].value){element.options[a].selected=true;}}else if(restore_by=="index"){if(a==selected[b].index){element.options[a].selected=true;}}else if(restore_by=="text"){if(element.options[a].text==selected[b].text){element.options[a].selected=true;}}}}}};Basis.select_select_all=function(element){var element=MochiKit.DOM.getElement(element);if(element){for(var i=0;i<element.options.length;i++){element.options[i].selected=true;}}};Basis.select_select_item_by_text=function(element,text){var temp=new Array();var element=MochiKit.DOM.getElement(element);if(element){for(var i=0;i<element.options.length;i++){if(element.options[i].text==text){element.options[i].selected=true;}}}};Basis.select_select_item_by_value=function(element,value){var element=MochiKit.DOM.getElement(element);if(element){for(var i=0;i<element.options.length;i++){if(element.options[i].value==value){element.options[i].selected=true;}}}};Basis.select_select_none=function(element){var element=MochiKit.DOM.getElement(element);if(element){for(var i=0;i<element.options.length;i++){element.options[i].selected=false;}}};Basis.select_selected_indexes=function(element){var temp=new Array();var element=MochiKit.DOM.getElement(element);if(element){for(var i=0;i<element.options.length;i++){if(element.options[i].selected){temp[temp.length]={"index":i,"value":element.options[i].value,"text":element.options[i].text};}}}
return temp;};Basis.select_sort=function(element){var element=MochiKit.DOM.getElement(element);if(element){var temp=[];for(var i=0;i<element.length;i++){temp[i]=element.options[i].text+":"+element.options[i].value;}
temp.sort(Basis.sort_function);for(var i=0;i<element.length;i++){el=temp[i].split(":");element.options[i].text=el[0];element.options[i].value=el[1];}}};Basis.set_cookie=function(name,value,expires,path,domain,secure){var today=new Date();today.setTime(today.getTime());if(expires!=null){expires=(expires*1000*60*60*24);}
var expires_date=new Date(today.getTime()+(expires));document.cookie=((name)+"="+escape(value))+
((expires)?(";expires="+expires_date.toGMTString()):"")+
((path)?(";path="+path):"")+
((domain)?(";domain="+domain):"")+
((secure)?(";secure"):"");};Basis.set_element_dimensions=function(element,dimensions,units){var element=MochiKit.DOM.getElement(element);if(element){return MochiKit.Style.setElementDimensions(element,dimensions,units);}};Basis.set_element_position=function(element,options){var element=MochiKit.DOM.getElement(element);if(element){var options=options?options:{};var positions={};options["x"]=Basis.is_number(options["x"])?Basis.parse_number(options["x"]):0;options["y"]=Basis.is_number(options["y"])?Basis.parse_number(options["y"]):0;switch(options["mode"]){case"relative":element.style.position="relative";var relative_to=MochiKit.DOM.getElement(options["relative_to"]);if(relative_to){element.style.left=0;element.style.top=0;positions["element"]=MochiKit.Style.getElementPosition(element);positions["relative_to"]=MochiKit.Style.getElementPosition(relative_to);positions["element"]=positions["element"]?positions["element"]:{"x":0,"y":0};positions["relative_to"]=positions["relative_to"]?positions["relative_to"]:{"x":0,"y":0};var offset={"x":((positions["relative_to"].x-positions["element"].x)+options["x"]),"y":((positions["relative_to"].y-positions["element"].y)+options["y"])};element.style.left=offset.x;element.style.top=offset.y;}
break;case"absolute":default:element.style.position="absolute";var relative_to=MochiKit.DOM.getElement(element.offsetParent);if(relative_to){positions["relative_to"]=MochiKit.Style.getElementPosition(relative_to);MochiKit.Style.setElementPosition(element,{"x":-1*(positions["relative_to"].x-options["x"]),"y":-1*(positions["relative_to"].y-options["y"])});}
break;}}};Basis.set_style=function(element,style){var element=MochiKit.DOM.getElement(element);if(element&&style){for(var i in style){if(!Basis.is_function(style[i])&&MochiKit.Base.camelize(i)){if(i=="opacity"){MochiKit.Style.setOpacity(element,style[i]);}else{if(Basis.is_number(style[i])&&(style[i]<0)){style[i]=0;}
element.style[MochiKit.Base.camelize(i)]=style[i];}}}}};Basis.show_flash_demo=function(filename,options){var options=MochiKit.Base.updatetree(Basis.blank_object(),options);options["w"]=options["w"]?options["w"]:"680";options["h"]=options["h"]?options["h"]:"534";var flash_popup=Basis.popup({"id":"show_flash","html":"&nbsp;","window_title":"Flash Demo"});var obj=Basis.misc_vars.popups[flash_popup.reference];if(obj){obj.style.display="none";if(flash_popup&&flash_popup.html_container&&flash_popup.html_container.id){var so=new SWFObject(filename,"mymovie",options["w"],options["h"],"8","#ffffff");so.useExpressInstall("/js/js/expressinstall.swf");so.write(flash_popup.html_container.id);}
Basis.center_element(obj);obj.style.display="";}};Basis.size_child_to_parent=function(element){var child=MochiKit.DOM.getElement(element);if(child&&child.parentNode){var parent=MochiKit.DOM.getElement(child.parentNode);if(child&&parent){var p_dim=MochiKit.Style.getElementDimensions(parent);for(var i=0;i<parent.childNodes.length;i++){var obj=MochiKit.DOM.getElement(parent.childNodes[i]);if(obj&&obj.tagName&&(obj!=child)){var o_dim=MochiKit.Style.getElementDimensions(obj);p_dim.h-=o_dim.h;}}
var borders=Basis.sum_of_element(parent,"border");var padding=Basis.sum_of_element(parent,"padding");var adjust=(borders.top+borders.bottom+padding.top+padding.bottom);child.style.height=(p_dim.h-adjust);}}
return p_dim;}
Basis.size_in_viewport=function(element){var element=MochiKit.DOM.getElement(element);if(element&&Basis.is_live_dom_node(element)){var pos=MochiKit.Style.getElementPosition(element);var dim=MochiKit.Style.getElementDimensions(element);var scroll=Basis.scroll_coords();var screen=MochiKit.Style.getViewportDimensions();var borders=Basis.sum_borders_of_all_parents(element);var padding=Basis.sum_padding_of_all_parents(element);var adjust_height=(borders.top+borders.bottom+padding.top+padding.bottom);var adjust_width=(borders.left+borders.right+padding.left+padding.right);var coords={"w":(screen.w-(pos.x+scroll.x)-adjust_width),"h":(screen.h-(pos.y+scroll.y)-adjust_height)};return coords;}}
Basis.sort_function=function(a,b){a=a.toLowerCase();b=b.toLowerCase();if(a<b){return-1;}
if(a>b){return 1;}
return 0;};Basis.sort_ul=function(ul,get,descending){var ul=Basis.get_element(ul);if(ul){var items=MochiKit.DOM.getElementsByTagAndClassName("LI",null,ul);var length=items.length;function compare(a,b,descending){return(descending)?(a>b):(a<b);}
var exchange=function(a,b){ul.insertBefore(items[a],items[b]);};var get=(typeof(get)=="function")?get:function(items,a){return MochiKit.DOM.scrapeText(items[a]);};function isort(m,k,descending){for(var j=(m+k);j<length;j+=k){for(var i=j;i>=k&&compare(get(items,i),get(items,(i-k)),descending);i-=k){exchange(i,(i-k));}}}
if((k=Math.floor(length/5))>7){for(var m=0;m<k;m++){isort(m,k,descending);}}
if((k=Math.floor(length/7))>7){for(var m=0;m<k;m++){isort(m,k,descending);}}
for(k=7;k>0;k-=2){for(var m=0;m<k;m++){isort(m,k,descending);}}
var sorted=true;for(var i=0;i<length;i++){if(get(items,i)>get(items,(i+1))){sorted=false;break;}}
if(!sorted){Basis.sort_ul(ul,get,descending);}}};Basis.sum_borders_of_all_parents=function(element){return Basis.sum_of_all_parents(element,"border");};Basis.sum_of_all_parents=function(element,selector){var element=MochiKit.DOM.getElement(element);var sum={"top":0,"left":0,"right":0,"bottom":0};var width=(selector=="border")?"-width":"";if(element){var tsum=Basis.sum_of_element(element);sum.top+=tsum.top;sum.left+=tsum.left;sum.right+=tsum.right;sum.bottom+=tsum.bottom;var parent=element.parentNode;while(parent&&parent.style){var tsum=Basis.sum_of_element(parent);sum.top+=tsum.top;sum.left+=tsum.left;sum.right+=tsum.right;sum.bottom+=tsum.bottom;parent=parent.parentNode;}}
return sum;};Basis.sum_of_element=function(element,selector){var element=MochiKit.DOM.getElement(element);var sum={"top":0,"left":0,"right":0,"bottom":0};var width=(selector=="border")?"-width":"";if(element){sum.top+=Basis._int(Basis.get_style(element,selector+"-top"+width).replace(/([^0-9\.])/g,""));sum.left+=Basis._int(Basis.get_style(element,selector+"-left"+width).replace(/([^0-9\.])/g,""));sum.right+=Basis._int(Basis.get_style(element,selector+"-right"+width).replace(/([^0-9\.])/g,""));sum.bottom+=Basis._int(Basis.get_style(element,selector+"-bottom"+width).replace(/([^0-9\.])/g,""));}
return sum;};Basis.sum_padding_of_all_parents=function(element){return Basis.sum_of_all_parents(element,"padding");};Basis.sum_scroll_of_all_parents=function(element){var element=MochiKit.DOM.getElement(element);var sum={"top":0,"left":0};if(element){var parent=element.parentNode;while(parent&&parent.style){sum.top+=parent.scrollTop;sum.left+=parent.scrollLeft;parent=parent.parentNode;}}
return sum;};Basis.tinyMCE_correct_span_nesting=function(html){var container=DIV();container.innerHTML=html;Basis.tinyMCE_correct_span_nesting_walk(container.childNodes);return container.innerHTML;};Basis.tinyMCE_correct_span_nesting_walk=function(nodes){if(nodes){for(var x in nodes){var node=nodes[x];if(Basis.is_element(node)&&Basis.is_element(node.parentNode)){var collapsed_tags=false;if((node.tagName.toUpperCase()=="SPAN")&&(node.parentNode.tagName.toUpperCase()=="SPAN")&&!node.previousSibling){log("merging...");for(var i in node.childNodes){if((node.childNodes[i].nodeType==1)||(node.childNodes[i].nodeType==3)){node.parentNode.insertBefore(node.childNodes[i],node);}}
var node_classes=Basis.get_element(node).className.split(" ");for(var i in node_classes){if(!Basis.is_function(node_classes[i])){MochiKit.DOM.addElementClass(node.parentNode,node_classes[i]);}}
for(var i=0;i<node.style;i++){var style=Basis.blank_object();style[node.style[i]]=Basis.get_style(node,node.style[i]);Basis.set_style(node.parentNode,style);}
Basis.remove_element(node)}
if(collapsed_tags){Basis.tinyMCE_correct_span_nesting_walk(node.parentNode.childNodes);}else{Basis.tinyMCE_correct_span_nesting_walk(node.childNodes);}}}}};Basis.tinyMCE_getInstanceById=function(obj){var obj=MochiKit.DOM.getElement(obj);if(obj&&obj.id){if(tinyMCE&&tinyMCE.instances){for(var i in tinyMCE.instances){if(typeof(tinyMCE.instances[i])!="function"){if(tinyMCE.instances[i].formElement&&tinyMCE.instances[i].formElement.id&&(tinyMCE.instances[i].formElement.id==obj.id)){return tinyMCE.instances[i];}}}}}
return false;};Basis.tinyMCE_set_dirty_flag=function(inst){Basis.misc_vars["tinyMCE_"+inst.formElement.id+"_changed"]=true;};Basis.toggle_visible=function(element){MochiKit.DOM.toggleElementClass("invisible",element);};Basis.unhide_all_object_elements=function(){var objs=MochiKit.DOM.getElementsByTagAndClassName("object");if(objs.length>0){for(x=0;x<objs.length;x++){objs[x].style.display="";}
return true;}
return false;};Basis.updated_live_dom=function(){if(Basis.signal_handler){Basis.signal_handler.commit_pending_elements();}};Basis.show_tooltips=(Basis.get_cookie("show_tooltips")=="false")?false:true;if(MochiKit.DOM.currentDocument().images){Basis.misc_vars["ajax_loading"]=new Image();Basis.misc_vars["ajax_loading"].src="images/images/ajax_loading.gif";}
MochiKit.Signal.connect(MochiKit.DOM.currentDocument(),"onmousemove",function(e){var pos=e.mouse().client;Basis.misc_vars["mouse_x"]=pos.x;Basis.misc_vars["mouse_y"]=pos.y;});window.onerror=function(message,url,line_number){MochiKit.Logging.log(["ERROR",message,url,line_number]);};try{document.execCommand("BackgroundImageCache",false,true);}catch(err){}
var BrowserDetect={init:function(){this.browser=this.searchString(this.dataBrowser)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.OS=this.searchString(this.dataOS)||"an unknown OS";},searchString:function(data){for(var i=0;i<data.length;i++){var dataString=data[i].string;var dataProp=data[i].prop;this.versionSearchString=data[i].versionSearch||data[i].identity;if(dataString){if(dataString.indexOf(data[i].subString)!=-1)
return data[i].identity;}
else if(dataProp)
return data[i].identity;}},searchVersion:function(dataString){var index=dataString.indexOf(this.versionSearchString);if(index==-1)return;return parseFloat(dataString.substring(index+this.versionSearchString.length+1));},dataBrowser:[{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};BrowserDetect.init();;Basis.ajax_scaffold=function(){this.__init__();};Basis.ajax_scaffold.instances=[];Basis.ajax_scaffold.blocked=false;Basis.ajax_scaffold.prototype={__init__:function(){this.alias;this.sid;this.url;this.send_raw=false;this.should_block=false;this.on_success=function(){return;};this.after_success=function(){return;};this.index=Basis.ajax_scaffold.instances.length;Basis.ajax_scaffold.instances[this.index]=this;},attach_indicator:function(){var obj=MochiKit.DOM.getElement("ajax_scaffold_indicator");if(!obj){var obj=new MochiKit.DOM.DIV({"id":"ajax_scaffold_indicator","style":"display:none; width: 16px; height: 16px; position: absolute;"},null);obj.innerHTML="<img id='ajax_scaffold_indicator_image' src=''><script>var obj = MochiKit.DOM.getElement('ajax_scaffold_indicator_image'); if (obj && Basis.misc_vars['ajax_loading'].src) { obj.src = Basis.misc_vars['ajax_loading'].src; }</script>";document.body.appendChild(obj);Basis.execute_javascript(obj);this.position_indicator();this.draw_indicator=MochiKit.Signal.connect(MochiKit.DOM.currentDocument(),"onmousemove",this,function(){this.position_indicator();});obj.style.display="";}},form_post:function(form_id){var obj=MochiKit.DOM.getElement(form_id);if(obj){var action=MochiKit.DOM.getElement(obj).action;var form_data=MochiKit.DOM.formContents(obj);if(action&&form_data){form_data[0][form_data[0].length]="exit_after_catch";form_data[1][form_data[1].length]="true";var to_post=new Object();for(var i in form_data[0]){if(typeof(form_data[0][i])!="function"){to_post[form_data[0][i]]=form_data[1][i];}}
this.url=action;return this.post(to_post);}else{MochiKit.Logging.log("no action or no form_data");}}},position_indicator:function(){var obj=MochiKit.DOM.getElement("ajax_scaffold_indicator");var scroll=Basis.scroll_coords();if(obj&&Basis.misc_vars["mouse_x"]&&Basis.misc_vars["mouse_y"]&&scroll&&(scroll.x>=0)&&(scroll.y>=0)){var pos={"x":(Basis.misc_vars["mouse_x"]+scroll.x+15),"y":(Basis.misc_vars["mouse_y"]+scroll.y+10)};MochiKit.Style.setElementPosition(obj,pos);}},post:function(options){if(this.should_block&&Basis.ajax_scaffold.blocked){log("ERROR: blocking request already made; cannot send this until it has completed!");return false;}
this.url=this.url?this.url:window.location.href;this.sid=this.sid?this.sid:Basis.get_cookie("PHPSESSID");if(this.url&&this.sid){if(!this.send_raw){var to_send={"alias":this.alias,"ajax_throw_verify":hex_md5(this.sid)};if(options){for(var i in options){to_send[i]=options[i];}}}else{var to_send=options;}
if(this.url.indexOf("?")!=-1){var base=this.url.substring(0,this.url.indexOf("?"));var args=parseQueryString(this.url.substring((this.url.indexOf("?")+1),this.url.length),true);}else{var base=this.url;var args={};}
args["PHPSESSID"]=this.sid;args["alias"]=this.alias;var date=new Date();args["unique"]=date.getTime();var query_string="";for(var i in args){if(typeof(args[i])!="function"){query_string+=i+"="+args[i]+"&";}}
this.url=base+"?"+query_string;this.attach_indicator();if(!this.send_raw){var send_content="array="+urlencode(encodeBase64(MochiKit.Base.serializeJSON(to_send)));}else{var temp="";for(var i in to_send){temp+=urlencode(i)+"="+urlencode(to_send[i])+"&";}
var send_content=temp;}
this.deferred=MochiKit.Async.doXHR(this.url,{"method":"POST","headers":{"Content-type":"application/x-www-form-urlencoded"},"sendContent":send_content});this.deferred.addCallback(MochiKit.Base.bind(function(req){this.req=req;},this.deferred));this.deferred.addCallback(MochiKit.Base.bind(function(){var func=MochiKit.Base.bind(this.on_success,this);func.apply(null,[this.deferred.req]);},this));this.deferred.addCallback(this.after_success);this.deferred.addCallback(MochiKit.Base.bind(this.remove_indicator,this));this.deferred.addCallback(MochiKit.Base.partial(function(should_block){Basis.ajax_scaffold.blocked=should_block?false:Basis.ajax_scaffold.blocked;},this.should_block));Basis.ajax_scaffold.blocked=this.should_block?true:Basis.ajax_scaffold.blocked;return this.deferred;}else{if(!this.url){MochiKit.Logging.log("ERROR: this.url is null!");}
if(!this.sid){MochiKit.Logging.log("ERROR: this.sid is null!");}}
return false;},remove_indicator:function(){var obj=MochiKit.DOM.getElement("ajax_scaffold_indicator");if(obj){MochiKit.DOM.removeElement(obj);}
MochiKit.Signal.disconnect(this.draw_indicator);}};Basis.bnode_tree=function(){this.__init__();};Basis.bnode_tree.instances=[];Basis.bnode_tree.prototype={__init__:function(){var node_index=Basis.bnode.instances.length;this.nodes=new Array();this.nodes[node_index]=new Basis.bnode;this.top_node_index=node_index;this.index=Basis.bnode_tree.instances.length;Basis.bnode_tree.instances[this.index]=this;this.nodes[node_index].top=this.index;},node:function(id){if(id||(id==0)){return this.nodes[id];}else{return false;}},parse_func:function(){},top_node:function(){if(this.nodes[this.top_node_index]){return this.nodes[this.top_node_index];}
return false;}}
Basis.bnode=function(){this.__init__();};Basis.bnode.instances=[];Basis.bnode.prototype={__init__:function(){this.is_node=true;this.top=null;this.parent=null;this.children=new Array();this.index=Basis.bnode.instances.length;Basis.bnode.instances[this.index]=this;},add_node:function(){if(this.children){var top_node_index=Basis.bnode.instances.length;var node=new Basis.bnode();var node_index=this.children.length;if(this.parent){node.top=this.node(this.parent).top;}else{node.top=this.top;}
this.nodes()[top_node_index]=node;this.node(top_node_index).parent=this.index;this.children[this.children.length]=top_node_index;return top_node_index;}
return false;},delete_node:function(){this.delete_node_plus_children();},delete_node_plus_children:function(){if(this.children){for(var i in this.children){if(this.node(this.children[i])){this.node(this.children[i]).delete_node_plus_children();}}}
if(delete this.nodes()[this.index]){return true;}else{return false;}},has_children:function(){if(this.children.length>0){return true;}
return false},node:function(id){if((id||(id==0))&&this.nodes()[id]){return this.nodes()[id];}else{return false;}},nodes:function(){return this.tree().nodes;},nodes_after:function(){if(this.node(this.parent)){var found_node=false;var any_after=false;for(var i in this.node(this.parent).children){var tnode=this.node(this.node(this.parent).children[i]);if(tnode){if(found_node){any_after=true;}
if(tnode.index==this.index){found_node=true;}}}
return(found_node&&any_after);}
return false;},nodes_before:function(){if(this.node(this.parent)){var found_node=false;var any_before=false;for(var i in this.node(this.parent).children){var tnode=this.node(this.node(this.parent).children[i]);if(tnode){if(!found_node&&!(tnode.index==this.index)){any_before=true;}
if(tnode.index==this.index){found_node=true;}}}
return(found_node&&any_before);}
return false;},parse:function(){var tfunc=MochiKit.Base.bind(this.tree().parse_func,this);tfunc();if(this.children.length>0){for(var i in this.children){if(this.node(this.children[i])){this.node(this.children[i]).parse();}}}},tree:function(){return Basis.bnode_tree.instances[this.top];}}
Basis.color_chooser=function(options){this.__init__(options);};Basis.color_chooser.prototype={__init__:function(options){this.color=null;this.on_change=function(){};this.hue=0.0;this.saturation=0.0;this.brightness=0.0;this.update_color();this.image_root="http://www.sitequarters.com/images/images/";this.sb_dimensions={"w":256,"h":256};this.sb_container="color_chooser_sb_container";this.sb_overlay="color_chooser_sb_overlay";this.sb_overlay_image=this.image_root+"color_chooser_overlay.png";this.sb_drag="color_chooser_sb_drag";this.sb_drag_image=this.image_root+"color_chooser_slide.gif";this.sb_drag_dimensions={"w":9,"h":9};this.h_container="color_chooser_h_container";this.h_container_image=this.image_root+"color_chooser_hue.png";this.h_drag="color_chooser_h_drag";this.h_dimensions={"w":19,"h":256};this.h_drag_image=this.image_root+"color_chooser_hue_slide.gif";this.h_drag_dimensions={"w":30,"h":9};this.spacer_image=this.image_root+"spacer.gif";this.show_sb=true;this.show_h=true;this.elements={};},attach_events:function(){var sb_mousedown=MochiKit.Base.bind(function(e){this.elements["sb_container"].mousedown=true;var pos=MochiKit.Style.getElementPosition(this.elements["sb_container"]);var dim=MochiKit.Style.getElementDimensions(this.elements["sb_container"]);var hdim=MochiKit.Style.getElementDimensions(this.elements["sb_drag"]);var pos_in_image={"x":(e.mouse().page.x-pos.x),"y":(e.mouse().page.y-pos.y)};this.saturation=(pos_in_image.x/dim.w);this.brightness=1-(pos_in_image.y/dim.h);this.update_hsb();this.position_sb_handle();},this);MochiKit.Signal.connect(this.elements["sb_container"],"onmousedown",sb_mousedown);MochiKit.Signal.connect(this.elements["sb_drag"],"onmousedown",sb_mousedown);MochiKit.Signal.connect(document,"onmouseup",MochiKit.Base.bind(function(){this.mousedown=false;},this.elements["sb_container"]));MochiKit.Signal.connect(document,"onmousemove",MochiKit.Base.bind(function(e){if(this.elements["sb_container"].mousedown){var pos=MochiKit.Style.getElementPosition(this.elements["sb_container"]);var dim=MochiKit.Style.getElementDimensions(this.elements["sb_container"]);var pos_in_image={"x":(e.mouse().page.x-pos.x),"y":(e.mouse().page.y-pos.y)};this.saturation=(pos_in_image.x/dim.w);this.brightness=1-(pos_in_image.y/dim.h);this.update_hsb();this.position_sb_handle();this.update_color();}},this));var h_mousedown=MochiKit.Base.bind(function(e){this.elements["h_container"].mousedown=true;var pos=MochiKit.Style.getElementPosition(this.elements["h_container"]);var dim=MochiKit.Style.getElementDimensions(this.elements["h_container"]);var pos_in_image={"x":(e.mouse().page.x-pos.x),"y":(e.mouse().page.y-pos.y)};this.hue=1-(pos_in_image.y/dim.h);this.update_sb_hue();this.position_h_handle();},this);MochiKit.Signal.connect(this.elements["h_container"],"onmousedown",h_mousedown);MochiKit.Signal.connect(this.elements["h_drag"],"onmousedown",h_mousedown);MochiKit.Signal.connect(document,"onmouseup",MochiKit.Base.bind(function(){this.mousedown=false;},this.elements["h_container"]));MochiKit.Signal.connect(document,"onmousemove",MochiKit.Base.bind(function(e){if(this.elements["h_container"].mousedown){var pos=MochiKit.Style.getElementPosition(this.elements["h_container"]);var dim=MochiKit.Style.getElementDimensions(this.elements["h_container"]);var hdim=MochiKit.Style.getElementDimensions(this.elements["h_drag"]);var pos_in_image={"x":(e.mouse().page.x-pos.x),"y":(e.mouse().page.y-pos.y)};this.hue=1-(pos_in_image.y/dim.h);this.update_sb_hue();this.position_h_handle();this.update_color();}},this));},color_hex:function(){return this.color.toHexString().toUpperCase();},compile:function(){this.create_elements();this.attach_events();this.update_handles();this.on_change();},create_elements:function(){this.elements["sb_container"]=new MochiKit.DOM.DIV({"id":this.sb_container,"style":"width: "+this.sb_dimensions.w+"px; height: "+this.sb_dimensions.h+"px; background-color: "+this.max_color_hex()+";"},null);this.elements["sb_overlay"]=new MochiKit.DOM.DIV({"id":this.sb_overlay,"style":"width: "+this.sb_dimensions.w+"px; height: "+this.sb_dimensions.h+"px; background-image: url("+this.sb_overlay_image+"); filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.sb_overlay_image+"');"},null);this.elements["sb_drag"]=new MochiKit.DOM.DIV({"id":this.sb_drag,"style":"width: "+this.sb_drag_dimensions.w+"px; height: "+this.sb_drag_dimensions.h+"px; background-image: url("+this.sb_drag_image+"); position: absolute;"},null);this.elements["h_container"]=new MochiKit.DOM.DIV({"id":this.h_container,"style":"width: "+this.h_dimensions.w+"px; height: "+this.h_dimensions.h+"px; background-image: url("+this.h_container_image+");"},null);this.elements["h_drag"]=new MochiKit.DOM.DIV({"id":this.h_drag,"style":"width: "+this.h_drag_dimensions.w+"px; height: "+this.h_drag_dimensions.h+"px; background-image: url("+this.h_drag_image+"); position: absolute;"},null);this.elements["sb_drag"].innerHTML='<img src="'+this.spacer_image+'">';this.elements["h_drag"].innerHTML='<img src="'+this.spacer_image+'">';var html='<table><tr><td id="color_chooser_sb"></td><td id="color_chooser_h"></td></tr></table>';this.elements["container"]=new DIV({"style":"display: none;","class":"no_select"});document.body.appendChild(this.elements["container"]);this.elements["container"].innerHTML=html;var obj=MochiKit.DOM.getElement("color_chooser_sb");if(obj&&this.show_sb){obj.appendChild(this.elements["sb_container"]);this.elements["sb_container"].appendChild(this.elements["sb_overlay"]);obj.appendChild(this.elements["sb_drag"]);}
var obj=MochiKit.DOM.getElement("color_chooser_h");if(obj&&this.show_h){obj.appendChild(this.elements["h_container"]);obj.appendChild(this.elements["h_drag"]);}
this.update_handles();},max_color_hex:function(){return MochiKit.Color.Color.fromHSV(this.hue,1.0,1.0).toHexString();},position_h_handle:function(){var obj=this.elements["h_container"];var handle=this.elements["h_drag"];if(obj&&handle){var dim=MochiKit.Style.getElementDimensions(obj);var hdim=MochiKit.Style.getElementDimensions(handle);var offset_y=((1-this.hue)*dim.h)-(hdim.h/2);Basis.set_element_position(handle,{"x":0,"y":parseInt(offset_y),"mode":"relative","relative_to":obj});return true;}
return false;},position_sb_handle:function(){var obj=this.elements["sb_container"];var handle=this.elements["sb_drag"];if(obj&&handle){var dim=MochiKit.Style.getElementDimensions(obj);var hdim=MochiKit.Style.getElementDimensions(handle);var offset_x=(this.saturation*dim.w)-(hdim.w/2);var offset_y=((1-this.brightness)*dim.h)-(hdim.h/2);Basis.set_element_position(handle,{"x":parseInt(offset_x),"y":parseInt(offset_y),"mode":"relative","relative_to":obj});return true;}
return false;},set_color_from_hex:function(hex){if(hex){var color=MochiKit.Color.Color.fromHexString(hex);if(color.toHexString().indexOf("NaN")>-1){color=MochiKit.Color.Color.fromHexString("#000000");}
var hsv=color.asHSV();this.hue=hsv.h;this.saturation=hsv.s;this.brightness=hsv.v;this.update_sb_hue();this.update_handles();}},update_color:function(){this.color=MochiKit.Color.Color.fromHSV(this.hue,this.saturation,this.brightness);this.on_change();},update_handles:function(){this.position_sb_handle();this.position_h_handle();},update_hsb:function(){if(this.hue>1){this.hue=1.0;}
if(this.hue<0){this.hue=0.0;}
if(this.saturation>1){this.saturation=1.0;}
if(this.saturation<0){this.saturation=0.0;}
if(this.brightness>1){this.brightness=1.0;}
if(this.brightness<0){this.brightness=0.0;}
this.update_color();},update_sb_hue:function(){this.update_hsb();var obj=this.elements["sb_container"];if(obj){obj.style.backgroundColor=this.max_color_hex();}}};Basis.dynamic_select_list=function(){this.__init__();};Basis.dynamic_select_list.instances=[];Basis.dynamic_select_list.prototype={__init__:function(){this.list=null;this.list_id=null;this.table_name="basis_dynamic_list_item";this.alias=null;this.parent_id=null;this.sid=null;this.post_url=null;this.prompt_action=true;this.on_change=function(){};this.index=Basis.dynamic_select_list.instances.length;Basis.dynamic_select_list.instances[this.index]=this;},compile:function(){this.list=MochiKit.DOM.getElement(this.list_id);this.attach_events();},add_item:function(){var text=MochiKit.DOM.getElement(this.list_id.replace("dlist","dlist_text"));if(this.list&&this.list.id&&text.value){window.status="Adding item to list...";if(this.prompt_action){if(!confirm("Are you sure you want to add '"+text.value+"' to the list?")){return;}}
Basis.select_add_option(this.list,null,text.value);text.value="";text.focus();this.update_database();}},attach_events:function(){if(this.list&&this.list.id){var obj=MochiKit.DOM.getElement(this.list.id.replace("dlist","dlist_add_button"));if(obj){MochiKit.Signal.connect(obj,"onclick",this,function(){this.add_item();});}
var obj=MochiKit.DOM.getElement(this.list.id.replace("dlist","dlist_rename_button"));if(obj){MochiKit.Signal.connect(obj,"onclick",this,function(){this.rename_item();});}
var obj=MochiKit.DOM.getElement(this.list.id.replace("dlist","dlist_delete_button"));if(obj){MochiKit.Signal.connect(obj,"onclick",this,function(){this.delete_item();});}}},delete_item:function(){var selected=Basis.select_selected_indexes(this.list);if(this.list&&this.list.id&&(Basis.array_length(selected)>0)){if(this.prompt_action){if(Basis.array_length(selected)==1){var index=selected[0]["index"];if(this.prompt_action){if(!confirm("Are you sure you want to delete '"+this.list.options[index].text+"' from the list?")){return;}}
window.status="Deleting item from list...";MochiKit.DOM.removeElement(this.list.options[index]);this.update_database();}else{if(this.prompt_action){if(!confirm("Are you sure you want to delete the "+Basis.array_length(selected)+" selected items from the list?")){return;}}
for(var i=0;i<Basis.array_length(selected);i++){Basis.select_delete_item_by_value(this.list.id,selected[i]["value"]);}
this.update_database();}}}else if(Basis.array_length(selected)==0){alert("Please select an item to delete, then click this button again.");}},manage_form:function(alias,parent_id,field,window_title){if(alias&&parent_id&&field){window.status="Fetching '"+field+"' form...";var to_post=new Object();to_post.alias=alias;to_post.field=field;to_post.parent_id=parent_id;var as=new Basis.ajax_scaffold;as.alias="Basis.dynamic_select_list.manage_form";as.sid=this.sid;as.url=this.post_url;as.pvar=this;as.field=field;as.window_title=window_title;as.on_success=function(req){var response=MochiKit.Base.evalJSON(decodeBase64(req.responseText));if(response["text"]=="true"){if(this.window_title){var window_title=this.window_title;}else{var window_title="Manage "+(this.field.substring(0,1).toUpperCase()+this.field.substring(1,this.field.length));}
this.popup=Basis.popup({"id":"manage_"+this.field+"_form","html":response["html"],"window_title":window_title});window.status="Done";}else{window.status="manage_form(): ERROR!";}};return as.post({"to_post":to_post});}},rename_item:function(){var text=MochiKit.DOM.getElement(this.list_id.replace("dlist","dlist_text"));var selected=Basis.select_selected_indexes(this.list);if(this.list&&this.list.id&&text.value&&(Basis.array_length(selected)>0)){var index=selected[0]["index"];if(this.prompt_action){if(!confirm("Are you sure you want to rename '"+this.list.options[index].text+"' to '"+text.value+"'?")){return;}}
window.status="Renaming item in list...";this.list.options[index].text=text.value;text.value="";text.focus();this.update_database();}else if(this.list&&this.list.id&&!text.value&&(Basis.array_length(selected)>0)){if(Basis.array_length(selected)>1){alert("You can only rename one item at a time; please select a single item and click this button again.");}else{var index=selected[0].index;if(this.list.options[index]){alert("Please type what you would like to rename '"+this.list.options[index].text+"' to in the text box on the left, then click this button again.");}}}else if(Basis.array_length(selected)==0){alert("Please select an item to rename, then type what you want to rename it to in the text box on the left, then click this button again.");}},update_database:function(){if(this.list&&this.list.id&&this.post_url){Basis.select_select_none(this.list);list=new Object();list["options"]=new Object();list["parent_id"]=this.parent_id;list["list_id"]=this.list.id;for(var x=0;x<this.list.options.length;x++){list["options"][x]=new Object();list["options"][x]["value"]=this.list.options[x].value;list["options"][x]["text"]=this.list.options[x].text;}
var to_post=new Object();to_post.list=list;to_post.alias=this.alias;var as=new Basis.ajax_scaffold;as.alias="Basis.dynamic_select_list.update_database";as.sid=this.sid;as.url=this.post_url;as.pvar=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(decodeBase64(req.responseText));if(response["text"]=="true"){if(response["output"]){eval(response["output"]);}
Basis.select_sort(this.pvar.list.id);this.pvar.on_change();window.status="Done";}else{window.status="update_database(): ERROR!";}};as.post({"to_post":to_post});}}};Basis.interactive_signal_handler=function(){this.__init__();};Basis.interactive_signal_handler.prototype={__init__:function(){this.interactive_elements={};this.anonymous_element_lookup={};this.elements_pending_commit=[];this.proxy_events=["onabort","onblur","onclick","ondblclick","onerror","onfocus","onkeydown","onkeypress","onkeyup","onload","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onreset","onresize","onselect","onsubmit","onunload"];this.greedy_events=["onclick","ondblclick","onkeydown","onkeypress","onkeyup","onmousedown","onmousemove","onmouseup"];for(var i=0;i<this.proxy_events.length;i++){var event=this.proxy_events[i];var connecting_to=(BrowserDetect&&(BrowserDetect.browser!="Explorer"))?window:document;MochiKit.Signal.connect(connecting_to,event,MochiKit.Base.bind(MochiKit.Base.partial(function(event,e){var type=e.type();type=(type.substring(0,2)=="on")?type.substring(2):type;switch(type){case"mouseover":type="on"+(MochiKit.Signal._browserAlreadyHasMouseEnterAndLeave()&&Basis.is_mouse_leave_or_enter(e.event(),e.target())?"mouseenter":"mouseover");break;case"mouseout":type="on"+(MochiKit.Signal._browserAlreadyHasMouseEnterAndLeave()&&Basis.is_mouse_leave_or_enter(e.event(),e.target())?"mouseleave":"mouseout");break;default:type="on"+e.type();break;}
switch(type){case"onmouseenter":var list=[];var parent=e.target();while(parent&&(parent!=document.body)&&(parent!=e.relatedTarget())&&(!MochiKit.DOM.isChildNode(e.relatedTarget(),parent))){list.push(parent);parent=parent.parentNode;}
for(var i=(list.length-1);i>=0;i--){this.execute_interactive_element(list[i],type);}
break;case"onmouseleave":var parent=e.target();while(parent&&(parent!=document.body)&&(parent!=e.relatedTarget())&&(!MochiKit.DOM.isChildNode(e.relatedTarget(),parent))){this.execute_interactive_element(parent,type);parent=parent.parentNode;}
break;default:this.execute_interactive_element(e.target(),type);if(Basis.array_search(this.greedy_events,type)!=null){var has_swallowed=this.interactive_element_has_swallowed(e.target(),type);var parent=e.target().parentNode;while(parent&&document.body&&(parent!=document.body.parentNode)&&!has_swallowed){this.execute_interactive_element(parent,type,true);has_swallowed=this.interactive_element_has_swallowed(parent,type);parent=parent.parentNode;}}
break;}},event),this));}},commit_pending_elements:function(){var list=this.elements_pending_commit;for(var i=0;i<list.length;i++){if((list[i]!=null)&&this.interactive_elements[list[i]]){this.interactive_elements[list[i]].committed=true;}}
this.elements_pending_commit=[];this.purge_orphaned_signals();},connect:function(element,event,func,commit){var commit=(commit!=null)?commit:true;var element=Basis.get_element(element);if(element&&event&&Basis.is_function(func)){element.id=element.id?element.id:Basis.anonymous_element_id();var is_greedy=(event.split(".")[0]&&(event.split(".")[1]=="greedy"))?true:false;var will_swallow=(event.split(".")[0]&&(event.split(".")[2]=="swallow"))?true:false;if(is_greedy){func.is_greedy=true;event=event.split(".")[0];}
if(will_swallow){func.will_swallow=true;}
var index=this.get_element_index(element);if(index!=null){this.interactive_elements[index][event]=this.interactive_elements[index][event]?this.interactive_elements[index][event]:[];this.interactive_elements[index][event].push(func);this.interactive_elements[index].committed=commit?true:false;if(!commit){this.elements_pending_commit.push(index);}
if((event=="onchange")&&(!element.onchange_overwritten)){element.onchange=MochiKit.Base.partial(function(old_func,element,signal_handler){if(Basis.is_function(old_func)){old_func();}
signal_handler.execute_interactive_element(element,"onchange");},(element.onchange?element.onchange:function(){}),element,this);element.onchange_overwritten=true;}
return{"element":index,"event":event,"index":(this.interactive_elements[index][event].length-1)};}}else if(element&&Basis.array_length(event)&&(func==null)){var signals=[];for(var i in event){if(!Basis.is_function(event[i])&&MochiKit.Base.isArrayLike(event[i])){for(var j=0;j<event[i].length;j++){signals.push(this.connect(element,i,event[i][j],commit));}}}
return signals;}},disconnect:function(pointer){if(pointer){var list=this.interactive_elements;if(!list[pointer["element"]]){return false;}
if(!list[pointer["element"]][pointer["event"]]){return false;}
if(!list[pointer["element"]][pointer["event"]][pointer["index"]]){return false;}
this.interactive_elements[pointer["element"]][pointer["event"]][pointer["index"]]=function(){};return true;}},execute_interactive_element:function(element,event,greedy_events_only){var greedy_events_only=(greedy_events_only!=null)?greedy_events_only:false;if(element&&event){var index=this.get_element_index(element,false);var events=this.interactive_elements[index];if(events&&events[event]&&MochiKit.Base.isArrayLike(events[event])){events[event].swallowed=false;for(var i=0;i<events[event].length;i++){if(Basis.is_function(events[event][i])&&(!greedy_events_only||(greedy_events_only&&events[event][i].is_greedy))&&!events[event].swallowed){events[event][i]();if(events[event][i].will_swallow){events[event].swallowed=true;}}}}}},get_element_index:function(element,set_up_if_nonexistent){var set_up_if_nonexistent=(set_up_if_nonexistent!==null)?set_up_if_nonexistent:true;var index=null;var element=Basis.get_element(element);if(element){if(element.id){this.interactive_elements[element.id]=this.interactive_elements[element.id]?this.interactive_elements[element.id]:{};return element.id;}else{var exists=false;for(var i in this.anonymous_element_lookup){if(Basis.is_element(this.anonymous_element_lookup[i])&&(this.anonymous_element_lookup[i]===element)){exists=true;index=i;break;}}
if(!exists&&set_up_if_nonexistent){var keys=Basis.keys(this.anonymous_element_lookup);for(var i=0;i<keys.length;i++){keys[i]=Basis.parse_number(keys[i]);}
index=Basis.parse_number(MochiKit.Base.listMax(keys))+1;this.interactive_elements[index]={};this.anonymous_element_lookup[index]=element;}}}
return index;},interactive_element_has_swallowed:function(element,event){if(element&&event){var index=this.get_element_index(element,false);var events=this.interactive_elements[index];if(events&&events[event]&&MochiKit.Base.isArrayLike(events[event])){return events[event].swallowed;}}
return false;},purge_orphaned_signals:function(){var keys=Basis.keys(this.anonymous_element_lookup);for(var i=0;i<keys.length;i++){if(!MochiKit.DOM.isChildNode(this.anonymous_element_lookup[keys[i]],document.body)){if(this.interactive_elements[keys[i]]&&(this.interactive_elements[keys[i]].committed==true)){this.unregister_interactive_element(keys[i]);}}}
for(var i in this.interactive_elements){if(!MochiKit.DOM.getElement(i)&&!this.anonymous_element_lookup[i]){if(this.interactive_elements[i]&&(this.interactive_elements[i].committed==true)){this.unregister_interactive_element(i);}}}},unregister_interactive_element:function(pointer){if(pointer&&this.interactive_elements[pointer]){delete this.interactive_elements[pointer];if(this.anonymous_element_lookup[pointer]){delete this.anonymous_element_lookup[pointer];}
return true;}
return false;}};Basis.signal_handler=new Basis.interactive_signal_handler();;Basis.keep_alive=function(options){this.__init__(options);};Basis.keep_alive.prototype={__init__:function(options){this.sid=options["sid"]?options["sid"]:null;this.url=options["url"]?options["url"]:null;this.duration=options["duration"]?options["duration"]:null;this.propagate=(options["propagate"]!=null)?options["propagate"]:true;this.compile();},compile:function(){if(this.sid&&this.url&&this.duration){Basis.misc_vars["keepalive_timeout"]=MochiKit.Async.callLater(this.duration,MochiKit.Base.bind(function(){this.send_active_status();},this));}},send_active_status:function(){if(this.sid&&this.url){var as=new Basis.ajax_scaffold;as.alias="Basis.active_status";as.sid=this.sid;as.url=this.url;as.pvar=this;as.on_success=function(){if(this.pvar.propagate){this.pvar.compile();}};as.post();}}};Basis.interactive_key_handler=function(){this.__init__();};Basis.interactive_key_handler.prototype={__init__:function(){Basis.key_state=[];this.key_events={"up":{},"down":{}};MochiKit.Signal.connect(document,"onkeydown",MochiKit.Base.bind(function(e){Basis.key_state[e.key().string]="down";this.execute_key_events(e.key().string);},this));MochiKit.Signal.connect(document,"onkeyup",MochiKit.Base.bind(function(e){Basis.key_state[e.key().string]="up";this.execute_key_events(e.key().string);},this));},execute_key_events:function(key_string){var up_or_down=this.key_state(key_string);switch(up_or_down){case"up":case"down":var events=this.key_events[up_or_down][key_string];events=MochiKit.Base.isArrayLike(events)?events:[];for(var i=0;i<events.length;i++){if(Basis.is_function(events[i])){events[i]();}}
break;}},key_state:function(key_string){return((Basis.key_state[key_string]==null)||(Basis.key_state[key_string]=="up"))?"up":"down";},register_key_event:function(key_string,up_or_down,func){this.key_events[up_or_down][key_string]=MochiKit.Base.isArrayLike(this.key_events[up_or_down][key_string])?this.key_events[up_or_down][key_string]:[];this.key_events[up_or_down][key_string].push(func);return{"key_state":up_or_down,"key_string":key_string,"index":(this.key_events[up_or_down][key_string].length-1)};},set_key_state:function(key_string,state){Basis.key_state[key_string]=((state=="up")?"up":"down");},unregister_key_event:function(pointer){if(pointer){delete this.key_events[pointer["key_state"]][pointer["key_string"]][pointer["index"]];return true;}
return false;}}
Basis.key_handler=new Basis.interactive_key_handler();;Basis.menu=function(){this.__init__();};Basis.menu.instances=[];Basis.menu.prototype={__init__:function(){this.parent_element;this.current_node;this.parent_container_tag="UL";this.child_tag="LI";this.orientation="vertical";this.offset={"x":0,"y":0};this.first_level_offset={"x":0,"y":0};this.tree=new Basis.bnode_tree();},compile:function(){var temp_options={"offset":this.offset,"first_level_offset":this.first_level_offset,"child_tag":this.child_tag,"parent_container_tag":this.parent_container_tag,"orientation":this.orientation};this.__init__();for(var i in temp_options){if(i&&this[i]){this[i]=temp_options[i];}}
var parent_element=MochiKit.DOM.getElement(this.parent_element);if(parent_element){this.current_node=this.tree.top_node();this.parse_children(this.get_child_container(parent_element));}
this.hide_child_containers_and_attach_events();},find_node_with_id:function(id){if(id){for(var i in this.tree.nodes){if(i&&this.tree.nodes[i]&&this.tree.nodes[i].options&&this.tree.nodes[i].options.id&&(this.tree.nodes[i].options.id==id)){return this.tree.node(this.tree.nodes[i].index);}}}
return false;},get_all_nodes:function(){var nodes=[];for(var i in this.tree.nodes){if(i&&this.tree.nodes[i]&&this.tree.nodes[i].is_node){nodes[nodes.length]=this.tree.nodes[i].index;}}
return nodes;},get_all_nodes_with_children:function(){var nodes=[];for(var i in this.tree.nodes){if(i&&this.tree.nodes[i]&&this.tree.nodes[i].is_node&&(this.tree.nodes[i].children.length>0)){nodes[nodes.length]=this.tree.nodes[i].index;}}
return nodes;},get_child_container:function(element){var element=MochiKit.DOM.getElement(element);if(element){var parent_container=Basis.get_child_elements_by_tag(element,this.parent_container_tag);if(parent_container&&(parent_container.length>0)){return parent_container[0];}}
return false;},get_all_submenu_parent_elements:function(){var elements=[];var submenus=this.get_all_submenu_container_elements();for(var i in submenus){var submenu=MochiKit.DOM.getElement(submenus[i]);if(submenu&&submenu.parentNode){elements[elements.length]=submenu.parentNode;}}
return elements;},get_top_level_menu_elements:function(){var elements=[];var parents=this.tree.top_node().children;if(parents.length>0){for(var i in parents){if(i&&parents[i]&&this.tree.node(parents[i])&&this.tree.node(parents[i]).is_node&&this.tree.node(parents[i]).options&&this.tree.node(parents[i]).options["id"]){var obj=MochiKit.DOM.getElement(this.tree.node(parents[i]).options["id"]);if(obj){elements[elements.length]=obj;}}}}
return elements;},get_all_submenu_container_elements:function(){var elements=[];var parents=this.get_all_nodes();if(parents.length>0){for(var i in parents){if(i&&parents[i]&&this.tree.node(parents[i])&&this.tree.node(parents[i]).is_node&&this.tree.node(parents[i]).options&&this.tree.node(parents[i]).options["id"]){var obj=MochiKit.DOM.getElement(this.tree.node(parents[i]).options["id"]);if(obj){var children=MochiKit.DOM.getElementsByTagAndClassName(this.parent_container_tag,null,obj);for(var x in children){if(x&&children[x]&&children[x].tagName&&(children[x].tagName.toLowerCase()==this.parent_container_tag.toLowerCase())){elements[elements.length]=children[x];}}}}}}
return elements;},hide_all_children:function(){var parents=this.get_all_nodes();if(parents.length>0){for(var i in parents){if(i&&parents[i]&&this.tree.node(parents[i])&&this.tree.node(parents[i]).is_node&&this.tree.node(parents[i]).options&&this.tree.node(parents[i]).options["id"]){var obj=MochiKit.DOM.getElement(this.tree.node(parents[i]).options["id"]);if(obj){if(this.tree.node(parents[i]).has_children()){MochiKit.Signal.signal(obj,"hide_all_children");}}}}}},hide_child_containers_and_attach_events:function(){var parents=this.get_all_nodes();if(parents.length>0){for(var i in parents){if(i&&parents[i]&&this.tree.node(parents[i])&&this.tree.node(parents[i]).is_node&&this.tree.node(parents[i]).options&&this.tree.node(parents[i]).options["id"]){var obj=MochiKit.DOM.getElement(this.tree.node(parents[i]).options["id"]);if(obj){if(this.tree.node(parents[i]).has_children()){MochiKit.Signal.connect(obj,"hide_all_children",MochiKit.Base.bind(function(parent_container_tag){var children=MochiKit.DOM.getElementsByTagAndClassName(parent_container_tag,null,this);for(var x in children){if(x&&children[x]&&children[x].tagName&&(children[x].tagName.toLowerCase()==parent_container_tag.toLowerCase())){children[x].style.display="none";MochiKit.Style.setOpacity(children[x],0.01);}}},obj,this.parent_container_tag));}
MochiKit.Signal.connect(obj,"onmouseenter",MochiKit.Base.bind(function(current_over){this.pending_hide_all_children=false;if(this.pending_hide_all_children_deferred&&this.pending_hide_all_children_deferred.cancel){this.pending_hide_all_children_deferred.cancel();}
current_over=MochiKit.DOM.getElement(current_over);var parents=this.get_all_nodes();if(parents.length>0){for(var i in parents){if(current_over&&i&&parents[i]&&this.tree.node(parents[i])&&this.tree.node(parents[i]).is_node&&this.tree.node(parents[i]).options&&this.tree.node(parents[i]).options["id"]&&(this.tree.node(parents[i]).options["id"]!=current_over.id)){var obj=MochiKit.DOM.getElement(this.tree.node(parents[i]).options["id"]);if(obj&&(!MochiKit.DOM.isChildNode(current_over,obj))){MochiKit.Signal.signal(obj,"hide_all_children");}}}}
var child=MochiKit.DOM.getElement(this.get_child_container(current_over));if(child&&(child.style.display=="none")){child.style.position="absolute";child.style.zIndex=10000;MochiKit.Style.setOpacity(child,1.0);child.style.display="";current_over.style.display="";current_over.parentNode.style.display="";var relative_to=this.relative_to(child);var child_pos=MochiKit.Style.getElementPosition(child);var child_dim=MochiKit.Style.getElementDimensions(child);var current_pos=MochiKit.Style.getElementPosition(current_over);var current_dim=MochiKit.Style.getElementDimensions(current_over);var currentpn_pos=MochiKit.Style.getElementPosition(current_over.parentNode);var currentpn_dim=MochiKit.Style.getElementDimensions(current_over.parentNode);var offset={"x":0,"y":0};var orientation=this.orientation;if(!this.is_first_level_menu_item(current_over)){orientation="vertical";}
switch(orientation){case"horizontal":offset.y=current_pos.y+current_dim.h;if(this.is_first_level_menu_item(current_over)){offset.x=current_pos.x;}else{offset.x=currentpn_pos.x;}
break;case"vertical":default:offset.y=current_pos.y;offset.x=currentpn_pos.x+currentpn_dim.w;break;}
if(relative_to&&(relative_to!=document.body)){var relative_to_pos=MochiKit.Style.getElementPosition(relative_to);offset.x-=relative_to_pos.x;offset.y-=relative_to_pos.y;}
if(this.is_first_level_menu_item(current_over)){offset.x+=this.first_level_offset.x;offset.y+=this.first_level_offset.y;}else{offset.x+=this.offset.x;offset.y+=this.offset.y;}
MochiKit.Style.setElementPosition(child,offset);var child_pos=MochiKit.Style.getElementPosition(child);var child_dim=MochiKit.Style.getElementDimensions(child);var scroll=Basis.scroll_coords();var viewport=MochiKit.Style.getViewportDimensions();if((child_pos.x+child_dim.w)>(viewport.w+scroll.x)){Basis.align_element_to_element(child,current_over.parentNode,"right_to_left",{"x":(((relative_to&&(relative_to!=document.body))?(-1*relative_to_pos.x):0)+(this.is_first_level_menu_item(current_over)?this.first_level_offset.x:this.offset.x)),"y":(((relative_to&&(relative_to!=document.body))?(-1*relative_to_pos.y):0)-(this.is_first_level_menu_item(current_over)?this.first_level_offset.y:this.offset.y))});}
child.style.display="";}},this,obj));MochiKit.Signal.signal(obj,"hide_all_children");}}}}
var obj=MochiKit.DOM.getElement(this.parent_element);if(obj){MochiKit.Signal.connect(obj,"onmouseleave",MochiKit.Base.bind(function(){this.pending_hide_all_children=true;this.pending_hide_all_children_deferred=MochiKit.Async.callLater(1,MochiKit.Base.bind(function(){if(this.pending_hide_all_children){this.hide_all_children();}},this));},this));}
var elements=this.get_all_submenu_container_elements();if(elements.length>0){for(var i in elements){var element=MochiKit.DOM.getElement(elements[i]);if(element&&Basis.is_element(element)){MochiKit.DOM.addElementClass(elements[i],"Basis.menu.submenu");elements[i].style.position="absolute";elements[i].style.zIndex=10000;}}}
var elements=this.get_all_submenu_parent_elements();if(elements.length>0){for(var i in elements){var element=MochiKit.DOM.getElement(elements[i]);if(element&&Basis.is_element(element)){MochiKit.DOM.addElementClass(element,"Basis.menu.parent_item");}}}
var elements=this.get_top_level_menu_elements();if(elements.length>0){for(var i in elements){var element=MochiKit.DOM.getElement(elements[i]);if(element&&Basis.is_element(element)){MochiKit.DOM.addElementClass(elements[i],"Basis.menu.top_level_item");switch(this.orientation){case"horizontal":MochiKit.DOM.addElementClass(elements[i],"Basis.float.left");if(elements[i].firstChild&&BrowserDetect&&BrowserDetect.browser&&(BrowserDetect.browser.indexOf("Explorer")!=-1)){MochiKit.DOM.addElementClass(elements[i].firstChild,"Basis.float.left.ie");}
break;}}}}
var elements=MochiKit.DOM.getElementsByTagAndClassName(this.parent_container_tag,null,MochiKit.DOM.getElement(this.parent_element));if(elements.length>0){var element=MochiKit.DOM.getElement(elements[0]);if(element&&Basis.is_element(element)){MochiKit.DOM.addElementClass(element,"Basis.menu.top");}}},is_first_level_menu_item:function(element){element=MochiKit.DOM.getElement(element);if(element){if(this.tree.top_node().has_children()){var parents=this.tree.top_node().children;for(var i in parents){if(i&&parents[i]&&this.tree.node(parents[i])&&this.tree.node(parents[i]).is_node&&this.tree.node(parents[i]).options&&this.tree.node(parents[i]).options["id"]){if(this.tree.node(parents[i]).options["id"]==element.id){return true;}}}}}
return false;},node_has_children:function(element){var element=MochiKit.DOM.getElement(element);if(element){var children=Basis.get_child_elements_by_tag(element,this.child_tag);if(children&&(children.length>0)){return true;}}
return false;},parse_children:function(container){var container=MochiKit.DOM.getElement(container);if(container&&this.current_node&&this.current_node.is_node){var children=Basis.get_child_elements_by_tag(container,this.child_tag);if(children&&(children.length>0)){for(var i in children){if(i&&children[i]&&children[i].id){var added=this.current_node.add_node();this.tree.node(added).options={"id":children[i].id};var parent_container=this.get_child_container(children[i].id);if(parent_container&&this.node_has_children(parent_container)){var temp_node=this.current_node.index;this.current_node=this.tree.node(added);this.parse_children(parent_container);this.current_node=this.tree.node(temp_node);}}}}}},relative_to:function(element){element=MochiKit.DOM.getElement(element);if(element&&element.parentNode){element=element.parentNode;var tag=element.tagName;while((tag&&(tag.toLowerCase!="html"))&&(element.parentNode)){if(element&&element.style&&(element.style.position=="absolute")){return element;}
element=element.parentNode;tag=element.tagName;}}
return document.body;}}
Basis.interactive_mouse_handler=function(){this.__init__();};Basis.interactive_mouse_handler.prototype={__init__:function(){Basis.mouse_state={};MochiKit.Signal.connect(document,"onmousedown",function(e){Basis.mouse_state["button_left"]=e.mouse().button.left?"down":"up";Basis.mouse_state["button_middle"]=e.mouse().button.middle?"down":"up";Basis.mouse_state["button_right"]=e.mouse().button.right?"down":"up";});MochiKit.Signal.connect(document,"onmouseup",function(){Basis.mouse_state["button_left"]="up";Basis.mouse_state["button_middle"]="up";Basis.mouse_state["button_right"]="up";});MochiKit.Signal.connect(document,"onmousemove",function(e){Basis.mouse_state["screen_x"]=e.mouse().client.x;Basis.mouse_state["screen_y"]=e.mouse().client.y;Basis.mouse_state["page_x"]=e.mouse().page.x;Basis.mouse_state["page_y"]=e.mouse().page.y;});},button_state:function(button){return((Basis.mouse_state["button_"+button]==null)||(Basis.mouse_state["button_"+button]=="up"))?"up":"down";},coords:function(type){var type=(type=="screen")?"screen":"page";return{"x":Basis.mouse_state[type+"_x"],"y":Basis.mouse_state[type+"_y"]};}}
Basis.mouse_handler=new Basis.interactive_mouse_handler();;Basis.nested_sortables=function(){this.__init__();};Basis.nested_sortables.prototype={__init__:function(options){this.ul_tag="UL";this.ul_class=null;this.li_tag="LI";this.li_class=null;this.custom_ondrop=function(element,onto){};MochiKit.Base.updatetree(this,options);},build_nested_sortables:function(element,options){if(!options){var options={};}
var element=MochiKit.DOM.getElement(element);if(element){var uls=MochiKit.DOM.getElementsByTagAndClassName(this.ul_tag,this.ul_class,element);var lis=MochiKit.DOM.getElementsByTagAndClassName(this.li_tag,this.li_class,element);for(var i in lis){if(typeof(lis[i])!="function"){this.prepare_nested_sortable_element(lis[i],options);}}
uls=update([],uls);uls.reverse();for(var i in uls){if(typeof(uls[i])!="function"){var ul=uls[i];new MochiKit.Sortable.create(ul.id,MochiKit.Base.updatetree({"constraint":false,"containment":[ul],"hoverclass":"Basis.nested_sortables.hoverclass","starteffect":MochiKit.Base.noop,"endeffect":MochiKit.Base.noop,"tag":this.li_tag},options));}}}},compile:function(element,options){if(!options){var options={};}
var element=MochiKit.DOM.getElement(element);if(element&&element.id){this.build_nested_sortables(element.id,options);this.prepare_nested_sortable_element(element.id,options);}},ondrop:function(element,onto){var drop_container=onto.nextSibling;if(drop_container&&(drop_container.tagName.toUpperCase()==this.ul_tag.toUpperCase())&&(MochiKit.DOM.hasElementClass(drop_container,this.ul_class))){if(drop_container.firstChild){drop_container.insertBefore(element,drop_container.firstChild);}else{drop_container.appendChild(element);}
var drops=MochiKit.DragAndDrop.Droppables.drops;for(var i in drops){if(drops[i]&&drops[i].element&&(MochiKit.DOM.getElement(drops[i].element)==element)){if(drops[i].options&&drops[i].options.containment&&drops[i].options._containers){drops[i].options.containment=[drop_container];drops[i].options._containers=[drop_container];if(this.custom_ondrop&&(typeof(this.custom_ondrop)=="function")){this.custom_ondrop(element,onto);}}}}}},prepare_nested_sortable_element:function(element,options){if(!options){var options={};}
options["hide_dropzones"]=(options["hide_dropzones"]!=null)?options["hide_dropzones"]:true;var element=MochiKit.DOM.getElement(element);if(element&&element.tagName){var dropzone=MochiKit.DOM.getElement((element.id+"_d"));if(!dropzone){var dropzone=new MochiKit.DOM.DIV({"id":(element.id+"_d"),"class":"dropzone"});if(options["hide_dropzones"]){MochiKit.DOM.addElementClass(dropzone,"invisible");}
element.appendChild(dropzone);}
var innerUL=MochiKit.DOM.getFirstElementByTagAndClassName(this.ul_tag,this.ul_class,element);if(innerUL){element.insertBefore(dropzone,innerUL);}else{var container=MochiKit.DOM.createDOM(this.ul_tag,{"id":(element.id?(element.id+"_c"):null),"class":this.ul_class});element.appendChild(container);}
new MochiKit.DragAndDrop.Droppable((element.id+"_d"),{"ondrop":MochiKit.Base.bind(this.ondrop,this),"hoverclass":"drop-hover"});}}};Basis.application_state_handler=function(){this.__init__();};Basis.application_state_handler.prototype={__init__:function(){this.states={};this.state_tree=[];this.current_state=null;},add_state:function(state){this.states[state]={"key_handler_pointers":[],"key_handler_functions":[],"signal_handler_pointers":[],"signal_handler_functions":[]};},clear_states:function(){var states=this.states;this.__init__();this.states=states;},enter_state:function(state,push_state_tree){var push_state_tree=(push_state_tree!=null)?push_state_tree:true;if(this.current_state&&this.states[this.current_state]){this.exit_state(this.current_state,false);}
if(this.states[state]){this.current_state=state;if(push_state_tree){this.state_tree.push(state);}
var list=this.states[state];for(var i=0;i<list["key_handler_functions"].length;i++){this.states[state]["key_handler_pointers"].push(Basis.key_handler.register_key_event(list["key_handler_functions"][i]["key_string"],list["key_handler_functions"][i]["up_or_down"],list["key_handler_functions"][i]["func"]));}
for(var i=0;i<list["signal_handler_functions"].length;i++){this.states[state]["signal_handler_pointers"].push(Basis.signal_handler.connect(list["signal_handler_functions"][i]["element"],list["signal_handler_functions"][i]["event"],list["signal_handler_functions"][i]["func"],list["signal_handler_functions"][i]["commit"]));}}else{this.current_state=null;}},exit_state:function(state,pop_state_tree){var pop_state_tree=(pop_state_tree!=null)?pop_state_tree:true;if(this.states[state]&&this.states[state]["key_handler_pointers"]){var list=this.states[state]["key_handler_pointers"];for(var i=0;i<list.length;i++){Basis.key_handler.unregister_key_event(list[i]);}
this.states[state]["key_handler_pointers"]=[];var list=this.states[state]["signal_handler_pointers"];for(var i=0;i<list.length;i++){Basis.signal_handler.disconnect(list[i]);}
this.states[state]["signal_handler_pointers"]=[];if(pop_state_tree){this.state_tree.pop();}}},register_key_handler:function(state,key_string,up_or_down,func){if(this.states[state]&&this.states[state]["key_handler_functions"]){this.states[state]["key_handler_functions"].push({"key_string":(key_string!=null)?key_string:null,"up_or_down":(up_or_down!=null)?up_or_down:null,"func":(func!=null)?func:null});}},register_signal_handler:function(state,element,event,func,commit){if(this.states[state]&&this.states[state]["signal_handler_functions"]){this.states[state]["signal_handler_functions"].push({"element":(element!=null)?element:null,"event":(event!=null)?event:null,"func":(func!=null)?func:null,"commit":(commit!=null)?commit:null});}},revert:function(){this.exit_state(this.current_state);this.enter_state(this.state_tree[this.state_tree.length-1],false);}}
Basis.state_handler=new Basis.application_state_handler();;Basis.ticker=function(){this.__init__();};Basis.ticker.prototype={__init__:function(){this.interval=1;this.ticking=false;this.deferred=null;this.tick_do=function(){};},cancel:function(){if(this.ticking){this.ticking=false;if(this.deferred&&this.deferred.cancel){this.deferred.cancel();}
this.deferred=null;}},start:function(){if(!this.ticking){this.ticking=true;this.tick();}},tick:function(){if(this.ticking){this.deferred=MochiKit.Async.callLater(this.interval,MochiKit.Base.bind(function(){if(this.ticking){this.tick_do();this.tick();}},this));}}};;Basis.z_indexes={"modal_background":4999,"edit_bar_main_menu_menu":5001,"edit_bar_main_menu_button":5002};Basis.convert_textarea_to_richtextarea=function(element){var element=Basis.get_element(element);if(Basis.is_element(element)){MochiKit.DOM.addElementClass(element,"mceEditor");element.id=element.id?element.id:Basis.anonymous_element_id();if(document.tinymce_loaded&&tinyMCE){tinyMCE.execCommand("mceAddControl",false,element.id);}}};Basis.english_timestamp=function(time,seconds_offset,return_self_updating_element){var seconds_offset=Basis.is_number(seconds_offset)?Basis._int(seconds_offset):0;var timestamp_text=partial(function(time,seconds_offset,text,return_self_updating_element){if(return_self_updating_element&&text&&time){var element=SPAN({"class":"Basis.english_timestamp"},text);element.time=time;element.seconds_offset=seconds_offset;if(Basis.signal_handler){Basis.signal_handler.connect(element,"onmouseenter",bind(function(){var now=Basis.time();var diff=(now-Basis.time(this.time));var timestamp=strftime("%b %e, %Y at %l:%M%P",Basis.time(now-diff-this.seconds_offset));this.firstChild.textContent=timestamp;},element),false);Basis.signal_handler.connect(element,"onmouseleave",bind(function(){var timestamp=Basis.english_timestamp(this.time,this.seconds_offset);this.firstChild.textContent=timestamp;},element),false);}
return element;}else{return text;}},time,seconds_offset);if(time){if(Basis.is_object(time)&&time.getYear){var time=time;}else if(Basis.is_number(time)){var time=new Date(time*1000);}}
if(time&&time.getYear){var now=Basis.time();now+=seconds_offset;var diff=(Basis.time(time)<now)?(now-Basis.time(time)):(Basis.time(time)-now);var midnight=Date(now*1000).split(" ");midnight=midnight[1]+" "+
midnight[2]+" "+
midnight[3]+" 00:00:00";var seconds_today=now-Basis.strtotime(midnight);if(diff<0){return timestamp_text("IN THE FUTURE!! (please notify an administrator)",return_self_updating_element,diff);}else if((diff>=0)&&(diff<60)){return timestamp_text((diff+" second"+((diff==1)?"":"s")+" ago"),return_self_updating_element,diff);}else if((diff>=60)&&(diff<(60*55))){var minutes=Math.round(diff/60);return timestamp_text((((minutes==1)?"A":minutes)+" minute"+((minutes==1)?"":"s")+" ago"),return_self_updating_element,diff);}else if((diff>=(60*55))&&(diff<(60*60))){return timestamp_text("About an hour ago",return_self_updating_element,diff);}else if((diff>=(60*60))&&(diff<seconds_today)){var hours=Math.round(diff/(60*60));return timestamp_text((((hours==1)?"An":hours)+" hour"+((hours==1)?"":"s")+" ago"),return_self_updating_element,diff);}else if((diff>=seconds_today)&&(diff<(seconds_today+(60*60*24)))){return timestamp_text(("Yesterday at "+strftime("%l:%M%P",Basis.time(now-diff-seconds_offset))),return_self_updating_element,diff);}else if((diff>=(seconds_today+(60*60*24)))&&(diff<(seconds_today+(60*60*24*7)))){var days=Math.round(diff/(60*60*24));return timestamp_text((days+" day"+((days==1)?"":"s")+" ago"),return_self_updating_element,diff);}else if((diff>=(seconds_today+(60*60*24*7)))&&(diff<(seconds_today+(60*60*24*14)))){return timestamp_text("Last week",return_self_updating_element,diff);}else if((diff>=(seconds_today+(60*60*24*14)))&&(diff<(seconds_today+(60*60*24*28)))){var weeks=Math.round(diff/(60*60*24*7));return timestamp_text((weeks+" week"+((weeks==1)?"":"s")+" ago"),return_self_updating_element,diff);}else if((diff>=(seconds_today+(60*60*24*28)))&&(diff<(seconds_today+(60*60*24*56)))){return timestamp_text("About a month ago",return_self_updating_element,diff);}else if((diff>=(seconds_today+(60*60*24*56)))&&(diff<(seconds_today+(60*60*24*365)))){var months=Math.round(diff/(60*60*24*30));return timestamp_text((months+" month"+((months==1)?"":"s")+" ago"),return_self_updating_element,diff);}else if((diff>=(seconds_today+(60*60*24*365)))&&(diff<(seconds_today+(60*60*24*365*2)))){return timestamp_text("Last year",return_self_updating_element,diff);}else if((diff>=(seconds_today+(60*60*24*365*2)))){var years=Math.round(diff/(60*60*24*365));return timestamp_text((years+" year"+((years==1)?"":"s")+" ago"),return_self_updating_element,diff);}}};Basis._string=function(str){return str?str:"";};Basis.make_element_fullscreen=function(element){var element=MochiKit.DOM.getElement(element);if(element){Basis.create_modal_background();var background=MochiKit.DOM.getElement("modal_background");if(background){var temp_id=element.id;var exit_fullscreen=partial(function(element,original_id){var substitute=MochiKit.DOM.getElement(original_id);if(substitute){var temp_id=element.id;element.id=substitute.id;substitute.id=temp_id;Basis.insert_after(substitute,element);Basis.remove_element(substitute);Basis.remove_element("modal_container");Basis.destroy_modal_background();MochiKit.Signal.disconnect(MochiKit.DOM.currentDocument().modal_container_recenter);MochiKit.DOM.currentDocument().modal_container_recenter=null;MochiKit.Style.resizeConstrainedElements();}},element,temp_id);Basis.remove_element("modal_container");var substitute=DIV({"id":temp_id});element.id="Basis.make_element_fullscreen.substitute";MochiKit.Style.setElementDimensions(substitute,MochiKit.Style.getElementDimensions(element));Basis.insert_after(element,substitute);var minimize=IMG({"src":"images/images/default_icons/png/arrow_in.png","style":"cursor: pointer"});var modal_container=DIV({"id":"modal_container","style":"background-color: #FFFFFF; position: absolute; z-index: 1002; top: 0px; left: 0px; padding: 10px;"},DIV({"style":"text-align: right;"},minimize),element);Basis.register_size_constraints(modal_container,"100% - 20","100% - 20",null,false);document.body.appendChild(modal_container);Basis.signal_handler.connect(minimize,"onclick",exit_fullscreen);MochiKit.Style.resizeConstrainedElements();Basis.center_element(modal_container,true);if(Basis.state_handler){if(!Basis.state_handler.states["Basis.make_element_fullscreen"]){Basis.state_handler.add_state("Basis.make_element_fullscreen");Basis.state_handler.register_key_handler("Basis.make_element_fullscreen","KEY_ESCAPE","down",exit_fullscreen);}
Basis.state_handler.enter_state("Basis.make_element_fullscreen");}
if(!MochiKit.DOM.currentDocument().modal_container_recenter){MochiKit.DOM.currentDocument().modal_container_recenter=MochiKit.Signal.connect(window,"onresize",MochiKit.Base.bind(function(){Basis.center_element("modal_container",true);},this));}}}};Basis.create_modal_background=function(opacity,color,callbacks){var opacity=(opacity!=null)?opacity:0.50;var color=(color!=null)?color:"#000000";var callbacks=Basis.is_object(callbacks)?callbacks:{};if(!MochiKit.DOM.currentDocument().modal_background_resize){MochiKit.DOM.currentDocument().modal_background_resize=MochiKit.Signal.connect(window,"onresize",MochiKit.Base.bind(partial(function(opacity,color){Basis.create_modal_background(opacity,color);},opacity,color),this));}
if(!MochiKit.DOM.currentDocument().modal_background_rescroll){MochiKit.DOM.currentDocument().modal_background_rescroll=MochiKit.Signal.connect(window,"onscroll",MochiKit.Base.bind(partial(function(opacity,color){Basis.create_modal_background(opacity,color);},opacity,color),this));}
var obj=MochiKit.DOM.getElement("modal_background");if(!obj){var element=DIV({"id":"modal_background","style":"display: none; background-color: "+color+"; position: absolute; z-index: z-index: "+Basis.z_indexes["modal_background"]+"; top: 0px; left: 0px;"});document.body.appendChild(element);MochiKit.Style.setOpacity(element,0.0);}
var obj=MochiKit.DOM.getElement("modal_background");if(obj){var screend={"w":MochiKit.Style.getElementDimensions(MochiKit.DOM.currentDocument().body).w,"h":MochiKit.Style.getViewportDimensions().h};var scroll=Basis.scroll_coords();obj.style.width=screend.w;obj.style.height=screend.h+(Basis.create_edit_bar?-30:0);MochiKit.Style.setElementPosition(obj,{"x":scroll.x,"y":scroll.y});if(MochiKit.Style.getStyle(obj,"opacity")<opacity){MochiKit.Style.setOpacity(obj,0.0);obj.style.display="";return MochiKit.Visual.appear(obj,{"duration":0.50,"to":opacity,"beforeStart":Basis.is_function(callbacks["beforeStart"])?callbacks["beforeStart"]:function(){},"beforeSetup":Basis.is_function(callbacks["beforeSetup"])?callbacks["beforeSetup"]:function(){},"beforeUpdate":Basis.is_function(callbacks["beforeUpdate"])?callbacks["beforeUpdate"]:function(){},"afterUpdate":Basis.is_function(callbacks["afterUpdate"])?callbacks["afterUpdate"]:function(){},"beforeFinish":Basis.is_function(callbacks["beforeFinish"])?callbacks["beforeFinish"]:function(){},"afterFinish":Basis.is_function(callbacks["afterFinish"])?callbacks["afterFinish"]:function(){}});}}
return(new MochiKit.Async.Deferred());};Basis.destroy_modal_background=function(fade,callbacks){var fade=(fade===false)?false:true;var callbacks=Basis.is_object(callbacks)?callbacks:{};var obj=MochiKit.DOM.getElement("modal_background");if(obj){var after_finish=partial(function(obj){MochiKit.Signal.disconnect(MochiKit.DOM.currentDocument().modal_background_resize);MochiKit.Signal.disconnect(MochiKit.DOM.currentDocument().modal_background_rescroll);MochiKit.DOM.currentDocument().modal_background_resize=null;Basis.remove_element(obj);},obj);if(fade){MochiKit.Visual.fade(obj,{"duration":0.5,"from":0.5,"beforeStart":Basis.is_function(callbacks["beforeStart"])?callbacks["beforeStart"]:function(){},"beforeSetup":Basis.is_function(callbacks["beforeSetup"])?callbacks["beforeSetup"]:function(){},"beforeUpdate":Basis.is_function(callbacks["beforeUpdate"])?callbacks["beforeUpdate"]:function(){},"afterUpdate":Basis.is_function(callbacks["afterUpdate"])?callbacks["afterUpdate"]:function(){},"beforeFinish":Basis.is_function(callbacks["beforeFinish"])?callbacks["beforeFinish"]:function(){},"afterFinish":after_finish});}else{after_finish();}}};Basis.create_edit_bar_alert_box=function(content,color,width,height,is_html){var content=content?content:Basis.nbsp();var color=(color=="white")?"white":"dark_gray";var width=Basis.is_number(width)?Basis.filter_number(width):75;var height=Basis.is_number(height)?Basis.filter_number(height):30;var content_td=TD({"height":height,"width":width,"style":"background-color: "+((color=="dark_gray")?"#595959":"#FFFFFF")+"; padding: 5px; font-family: verdana; font-size: 9pt; color: "+((color=="dark_gray")?"#FFFFFF":"#595959")+"; font-weight: bold; vertical-align: middle;"},content);if(is_html){content_td.innerHTML=content;}
var table=TABLE({"width":width+4,"height":height+8,"style":("height: "+(height+8)+"px; width: "+(width+4)+"px;"),"border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,content_td,TD(null,TABLE({"border":"0","cellpadding":"0","cellspacing":"0","width":"100%","height":"100%"},TBODY(null,TR(null,TD({"height":"7","width":"4","style":"vertical-align: bottom;"},IMG({"src":"images/images/alert_box/right_top.png"}))),TR(null,TD({"style":"background-image: url(images/images/alert_box/right_vertical.png); background-repeat: repeat-y;"},IMG({"src":"images/images/spacer.gif"}))))))),TR(null,TD(null,TABLE({"border":"0","cellpadding":"0","cellspacing":"0","width":"100%"},TBODY(null,TR(null,TD({"height":"8","width":"6","style":"vertical-align: top;"},IMG({"src":"images/images/alert_box/bottom_left.png"})),TD({"height":"8","width":"6","style":"vertical-align: top;"},IMG({"src":"images/images/alert_box/bottom_pointer."+color+".png"})),TD({"style":"background-image: url(images/images/alert_box/bottom_horizontal.png); background-repeat: repeat-x;"},IMG({"src":"images/images/spacer.gif"})))))),TD({"width":"4","height":"8","style":"vertical-align: top;"},IMG({"src":"images/images/alert_box/bottom_right.png"})))));return table;};Basis.create_edit_bar=function(){if(Basis.edit_bar_created){return;}
var create_edit_bar_tooltip=function(element,content,width,height){Basis.signal_handler.connect(element,"onmouseenter",bind(partial(function(width,height){if(Basis.misc_vars.edit_bar_alert_box){Basis.remove_element(Basis.misc_vars.edit_bar_alert_box);}
Basis.misc_vars.edit_bar_alert_box=Basis.create_edit_bar_alert_box(content,(MochiKit.DOM.getElement("modal_background")?"white":"dark_gray"),width,height);Basis.align_element_to_element(Basis.misc_vars.edit_bar_alert_box,this,"left_to_left",{"x":4});Basis.misc_vars.edit_bar_alert_box.style.top=null;Basis.misc_vars.edit_bar_alert_box.style.position="fixed";Basis.misc_vars.edit_bar_alert_box.style.bottom=(getViewportDimensions().h+Basis.scroll_coords().y-getElementPosition(this).y+5)
document.body.appendChild(Basis.misc_vars.edit_bar_alert_box);},width,height),element),false);Basis.signal_handler.connect(element,"onmouseleave",function(){if(Basis.misc_vars.edit_bar_alert_box){Basis.remove_element(Basis.misc_vars.edit_bar_alert_box);}},false);};var get=Basis.get_GET();var mode=(get["edit_page"]=="true")?"edit_page":"default";var list=[];switch(mode){case"default":var edit_page_button=INPUT({"type":"button","value":"Edit This Page","class":"gfx_but_default","style":"background-image: url(images/images/page.gif); background-color: transparent;"});edit_page_button.onclick=function(){window.location.href=Basis.preserve_url({"keys_add":{"edit_page":"true"}});};create_edit_bar_tooltip(edit_page_button,"Click here to make changes to this page.",285);list.push(edit_page_button);break;case"edit_page":var edit_page_button=INPUT({"type":"button","value":"Go Back","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/png/arrow_turn_left.png); background-color: transparent;"});edit_page_button.onclick=function(){window.location.href=Basis.preserve_url({"keys_add":{"edit_page":null,"preview":null,"edit_content_elements":null,"reorder_content_elements":null,"edit_html":null}});};list.push(edit_page_button);if(get["preview"]=="true"){var preview_button=INPUT({"type":"button","value":"Exit Preview Mode","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/png/eye.grey.png); background-color: transparent;"});preview_button.onclick=function(){window.location.href=Basis.preserve_url({"keys_add":{"preview":null}});};list.push(preview_button);}else{var preview_button=INPUT({"type":"button","value":"Preview Mode","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/png/eye.png); background-color: transparent;"});preview_button.onclick=function(){window.location.href=Basis.preserve_url({"keys_add":{"preview":"true"}});};list.push(preview_button);}
if(get["edit_content_elements"]!="true"){var edit_content_elements_button=INPUT({"type":"button","value":"Edit Content Elements","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/png/layout_content.png); background-color: transparent;"});edit_content_elements_button.onclick=function(){window.location.href=Basis.preserve_url({"keys_add":{"edit_content_elements":"true","reorder_content_elements":null}});};list.push(edit_content_elements_button);}else{var edit_content_elements_button=INPUT({"type":"button","value":"I'm Done Editing","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/png/layout_delete.png); background-color: transparent;"});edit_content_elements_button.onclick=function(){window.location.href=Basis.preserve_url({"keys_add":{"edit_content_elements":null,"reorder_content_elements":null}});};list.push(edit_content_elements_button);if(get["reorder_content_elements"]!="true"){var rearrange_content_elements_button=INPUT({"type":"button","value":"Re-Arrange Content Elements","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/png/layers.png); background-color: transparent;"});rearrange_content_elements_button.onclick=function(){window.location.href=Basis.preserve_url({"keys_add":{"edit_content_elements":"true","reorder_content_elements":"true"}});};list.push(rearrange_content_elements_button);}else{var rearrange_content_elements_button=INPUT({"type":"button","value":"I'm Done Re-Arranging","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/png/layers_delete.png); background-color: transparent;"});rearrange_content_elements_button.onclick=function(){window.location.href=Basis.preserve_url({"keys_add":{"edit_content_elements":"true","reorder_content_elements":null}});};list.push(rearrange_content_elements_button);}}
if(get["edit_html"]!="true"){var edit_html_elements_button=INPUT({"type":"button","value":"Edit HTML Elements","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/png/html.png); background-color: transparent;"});edit_html_elements_button.onclick=function(){window.location.href=Basis.preserve_url({"keys_add":{"edit_html":"true"}});};list.push(edit_html_elements_button);}else{var edit_html_elements_button=INPUT({"type":"button","value":"I'm Done Editing HTML","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/png/html_delete.png); background-color: transparent;"});edit_html_elements_button.onclick=function(){window.location.href=Basis.preserve_url({"keys_add":{"edit_html":null}});};list.push(edit_html_elements_button);}
break;}
var logout_button=INPUT({"type":"button","value":"Log Out","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/png/cross.png); background-color: transparent;"});logout_button.onclick=function(){if(confirm("Are you sure you want to log out?")){window.location.href=Basis.preserve_url({"keys_add":{"logout":"true"}});}};list.push(logout_button);var home_button=INPUT({"type":"button","value":"Menu","class":"gfx_but_default","style":"border-left: 1px solid #e5e5e5; border-right: 1px solid #e5e5e5; position: relative; z-index: "+Basis.z_indexes["edit_bar_main_menu_button"]+"; background-image: url(images/images/default_icons/png/house.png); background-color: transparent;"});var home_menu=DIV({"style":"display: none; height: 195px; width: 225px; border: 1px solid #888888; z-index: "+Basis.z_indexes["edit_bar_main_menu_menu"]+"; position: fixed; left: 3px; background-color: #ffffff; font-size: 10px; font-family: verdana;"},DIV({"style":"background-color: #aaaaaa; border-bottom: 1px solid #888888; font-weight: bold; padding: 3px; color: #ffffff;"},"Quick Links"),DIV({"style":"padding: 5px;"},DIV({"style":"padding: 2px"},IMG({"style":"vertical-align: middle; padding-right: 6px;","src":"images/images/green_badge.gif","border":"0"}),A({"href":"#","target":"","class":"Basis.edit_tools.menu_href","onclick":"Basis.delete_cookie('do_not_show_quick_links_this_session'); Basis.set_cookie('show_quick_links_again_this_session', 'true'); window.location.href = '' + window.location.href; return false;"},"Go Back To My Easy Menu")),HR({"size":"1"}),DIV({"style":"padding: 2px"},IMG({"style":"vertical-align: middle; padding-right: 6px;","src":"images/images/record_add.gif","border":"0"}),A({"href":(Basis.preserve_url_path()+"/admin/dashboard.php?load=add_a_page"),"target":"dashboard","class":"Basis.edit_tools.menu_href"},"Add A Page To My Website")),DIV({"style":"padding: 2px"},IMG({"style":"vertical-align: middle; padding-right: 6px;","src":"images/images/default_icons/png/color_wheel.png","border":"0"}),A({"href":(Basis.preserve_url_path()+"/admin/dashboard.php?load=website_look_and_feel"),"target":"dashboard","class":"Basis.edit_tools.menu_href"},"Change How My Website Looks")),DIV({"style":"padding: 2px"},IMG({"style":"vertical-align: middle; padding-right: 6px;","src":"images/images/tree-folder-open.gif","border":"0"}),A({"href":(Basis.preserve_url_path()+"/admin/dashboard.php?load=file_manager"),"target":"dashboard","class":"Basis.edit_tools.menu_href"},"Upload Files For Sharing")),DIV({"style":"padding: 2px"},IMG({"style":"vertical-align: middle; padding-right: 6px;","src":"images/images/default_icons/png/lorry.png","border":"0"}),A({"href":(Basis.preserve_url_path()+"/stats"),"target":"stats","target":"stats","class":"Basis.edit_tools.menu_href"},"Show My Website's Traffic")),DIV({"style":"padding: 2px"},IMG({"style":"vertical-align: middle; padding-right: 6px;","src":"images/images/default_icons/png/wand.png","border":"0"}),A({"href":(Basis.preserve_url_path()+"/admin"),"target":"dashboard","class":"Basis.edit_tools.menu_href"},"Go To The Admin Section")),DIV({"style":"padding: 2px"},IMG({"style":"vertical-align: middle; padding-right: 6px;","src":"images/images/default_icons/png/help.png","border":"0"}),A({"href":"javascript: return false;","target":"","class":"Basis.edit_tools.menu_href"},"Help! Where Do I Begin?"))));home_button.onclick=partial(function(menu,button){menu.style.display=(menu.style.display=="none")?"":"none";button.style.borderLeft=(menu.style.display=="none")?"1px solid #e5e5e5":"1px solid #888888";button.style.borderRight=(menu.style.display=="none")?"1px solid #e5e5e5":"1px solid #888888";button.style.borderBottom=(menu.style.display=="none")?"1px solid #e5e5e5":"1px solid #888888";button.style.backgroundColor=(menu.style.display=="none")?"transparent":"#FFFFFF";button.style.position="relative";menu.style.bottom=(getViewportDimensions().h+Basis.scroll_coords().y-getElementPosition(button).y-1)},home_menu,home_button);create_edit_bar_tooltip(home_button,"Quick Links",90);list.push(home_button);for(var i=0;i<list.length;i++){if(list[i]){list[i].onmouseover=function(){this.style.textDecoration="underline";};list[i].onmouseout=function(){this.style.textDecoration="none";};}}
switch(mode){case"default":var bar=DIV({"id":"Basis.edit_bar","style":"position: fixed; bottom: 0; background-color: #e5e5e5; border-top: 1px solid #b5b5b5; padding: 0px; height: 30px; width: 100%;"},TABLE({"style":"border-top: 1px solid #ffffff;","width":"100%"},TBODY(null,TR(null,TD({"width":"50%"},home_button,edit_page_button),TD({"style":"text-align: center;"},null),TD({"width":"50%","style":"text-align: right;"},logout_button)))));break;case"edit_page":var bar=DIV({"id":"Basis.edit_bar","style":"position: fixed; bottom: 0; background-color: #e5e5e5; border-top: 1px solid #b5b5b5; padding: 0px; height: 30px; width: 100%; z-index: "+Basis.z_indexes["edit_bar"]},TABLE({"style":"border-top: 1px solid #ffffff;","width":"100%"},TBODY(null,TR(null,TD({"width":"50%"},home_button,edit_page_button,edit_content_elements_button,rearrange_content_elements_button),TD({"style":"text-align: center;"},preview_button),TD({"width":"50%","style":"text-align: right;"},edit_html_elements_button)))));break;}
document.body.style.paddingBottom="30px";document.body.appendChild(bar);document.body.appendChild(home_menu);Basis.edit_bar_created=true;};Basis.get_GET=function(specific_var){var vars=[],hash;var hashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');for(var i=0;i<hashes.length;i++){hash=hashes[i].split("=");vars.push(hash[0]);vars[hash[0]]=hash[1];}
if(specific_var&&vars[specific_var]){return vars[specific_var];}else if(specific_var&&!vars[specific_var]){return null;}
return vars;};Basis.highlight_constrained_elements=function(){for(var i=0;i<MochiKit.Style.constrainedElements.length;i++){Basis.get_element(MochiKit.Style.constrainedElements[i]).style.border="3px dashed #00ff00";Basis.get_element(MochiKit.Style.constrainedElements[i]).style.margin="3px";}};Basis.delete_cookie=function(name){var today=new Date();today.setTime(today.getTime());var expires_date=new Date(today.getTime()-(60*60*24));document.cookie=((name)+"="+escape("test"))+
(";expires="+expires_date.toGMTString());};Basis.check_for_cookies=function(){Basis.set_cookie("check_for_cookies","test",1);var retval=(Basis.get_cookie("check_for_cookies")=="test")?true:false;if(retval){Basis.delete_cookie("check_for_cookies");return true;}
return false;};Basis.get_flash_version=function(){if(GetSwfVer&&Basis.is_function(GetSwfVer)){return GetSwfVer();}};Basis.get_formfield_value=function(element){var retval=null;var element=Basis.get_element(element);if(element&&Basis.is_formfield(element)){switch(element.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":retval=element.value;break;case"SELECT":retval=element.options[element.selectedIndex].value;break;}}
return retval;};Basis.strtotime=function(str,now){if(!str){return null;}
return(str=="0000-00-00")?null:Basis._int(strtotime(str,now));};Basis.microtime=function(get_as_float){var now=(new Date().getTime())/1000;var s=parseInt(now,10);return(get_as_float)?now:(Math.round((now-s)*1000)/1000)+' '+s;};Basis.time=function(date){var date_obj=new Date();if(Basis.is_number(date)){date_obj.setTime(date*1000);}else if(Basis.is_object(date)&&date.getYear){date_obj=date;}
return Basis.parse_number((Date.parse(date_obj)/1000).toString());};Basis.add_element_class=function(element,class_name){var element=Basis.get_element(element);if(element&&class_name){MochiKit.DOM.addElementClass(element,class_name);}};Basis.remove_element_class=function(element,class_name){var element=Basis.get_element(element);if(element&&class_name){MochiKit.DOM.removeElementClass(element,class_name);}};Basis.textarea=function(options,ivalue){var options=options?options:{};if(BrowserDetect.browser=="Explorer"){options["value"]=ivalue;}
var element=TEXTAREA(options,(BrowserDetect.browser=="Explorer")?null:ivalue);return element;};Basis.get_elements_by_tag_names=function(list,obj){var obj=obj?obj:document;var tag_names=MochiKit.Base.isArrayLike(list)?list:list.split(",");var result_array=[];for(var i=0;i<tag_names.length;i++){var tags=obj.getElementsByTagName(tag_names[i]);for(var j=0;j<tags.length;j++){result_array.push(tags[j]);}}
var test_node=result_array[0];if(test_node){if(test_node.sourceIndex){result_array.sort(function(a,b){return a.sourceIndex-b.sourceIndex;});}else if(test_node.compare_document_position){result_array.sort(function(a,b){return 3-(a.compare_document_position(b)&6);});}}
return result_array;};Basis.set_input_descriptive_text=function(field,description){var default_action=partial(function(field,description,focus_or_blur){if(Basis.is_element(field)){if((field.value=="")||(field.value==description)){if(focus_or_blur=="blur"){field.style.color="#aaaaaa";field.style.textDecoration="italic";field.value=description;}else{field.style.color="#000000";field.style.textDecoration="";field.value="";}}else{field.style.color="#000000";field.style.textDecoration="";}}},field,description);var focus_action=partial(function(field,description,focus_or_blur,default_action){default_action(focus_or_blur);},field,description,"focus",default_action);var blur_action=partial(function(field,description,focus_or_blur,default_action){default_action(focus_or_blur);},field,description,"blur",default_action);field.onfocus=focus_action;field.onblur=blur_action;default_action("blur");};Basis.set_tab_indexes=function(list){var field_types=["input","select","textarea"];var start_index=Basis.set_tab_indexes.start_index;var offset=0;if(list&&(list.length>0)){for(var i=0;i<list.length;i++){var obj=Basis.get_element(list[i]);if(obj){var sub_objs=Basis.get_elements_by_tag_names(field_types,obj);Basis.set_tab_indexes(sub_objs,Basis.set_tab_indexes.start_index);if(field_types.indexOf(obj.tagName.toLowerCase())>-1){Basis.set_tab_indexes.start_index++;obj.tabIndex=Basis.set_tab_indexes.start_index;}}}}}
Basis.set_tab_indexes.start_index=0;Basis.select_get_selected_value=function(obj){var obj=Basis.get_element(obj);if(obj&&(obj.options.length>0)){return obj.options[obj.selectedIndex].value;}};Basis.select_get_selected_text=function(obj){var obj=Basis.get_element(obj);if(obj&&(obj.options.length>0)){return obj.options[obj.selectedIndex].text;}};Basis.days_in_month=function(month,year){return(32-new Date(year,(month-1),32).getDate());};Basis.create_date_formfield=function(initial_date,is_optional,year_start,year_end){var load_date=Basis.is_number(initial_date)?(initial_date*1000):Basis.strtotime(initial_date);load_date=Basis.is_number(load_date)?(load_date*1000):(new Date().getTime());var is_optional=(is_optional===false)?false:true;var date=new Date(load_date);var year_start=Basis.is_number(year_start)?year_start:(0+(new Date().getFullYear())-5);var year_end=Basis.is_number(year_end)?year_end:(0+(new Date().getFullYear())+5);if(year_end<year_start){year_end=year_start;}
var formfield=DIV({"class":"Basis.date"});var is_collapsed=false;if(is_optional){var is_collapsed=(initial_date&&(initial_date!="0000-00-00"))?false:true;}
formfield.is_collapsed=is_collapsed;formfield.on_update=function(){};Basis.signal_handler.connect(formfield,"onchange",bind(function(){if(Basis.is_function(this.on_update)){this.on_update();}},formfield),false);formfield.set_up_auto_save=bind(function(options,on_success){this.on_update=partial(function(options,on_success,date_element){var to_post=options?options:{};to_post["to"]=date_element.get_date();var as=new Basis.ajax_scaffold;as.alias="Basis.save_editable_element_changes";as.on_success=Basis.is_function(on_success)?on_success:function(req){window.status="Done";};return as.post({"to_post":to_post});},options,on_success,this);},formfield);var ready=false;while(!ready){var rrv_run=Basis._int((Math.random()*100));var findex=Basis._int((Math.random()*100));if(!Basis.get_element("calendar_"+rrv_run+"_"+findex)){ready=true;}}
var images={"cancel":new Image(),"enable":new Image(),"calendar":new Image()};images.cancel.src="http://www.sitequarters.com/images/images/red_x.gif";images.enable.src="http://www.sitequarters.com/images/images/green_check.gif";images.calendar.src="http://www.sitequarters.com/images/images/calendar.gif";var fields={"month":SELECT(),"day":SELECT(),"year":SELECT()};var calendar=new Basis.bcalendar();calendar.variable_name="calendar";formfield.type="date";formfield.date=date;formfield.images=images;formfield.fields=fields;formfield.calendar=calendar;formfield.is_optional=is_optional;formfield.select_date=bind(function(){Basis.select_select_item_by_value(this.fields.month,(this.date.getMonth()+1));Basis.select_select_item_by_value(this.fields.day,this.date.getDate());Basis.select_select_item_by_value(this.fields.year,(0+this.date.getFullYear()));},formfield);formfield.get_date=bind(function(){if(this.is_collapsed&&this.is_optional){return"0000-00-00";}else{var year=(0+this.date.getFullYear());var month=(this.date.getMonth()+1);var day=this.date.getDate();month=(month<10)?("0"+month):month;day=(day<10)?("0"+day):day;return(year+"-"+month+"-"+day);}},formfield);formfield.set_date=bind(function(date){if(date&&(date!="0000-00-00")){var date=date.split("-");this.date.setDate(Basis._int(date[2]));this.date.setMonth(Basis._int(date[1])-1);this.date.setYear(date[0]);this.select_date();this.update_date_fields();if(this.is_optional){this.is_collapsed=false;}}},formfield);formfield.update_date_fields=bind(function(){var days_in_new_month=Basis.days_in_month((Basis._int(Basis.select_get_selected_value(this.fields.month))-0),Basis._int(Basis.select_get_selected_value(this.fields.year)));if(Basis.select_get_selected_value(this.fields.day)>days_in_new_month){Basis.select_select_item_by_value(this.fields.day,days_in_new_month);}
this.date.setDate(Basis.select_get_selected_value(this.fields.day));this.date.setMonth(Basis.select_get_selected_value(this.fields.month)-1);this.date.setYear(Basis.select_get_selected_value(this.fields.year));this.calendar.year=(0+this.date.getFullYear());this.calendar.day=this.date.getDate();this.calendar.month=(this.date.getMonth()+1);this.fields.day.options.length=0;for(var x=0;x<Basis.days_in_month((this.date.getMonth()+1),(0+this.date.getFullYear()));x++){Basis.select_add_option(this.fields.day,(x+1),(x+1));}
Basis.select_select_item_by_value(this.fields.month,this.calendar.month);Basis.select_select_item_by_value(this.fields.day,this.calendar.day);Basis.select_select_item_by_value(this.fields.year,this.calendar.year);if(this.calendar_image.popup&&this.calendar_image.popup.date){this.calendar_image.popup.date=this.date;this.calendar_image.popup.grid_date=this.date;this.calendar_image.popup.compile();}
Basis.signal_handler.execute_interactive_element(this,"onchange");},formfield);MochiKit.Signal.connect(formfield.fields.month,"onchange",formfield.update_date_fields);MochiKit.Signal.connect(formfield.fields.day,"onchange",formfield.update_date_fields);MochiKit.Signal.connect(formfield.fields.year,"onchange",formfield.update_date_fields);Basis.select_add_options(fields.month,{"1":"January","2":"February","3":"March","4":"April","5":"May","6":"June","7":"July","8":"August","9":"September","10":"October","11":"November","12":"December"});for(var x=0;x<(year_end-year_start);x++){Basis.select_add_option(fields.year,(year_start+x),(year_start+x));}
for(var x=0;x<Basis.days_in_month((formfield.date.getMonth()+1),(0+formfield.date.getFullYear()));x++){Basis.select_add_option(fields.day,(x+1),(x+1));}
Basis.select_select_item_by_value(fields.month,(date.getMonth()+1));Basis.select_select_item_by_value(fields.day,date.getDate());Basis.select_select_item_by_value(fields.year,(0+date.getFullYear()));var calendar_image=IMG();calendar_image.src=formfield.images.calendar.src;calendar_image.style.cursor="pointer";calendar_image.onclick=bind(partial(function(calendar_image){if(calendar_image.popup){Basis.remove_element(calendar_image.popup);calendar_image.popup=null;Basis.updated_live_dom();}else{var popup=Basis.calendar_popup(this.date,this);document.body.appendChild(popup);popup.compile();Basis.align_element_to_element(popup,calendar_image,"top_to_top");Basis.align_element_to_element(popup,calendar_image,"left_to_right",{"x":3});calendar_image.popup=popup;}},calendar_image),formfield);var date_fields=DIV({"style":"display: "+(is_collapsed?"none":"block")},TABLE(null,TBODY(null,TR(null,TD(null,formfield.fields.month,formfield.fields.day,", ",formfield.fields.year),TD(null,calendar_image)))));var optional_date_toggle=DIV({"style":"cursor: pointer;"},"Optional Date");var optional_date_toggle_image=IMG({"style":"cursor: pointer;"});optional_date_toggle.style.display=is_collapsed?"":"none";optional_date_toggle_image.src=is_collapsed?formfield.images.enable.src:formfield.images.cancel.src;var toggle=bind(partial(function(optional_date_toggle,date_fields,optional_date_toggle_image,on_off){if(this.is_collapsed||(on_off=="on")){optional_date_toggle.style.display="none";date_fields.style.display="";optional_date_toggle_image.src=this.images.cancel.src;this.is_collapsed=false;}else{optional_date_toggle.style.display="";date_fields.style.display="none";optional_date_toggle_image.src=this.images.enable.src;this.is_collapsed=true;}
this.update_date_fields();},optional_date_toggle,date_fields,optional_date_toggle_image),formfield);optional_date_toggle.onclick=toggle;optional_date_toggle_image.onclick=toggle;formfield.toggle=toggle;formfield.calendar_image=calendar_image;formfield.update_date_fields();if(is_optional){formfield.appendChild(TABLE({"cellspacing":"0","cellpadding":"0","border":"0"},TBODY(null,TR(null,TD(null,optional_date_toggle,date_fields),TD(null,optional_date_toggle_image)))));}else{formfield.appendChild(date_fields);}
return formfield;};Basis.calendar_popup=function(date,linked_formfield){var date=date?date:new Date();var date=new Date(date);var grid_date=new Date(date);var popup=DIV({"class":"bcalendar_container","style":"position: absolute; top: 0px; left: 0px; display: block;"});popup.linked_formfield=linked_formfield?linked_formfield:{};var images={"back":new Image(),"next":new Image()};images.back.src="http://www.sitequarters.com/tasklist/images/images/prev_on.gif";images.next.src="http://www.sitequarters.com/tasklist/images/images/next_on.gif";images.back.style.cursor="pointer";images.next.style.cursor="pointer";images.back.onclick=bind(function(){var month=this.grid_date.getMonth();var year=(0+this.grid_date.getFullYear());if(month==0){this.grid_date.setYear(year-1);this.grid_date.setMonth(11);}else{this.grid_date.setMonth(month-1);}
this.compile();},popup);images.next.onclick=bind(function(){var month=this.grid_date.getMonth();var year=(0+this.grid_date.getFullYear());if(month==11){this.grid_date.setYear(year+1);this.grid_date.setMonth(0);}else{this.grid_date.setMonth(month+1);}
this.compile();},popup);popup.date=date;popup.grid_date=grid_date;popup.images=images;popup.build_grid=bind(function(){var date=new Date(this.grid_date);date.setDate(1);var grid={0:{0:"",1:"",2:"",3:"",4:"",5:"",6:""},1:{0:"",1:"",2:"",3:"",4:"",5:"",6:""},2:{0:"",1:"",2:"",3:"",4:"",5:"",6:""},3:{0:"",1:"",2:"",3:"",4:"",5:"",6:""},4:{0:"",1:"",2:"",3:"",4:"",5:"",6:""},5:{0:"",1:"",2:"",3:"",4:"",5:"",6:""}};var months={"1":"Jan","2":"Feb","3":"Mar","4":"Apr","5":"May","6":"Jun","7":"Jul","8":"Aug","9":"Sep","10":"Oct","11":"Nov","12":"Dec"};var start_day=date.getDay();var curr_day=1;var num_days=Basis.days_in_month((date.getMonth()+1),(0+date.getFullYear()));for(var x=0;x<6;x++){for(var y=0;y<7;y++){if(x==0){if(y>=start_day){if(curr_day<=num_days){grid[x][y]=curr_day;curr_day++;}}}else{if(curr_day<=num_days){grid[x][y]=curr_day;curr_day++;}}}}
return grid;},popup);popup.build_table=bind(function(){var months={"1":"January","2":"February","3":"March","4":"April","5":"May","6":"June","7":"July","8":"August","9":"September","10":"October","11":"November","12":"December"};var grid=this.build_grid();var table=TABLE(null,TBODY(null,TR(null,TD({"style":"text-align: left;"},this.images.back),TD({"colspan":"5","style":"text-align: center; font-weight: bold;"},months[this.grid_date.getMonth()+1],Basis.nbsp(),(0+this.grid_date.getFullYear())),TD({"style":"text-align: right;"},this.images.next)),TR(null,TD(null,"Sun"),TD(null,"Mon"),TD(null,"Tue"),TD(null,"Wed"),TD(null,"Thu"),TD(null,"Fri"),TD(null,"Sat"))));for(var x=0;x<6;x++){var tr=TR();for(var y=0;y<7;y++){var td=TD(null,grid[x][y]?grid[x][y]:Basis.nbsp());if(grid[x][y]){td.style.cursor="pointer";td.onclick=bind(partial(function(td){this.date=new Date(this.grid_date);this.date.setDate(Basis._int(td.innerHTML.trim()));if(this.linked_formfield&&this.linked_formfield.update_date_fields){this.linked_formfield.date=new Date(this.date);this.linked_formfield.select_date();this.linked_formfield.update_date_fields();this.linked_formfield.calendar_image.onclick();}},td),this);}
if((grid[x][y]==this.date.getDate())&&(this.date.getFullYear()==this.grid_date.getFullYear())&&(this.date.getMonth()==this.grid_date.getMonth())){MochiKit.DOM.addElementClass(td,"chosen");}
if((grid[x][y]==(new Date()).getDate())&&(this.grid_date.getFullYear()==(new Date()).getFullYear())&&(this.grid_date.getMonth()==(new Date()).getMonth())){MochiKit.DOM.addElementClass(td,"today");}
Basis.signal_handler.connect(td,"onmouseenter",bind(partial(function(td){if(td.innerHTML.trim()&&(Basis._int(td.innerHTML)!=this.date.getDate())){MochiKit.DOM.addElementClass(td,"td_mouseover");}},td),this),false);Basis.signal_handler.connect(td,"onmouseleave",bind(partial(function(td){if(td.innerHTML.trim()&&(Basis._int(td.innerHTML)!=this.date.getDate())){MochiKit.DOM.removeElementClass(td,"td_mouseover");}},td),this),false);tr.appendChild(td);}
if((x==0)||((x>0)&&(grid[x][0]))){table.getElementsByTagName("tbody")[0].appendChild(tr);}}
return table;},popup);popup.compile=bind(function(updated_live_dom){Basis.remove_children(this);this.appendChild(this.build_table());Basis.updated_live_dom();},popup);return popup;};Basis.filter_numbers=function(arr){var numbers=[];if(arr){for(var i in arr){if(!Basis.is_function(arr[i])&&Basis.is_number(arr[i])){numbers.push(arr[i]);}}}
return numbers;};Basis.strip_nonstandard_ascii=function(str){if(str){var tstr="";for(var x=0;x<str.length;x++){tstr+=(((str.charAt(x).charCodeAt(0)>=0)&&(str.charAt(x).charCodeAt(0)<=128))?str.charAt(x):"");}
return tstr;}
return"";};Basis.filter_nonstandard_ascii=function(str){var replace={};replace[("’").charCodeAt(0)]=("'").charCodeAt(0);if(str){var tstr="";for(var x=0;x<str.length;x++){var idx=str.charAt(x).charCodeAt(0);tstr+=(replace[idx]!=null)?String.fromCharCode(replace[idx]):str.charAt(x);}
return Basis.strip_nonstandard_ascii(tstr);}
return"";};Basis.text=function(text){return(text==null)?"":text;};Basis.nbsp=function(){var span=SPAN();span.innerHTML="&nbsp;";return span;};Basis.remove_element=function(element){var garbage_bin=MochiKit.DOM.getElement("IELeakGarbageBin");if(!garbage_bin){var garbage_bin=new MochiKit.DOM.DIV({"id":"IELeakGarbageBin","style":"display: none;"});document.body.appendChild(garbage_bin);}
var element=Basis.get_element(element);if(element&&garbage_bin){garbage_bin.appendChild(element);garbage_bin.innerHTML="";Basis.signal_handler.purge_orphaned_signals();}}
Basis.updated_live_dom=function(){if(Basis.signal_handler&&!Basis.signal_handler.blocked){Basis.signal_handler.commit_pending_elements();}};Basis.block_updating_live_dom=function(){Basis.signal_handler.blocked=true;};Basis.unblock_updating_live_dom=function(){Basis.signal_handler.blocked=false;};function addslashes(str){str=str?str:"";return(str+'').replace(/([\\"'])/g,"\\$1").replace(/\0/g,"\\0");}
function stripslashes(str){str=str?str:"";return(str+'').replace(/\0/g,'0').replace(/\\([\\'"])/g,'$1');}
function array2json(arr){var parts=[];var is_list=(Object.prototype.toString.apply(arr)==='[object Array]');for(var key in arr){var value=arr[key];if(value!==undefined){if(typeof value=="object"){if(is_list)parts.push(array2json(value));else parts.push('"'+key+'":'+array2json(value));}else if(typeof value=="function"){}else{var str="";if(!is_list)str='"'+key+'":';if(typeof value=="number")str+=value;else if(value===false)str+='false';else if(value===true)str+='true';else str+='"'+Basis.filter_nonstandard_ascii(value).replace(/"/g,"\\\"").replace(/\r/g,"\\r").replace(/\n/g,"\\n")+'"';parts.push(str);}}}
var json="";for(var i in parts){if(i&&parts[i]&&!Basis.is_function(parts[i])){json+=(parts[i]+",");}}
if(json.substring(json.length-1)==","){json=json.substring(0,json.length-1);}
if(is_list)return'['+json+']';return'{'+json+'}';}
MochiKit.Base.serializeJSON=function(o){return array2json(o);};Basis.array_sequentialize=function(arr){var new_array=[];for(var i in arr){if(arr[i]&&!Basis.is_function(arr[i])){new_array.push(arr[i]);}}
return new_array;};Basis.is_element_visible=function(element){var element=Basis.get_element(element);if(element&&(element.style.display!="none")){var parent=element.parentNode;while(parent&&(parent!=document.body.parentNode)){if(parent.style.display=="none"){return false;}
parent=parent.parentNode;}
return true;}
return false;};Basis.anonymous_element_ids={};Basis.anonymous_element_id=function(){var x=MochiKit.DOM.unique_ids_assigned+1;var found=false;while(!found){var id=("element_"+x);var element=Basis.get_element(id);if(!element&&!Basis.anonymous_element_ids[id]){found=true;Basis.anonymous_element_ids[id]=true;MochiKit.DOM.unique_ids_assigned++;return id;}
x++;}};Basis.make_text_element_editable=function(element,scaffold_options){var scaffold_options=scaffold_options?scaffold_options:{};var element=Basis.get_element(element);if(element){element.editable_element={};element.editable_element.editing=false;element.editable_element.entered=false;element.editable_element.is_password=(scaffold_options["is_password"]==true)?true:false;element.editable_element.commit=(scaffold_options["commit"]==true)?true:false;element.editable_element.original_value=element.value?element.value:MochiKit.DOM.scrapeText(element);element.editable_element.scaffold_options=scaffold_options;element.editable_element.set_up_interaction=bind(function(input){var input=Basis.is_formfield(this)?this:this.editable_element.input;if(!input){log("AAAAH NO INPUT");return;}
Basis.signal_handler.connect(input,"onclick.greedy.swallow",bind(partial(function(input){this.editable_element.original_value=input.value;this.editable_element.editing=true;},input),this),this.editable_element.commit);input.onfocus=bind(partial(function(input){this.editable_element.original_value=input.value;this.editable_element.editing=true;},input),this);input.onblur=bind(function(){this.editable_element.save_editable_element_changes();this.editable_element.editing=false;},this);Basis.state_handler.add_state("Basis.make_text_element_editable");Basis.state_handler.register_key_handler("Basis.make_text_element_editable","KEY_ESCAPE","down",bind(function(){this.editable_element.cancel_save_editable_element_changes();},this));Basis.state_handler.register_key_handler("Basis.make_text_element_editable","KEY_ENTER","down",bind(partial(function(input){if(input.tagName.toUpperCase()!="TEXTAREA"){this.editable_element.save_editable_element_changes();}},input),this));Basis.state_handler.register_signal_handler("Basis.make_text_element_editable",document.body,"onclick.greedy",bind(function(e){this.editable_element.save_editable_element_changes();this.editable_element.editing=false;},this));this.editable_element.save_editable_element_changes=bind(partial(function(input){if(this.editable_element.editing){window.status="Saving...";if(input.value==this.editable_element.original_value){this.editable_element.cancel_save_editable_element_changes();window.status="Done";}else{var to_post=new Object();to_post["to"]=input.value;to_post["resource_id"]=this.editable_element.scaffold_options["resource_id"]?this.editable_element.scaffold_options["resource_id"]:"";to_post["database"]=this.editable_element.scaffold_options["database"]?this.editable_element.scaffold_options["database"]:"";to_post["table"]=this.editable_element.scaffold_options["table"]?this.editable_element.scaffold_options["table"]:"";to_post["row_id"]=this.editable_element.scaffold_options["row_id"]?this.editable_element.scaffold_options["row_id"]:"";to_post["field"]=this.editable_element.scaffold_options["field"]?this.editable_element.scaffold_options["field"]:"";to_post["custom_action"]=this.editable_element.scaffold_options["custom_action"]?this.editable_element.scaffold_options["custom_action"]:"";var as=new Basis.ajax_scaffold;as.alias="Basis.save_editable_element_changes";MochiKit.Base.update(as,scaffold_options);as.element=this;as.input=input;as.on_success=function(req){var response=MochiKit.Base.evalJSON(decodeBase64(req.responseText));this.element.editable_element.original_value=this.input.value;if(response["text"]=="true"){if(!this.element.editable_element.is_password){if(this.element!=this.input){this.element.innerHTML=this.input.value;}}
this.element.editable_element.cancel_save_editable_element_changes();}else{this.element.editable_element.cancel_save_editable_element_changes();}
window.status="Done";};as.post({"to_post":to_post});}}},input),this);this.editable_element.cancel_save_editable_element_changes=bind(partial(function(input){this.editable_element.editing=false;if(!this.editable_element.editing){if(this!=input){Basis.remove_element(input);}
this.style.display="";Basis.state_handler.revert();Basis.updated_live_dom();}},input),this);},element);if(!Basis.is_formfield(element)){element.editable_element.edit_text=MochiKit.Base.bind(function(){if(Basis.make_text_element_editable.currently_editing&&(Basis.make_text_element_editable.currently_editing!=element)){Basis.make_text_element_editable.currently_editing.editable_element.save_editable_element_changes();}
if(!this.editable_element.editing){this.editable_element.editing=true;Basis.make_text_element_editable.currently_editing=this;var input=INPUT({"id":(this.id+"_input"),"type":(this.editable_element.is_password?"password":"text"),"value":(this.editable_element.is_password?"":this.editable_element.original_value),"style":"background-color: #ffffff; padding: 1px; padding-left: 3px; border: 1px solid #000000;"});var dim=Basis.get_element_dimensions(this);this.editable_element.font_multiplier=(dim.w/this.editable_element.original_value.length);Basis.set_style(input,{"width":Math.floor(this.editable_element.font_multiplier*this.editable_element.original_value.length)+15,"font-family":MochiKit.Style.getStyle(this,"font-family"),"font-size":MochiKit.Style.getStyle(this,"font-size")});this.editable_element.input=input;var signal_index=Basis.signal_handler.get_element_index(this,false);if(signal_index){Basis.signal_handler.interactive_elements[signal_index].committed=false;}
this.style.display="none";Basis.insert_after(this,input);this.editable_element.set_up_interaction(input);if(this.editable_element.input&&Basis.is_function(this.editable_element.input.select)){this.editable_element.input.select();}
Basis.state_handler.enter_state("Basis.make_text_element_editable");}},element);Basis.signal_handler.connect(element,"onmouseenter",MochiKit.Base.bind(function(){if(!this.editable_element.editing&&!this.editable_element.entered){this.editable_element.entered=true;var dim=Basis.get_element_dimensions(this);var pencil_image=IMG({"src":"images/images/edit.gif","style":"cursor: pointer;"});var pencil=TABLE({"border":"0","cellpadding":"0","cellspacing":"0","class":"Basis.edit_text.highlight"},TBODY(null,TR(null,TD({"id":this.id+"_replace","width":dim.w,"style":"font-size: "+MochiKit.Style.getStyle(this,"font-size")+"; "+"font-weight: "+MochiKit.Style.getStyle(this,"font-weight")+"; "+"font-family: "+MochiKit.Style.getStyle(this,"font-family")+";"},document.createTextNode(MochiKit.DOM.scrapeText(this))),TD({"style":"padding-left: 5px;"},pencil_image))));if(this.firstChild){Basis.remove_element(this.firstChild);}
this.appendChild(pencil);var edit=MochiKit.Base.bind(function(){Basis.signal_handler.execute_interactive_element(this,"onmouseleave");this.editable_element.edit_text();},this);Basis.signal_handler.connect(pencil_image,"onclick",edit,this.editable_element.commit);}},element),element.editable_element.commit);Basis.signal_handler.connect(element,"onmouseleave",MochiKit.Base.bind(function(){if(!this.editable_element.editing&&this.editable_element.entered){this.editable_element.entered=false;var original_contents=MochiKit.DOM.getElement(this.id+"_replace");if(original_contents){var restore_text=document.createTextNode(MochiKit.DOM.scrapeText(original_contents));this.innerHTML="";MochiKit.DOM.removeElementClass(original_contents,"Basis.edit_text.highlight");this.appendChild(restore_text);}}},element),element.editable_element.commit);}
if(Basis.is_formfield(element)){element.editable_element.set_up_interaction();}}};Basis.make_text_element_dropdown=function(element,dropdown_options,scaffold_options){var scaffold_options=scaffold_options?scaffold_options:{};var element=Basis.get_element(element);if(element){element.editable_element={};element.editable_element.editing=false;element.editable_element.entered=false;element.editable_element.is_password=(scaffold_options["is_password"]==true)?true:false;element.editable_element.commit=(scaffold_options["commit"]==true)?true:false;element.editable_element.original_value=Basis.is_formfield(element)?element.options[element.selectedIndex].value:Basis.find_key(dropdown_options,MochiKit.DOM.scrapeText(element));element.editable_element.scaffold_options=scaffold_options;element.editable_element.dropdown_options=dropdown_options;element.editable_element.set_up_interaction=bind(function(input){var input=Basis.is_formfield(this)?this:this.editable_element.input;if(!input){log("AAAAH NO INPUT");return;}
Basis.signal_handler.connect(input,"onclick.greedy.swallow",bind(partial(function(input){this.editable_element.editing=true;},input),this),this.editable_element.commit);input.onchange=bind(partial(function(input){this.editable_element.save_editable_element_changes();this.editable_element.editing=false;},input),this);input.onblur=bind(function(){this.editable_element.save_editable_element_changes();this.editable_element.editing=false;},this);Basis.state_handler.add_state("Basis.make_text_element_editable");Basis.state_handler.register_key_handler("Basis.make_text_element_editable","KEY_ESCAPE","down",bind(function(){this.editable_element.cancel_save_editable_element_changes();},this));Basis.state_handler.register_key_handler("Basis.make_text_element_editable","KEY_ENTER","down",bind(partial(function(input){if(input.tagName.toUpperCase()!="TEXTAREA"){this.editable_element.save_editable_element_changes();}},input),this));Basis.state_handler.register_signal_handler("Basis.make_text_element_editable",document.body,"onclick.greedy",bind(function(){this.editable_element.save_editable_element_changes();this.editable_element.editing=false;},this));this.editable_element.save_editable_element_changes=bind(partial(function(input){if(this.editable_element.editing){window.status="Saving...";if(input.options[input.selectedIndex].value==this.editable_element.original_value){this.editable_element.cancel_save_editable_element_changes();window.status="Done";}else{var to_post=new Object();to_post["to"]=input.options[input.selectedIndex].value;to_post["resource_id"]=this.editable_element.scaffold_options["resource_id"]?this.editable_element.scaffold_options["resource_id"]:"";to_post["database"]=this.editable_element.scaffold_options["database"]?this.editable_element.scaffold_options["database"]:"";to_post["table"]=this.editable_element.scaffold_options["table"]?this.editable_element.scaffold_options["table"]:"";to_post["row_id"]=this.editable_element.scaffold_options["row_id"]?this.editable_element.scaffold_options["row_id"]:"";to_post["field"]=this.editable_element.scaffold_options["field"]?this.editable_element.scaffold_options["field"]:"";to_post["custom_action"]=this.editable_element.scaffold_options["custom_action"]?this.editable_element.scaffold_options["custom_action"]:"";var as=new Basis.ajax_scaffold;as.alias="Basis.save_editable_element_changes";MochiKit.Base.update(as,this.editable_element.scaffold_options);if(scaffold_options["is_date"]&&input.get_date){to_post["to"]=input.get_date();}
if(scaffold_options["is_time"]){var parts=this.id.split("_");var part=(parts[parts.length-2]);var rrv=(parts[parts.length-1]);var base=this.id.substring(0,this.id.length+(-1*(part.length+rrv.length+2)));switch(part){case"hour":var minute=Basis.get_element(base+"_minute_"+rrv);var ampm=Basis.get_element(base+"_ampm_"+rrv);to_post["to"]=this.options[this.selectedIndex].text+":"+minute.options[minute.selectedIndex].text+ampm.options[ampm.selectedIndex].text;break;case"minute":var hour=Basis.get_element(base+"_hour_"+rrv);var ampm=Basis.get_element(base+"_ampm_"+rrv);to_post["to"]=hour.options[hour.selectedIndex].text+":"+this.options[this.selectedIndex].text+ampm.options[ampm.selectedIndex].text;break;case"ampm":var hour=Basis.get_element(base+"_hour_"+rrv);var minute=Basis.get_element(base+"_minute_"+rrv);to_post["to"]=hour.options[hour.selectedIndex].text+":"+minute.options[minute.selectedIndex].text+this.options[this.selectedIndex].text;break;}}
as.element=this;as.input=input;as.on_success=function(req){var response=MochiKit.Base.evalJSON(decodeBase64(req.responseText));this.element.editable_element.original_value=this.input.value;if(response["text"]=="true"){if(this.element!=this.input){this.element.innerHTML=this.input.options[this.input.selectedIndex].text;}
this.element.editable_element.cancel_save_editable_element_changes();}else{this.element.editable_element.cancel_save_editable_element_changes();}
window.status="Done";};as.post({"to_post":to_post});}}},input),this);this.editable_element.cancel_save_editable_element_changes=bind(partial(function(input){this.editable_element.editing=false;if(!this.editable_element.editing){if(this!=input){Basis.remove_element(input);}
this.style.display="";Basis.state_handler.revert();Basis.updated_live_dom();}},input),this);input.focus();},element);if(!Basis.is_formfield(element)){element.editable_element.edit_text=MochiKit.Base.bind(function(){if(Basis.make_text_element_editable.currently_editing&&(Basis.make_text_element_editable.currently_editing!=element)&&Basis.make_text_element_editable.currently_editing.editable_element&&Basis.is_function(Basis.make_text_element_editable.currently_editing.editable_element.save_editable_element_changes)){Basis.make_text_element_editable.currently_editing.editable_element.save_editable_element_changes();}
if(!this.editable_element.editing){this.editable_element.editing=true;Basis.make_text_element_editable.currently_editing=this;var input=SELECT({"id":(this.id+"_select"),"style":"background-color: #ffffff; padding: 1px; padding-left: 3px; border: 1px solid #000000;"});Basis.select_add_options(input,this.editable_element.dropdown_options);Basis.select_select_item_by_value(input,this.editable_element.original_value);var dim=Basis.get_element_dimensions(this);this.editable_element.font_multiplier=(dim.w/this.editable_element.original_value.length);Basis.set_style(input,{"width":Math.floor(this.editable_element.font_multiplier*this.editable_element.original_value.length)+35,"font-family":MochiKit.Style.getStyle(this,"font-family"),"font-size":MochiKit.Style.getStyle(this,"font-size")});this.editable_element.input=input;var signal_index=Basis.signal_handler.get_element_index(this,false);if(signal_index){Basis.signal_handler.interactive_elements[signal_index].committed=false;}
this.style.display="none";Basis.insert_after(this,input);this.editable_element.set_up_interaction(input);Basis.state_handler.enter_state("Basis.make_text_element_editable");}},element);Basis.signal_handler.connect(element,"onmouseenter",MochiKit.Base.bind(function(){if(!this.editable_element.editing&&!this.editable_element.entered){this.editable_element.entered=true;var dim=Basis.get_element_dimensions(this);var pencil_image=IMG({"src":"images/images/edit.gif","style":"cursor: pointer;"});var pencil=TABLE({"border":"0","cellpadding":"0","cellspacing":"0","class":"Basis.edit_text.highlight"},TBODY(null,TR(null,TD({"id":this.id+"_replace","width":dim.w,"style":"font-size: "+MochiKit.Style.getStyle(this,"font-size")+"; "+"font-weight: "+MochiKit.Style.getStyle(this,"font-weight")+"; "+"font-family: "+MochiKit.Style.getStyle(this,"font-family")+";"},document.createTextNode(MochiKit.DOM.scrapeText(this))),TD({"style":"padding-left: 5px;"},pencil_image))));if(this.firstChild){Basis.remove_element(this.firstChild);}
this.appendChild(pencil);var edit=MochiKit.Base.bind(function(){Basis.signal_handler.execute_interactive_element(this,"onmouseleave");this.editable_element.edit_text();},this);Basis.signal_handler.connect(pencil_image,"onclick",edit,this.editable_element.commit);}},element),element.editable_element.commit);Basis.signal_handler.connect(element,"onmouseleave",MochiKit.Base.bind(function(){if(!this.editable_element.editing&&this.editable_element.entered){this.editable_element.entered=false;var original_contents=MochiKit.DOM.getElement(this.id+"_replace");if(original_contents){var restore_text=document.createTextNode(MochiKit.DOM.scrapeText(original_contents));this.innerHTML="";MochiKit.DOM.removeElementClass(original_contents,"Basis.edit_text.highlight");this.appendChild(restore_text);}}},element),element.editable_element.commit);}
if(Basis.is_formfield(element)){element.editable_element.set_up_interaction();}}};Basis.convert_div_to_box=function(element,options){var options=options?options:{};var border_color=options["border_color"]?("_"+options["border_color"]):"";var element=Basis.get_element(element);if(element){var table=MochiKit.DOM.createDOM("table",{"id":(element.id+".table"),"cellpadding":0,"cellspacing":0,"width":"100%","height":"100%","class":"Basis.dashboard.box.frame"});var tbody=MochiKit.DOM.createDOM("tbody");table.appendChild(tbody);var rows={0:{0:{"td":MochiKit.DOM.createDOM("td",{"class":"height width"}),"html":"<img src=\"images/images/dashboard/box_top_left"+border_color+".gif\">"},1:{"td":MochiKit.DOM.createDOM("td",{"class":"height top"}),"html":"<img src=\"images/images/dashboard/box_top"+border_color+".gif\">"},2:{"td":MochiKit.DOM.createDOM("td",{"class":"height width"}),"html":"<img src=\"images/images/dashboard/box_top_right"+border_color+".gif\">"}},1:{0:{"td":MochiKit.DOM.createDOM("td",{"class":"width left"}),"html":"<img src=\"images/images/dashboard/box_left"+border_color+".gif\">"},1:{"td":MochiKit.DOM.createDOM("td",{"class":"middle","style":options["style"]}),"html":"&nbsp;"},2:{"td":MochiKit.DOM.createDOM("td",{"class":"width right"}),"html":"<img src=\"images/images/dashboard/box_right"+border_color+".gif\">"}},2:{0:{"td":MochiKit.DOM.createDOM("td",{"class":"height width"}),"html":"<img src=\"images/images/dashboard/box_bottom_left"+border_color+".gif\">"},1:{"td":MochiKit.DOM.createDOM("td",{"class":"height bottom"}),"html":"<img src=\"images/images/dashboard/box_bottom"+border_color+".gif\">"},2:{"td":MochiKit.DOM.createDOM("td",{"class":"height width"}),"html":"<img src=\"images/images/dashboard/box_bottom_right"+border_color+".gif\">"}}};for(var x=0;x<Basis.array_length(rows);x++){var tr=MochiKit.DOM.createDOM("tr");for(var y=0;y<Basis.array_length(rows[x]);y++){rows[x][y]["td"].innerHTML=rows[x][y]["html"];tr.appendChild(rows[x][y]["td"]);}
tbody.appendChild(tr);}
MochiKit.DOM.swapDOM(element,table);var middle=MochiKit.DOM.getElementsByTagAndClassName("td","middle",table);if(middle&&middle[0]&&MochiKit.DOM.getElement(middle[0])&&middle[0].appendChild){Basis.remove_children(middle[0]);middle[0].appendChild(element);element.parent_table=table;element.revert=MochiKit.Base.bind(function(){if(MochiKit.DOM.getElement(this.parent_table)){MochiKit.DOM.swapDOM(this.parent_table,this);delete this.parent_table;delete this.revert;}},element);}}};MochiKit.DragAndDrop.Draggable.prototype.draw=function(point){var pos=MochiKit.Position.cumulativeOffset(this.element);var d=this.currentDelta();pos.x-=d[0];pos.y-=d[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){pos.x-=this.options.scroll.scrollLeft-this.originalScrollLeft;pos.y-=this.options.scroll.scrollTop-this.originalScrollTop;}
var p=[point.page.x-pos.x-this.offset[0],point.page.y-pos.y-this.offset[1]];if(this.options.snap){if(typeof(this.options.snap)=='function'){p=this.options.snap(p[0],p[1]);}else{if(this.options.snap instanceof Array){var i=-1;p=MochiKit.Base.map(MochiKit.Base.bind(function(v){i+=1;return Math.round(v/this.options.snap[i])*this.options.snap[i];},this),p);}else{p=MochiKit.Base.map(MochiKit.Base.bind(function(v){return Math.round(v/this.options.snap)*this.options.snap;},this),p);}}}
if(this.options.contained_by){var drag_dim=MochiKit.Style.getElementDimensions(this.element);var cont_dim=MochiKit.Style.getElementDimensions(getElement(this.options.contained_by));if(drag_dim&&cont_dim&&(drag_dim.w>cont_dim.w)){var cont_border=Basis.sum_of_element(this.options.contained_by,"border");var offset=(cont_border.left+cont_border.right);p[0]=(p[0]>=0)?0:p[0];p[0]=((p[0]+drag_dim.w)>cont_dim.w)?p[0]:(cont_dim.w-drag_dim.w-offset);}else if(drag_dim&&cont_dim&&(drag_dim.w<=cont_dim.w)){p[0]=0;}}
var style=this.element.style;if((!this.options.constraint)||(this.options.constraint=='horizontal')){style.left=p[0]+'px';}
if((!this.options.constraint)||(this.options.constraint=='vertical')){style.top=p[1]+'px';}
if(style.visibility=='hidden'){style.visibility='';}};Basis.array_delete_index=function(arr,idx){if(arr&&(idx!==null)){if(idx===0){return arr.slice(1);}else if(idx==(arr.length-1)){return arr.slice(0,(arr.length-1));}else{arr.splice(idx,1);return arr;}}}
Basis.array_delete_value=function(arr,value){if(arr&&(value!==null)){for(var i=0;i<arr.length;i++){if(arr[i]==value){arr=Basis.array_delete_index(arr,i);i--;}}}
return arr;}
Basis.insert_after=function(node,to_insert){node.parentNode.insertBefore(to_insert,node.nextSibling);};Basis.hide_all_children=function(element){var element=Basis.get_element(element);if(element){for(var i=0;i<element.childNodes.length;i++){element.childNodes[i].style.display="none";}}};Basis.unhide_all_children=function(element){var element=Basis.get_element(element);if(element){for(var i=0;i<element.childNodes.length;i++){element.childNodes[i].style.display="";}}};Basis.is_live_dom_node=function(element){var element=Basis.get_element(element);if(element&&element.parentNode){var parent=element.parentNode;while(parent){if(parent==document.body){return true;}
parent=parent.parentNode;}
return false;}};Basis.is_object=function(element){return(element&&(typeof(element)=="object"))?true:false;};Basis.index_of=function(arr,value){if(arr){for(var i in arr){if(i&&arr[i]&&(arr[i]==value)){return i;}}}
return null;};Basis.in_array=function(needle,haystack){var found=false;for(key in haystack){if(haystack[key]==needle){found=true;break;}}
return found;};if(!String.prototype.trim){String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"");}}
if(!Array.prototype.indexOf){Array.prototype.indexOf=function(value,begin,strict){for(var i=(+begin||0),length=this.length;i<length;i++){if((this[i]===value)||(strict&&(this[i]==value))){return i;}}
return-1;};}
Basis.filter_data=function(data,search_terms,optional_fields_to_filter_by,return_keys_only){var data=Basis.is_object(data)?data:null;var search_terms=search_terms?search_terms:null;var optional_fields_to_filter_by=Basis.is_object(optional_fields_to_filter_by)?optional_fields_to_filter_by:null;var return_keys_only=((return_keys_only==null)||(return_keys_only!==true))?false:true;var results={};if(data&&search_terms){var keywords=search_terms.trim().split(" ");for(var key in data){if(key&&data[key]&&keywords){var row=data[key];var found=false;for(var x=0;x<keywords.length;x++){var wildcard=(keywords[x].indexOf("*")!=-1)?true:false;var regex=(wildcard?"^":"")+keywords[x].replace(/\*/g,".*?")+(wildcard?"$":"");for(var field in row){if(field&&row[field]&&row[field].match){if(!optional_fields_to_filter_by||(optional_fields_to_filter_by&&Basis.in_array(field,optional_fields_to_filter_by))){found=row[field].match(new RegExp(regex,"gi"))?true:false;if(found){break;}}}}}
if(found){if(return_keys_only){results[key]=key;}else{results[key]=row;}}}}}
return results;};Basis.sort_data=function(data,field_to_sort_by,sort_order,return_keys_only,trim){var data=Basis.is_object(data)?data:null;var field_to_sort_by=field_to_sort_by?field_to_sort_by:null;var sort_order=sort_order?sort_order:"ASC";var return_keys_only=((return_keys_only==null)||(return_keys_only!==true))?false:true;var trim=(trim==true)?true:false;var results={};var sorted=[];if(data&&field_to_sort_by){var field=field_to_sort_by;var field_exists=null;for(var i in data){if(field_exists===null){var keys=Basis.keys(data[i]);field_exists=Basis.in_array(field,keys)?true:false;}
if(field_exists&&(data[i][field]!=null)){var value=trim?data[i][field].toString().trim():data[i][field];value=(value=="")?" ":value;sorted.push({"key":i,"value":value});}}
function custom_sorter(a,b){if(a.value&&a.value.toLowerCase&&b.value&&b.value.toLowerCase){a=a.value.toLowerCase();b=b.value.toLowerCase();if(a&&b){if(a<b){return-1;}
if(a>b){return 1;}}}
return 0;};sorted.sort(custom_sorter);}
if(sort_order=="ASC"){for(var i in sorted){if(i&&sorted[i]&&sorted[i].key&&data[sorted[i].key]){results[sorted[i].key]=data[sorted[i].key];}}}else if(sort_order=="DESC"){var keys=Basis.keys(sorted);for(var x=(keys.length-1);x>=0;x--){var i=keys[x];if(i&&sorted[i]&&sorted[i].key&&data[sorted[i].key]){results[sorted[i].key]=data[sorted[i].key];}}}
return results;};Basis.page_data=function(data,requested_page,num_per_page){var data=Basis.is_object(data)?data:null;var total_rows=Basis.array_length(data);var num_per_page=Math.min(total_rows,(num_per_page?num_per_page:Basis.array_length(data)));var results={};if(data&&num_per_page){var requested_page=Basis.is_number(requested_page)?Math.round(requested_page):1;var total_pages=Math.floor(total_rows/num_per_page)+((Math.floor(total_rows/num_per_page)==(total_rows/num_per_page))?0:1);var page_of_data={};var keys=Basis.keys(data);var starting_row_id=(num_per_page*(requested_page-1));for(var row_id=starting_row_id;row_id<(starting_row_id+num_per_page);row_id++){if(keys[row_id]){results[keys[row_id]]=data[keys[row_id]];}}}
return(Basis.array_length(results)==0)?null:results;};Basis.size_in_viewport=function(element){var element=MochiKit.DOM.getElement(element);if(element&&Basis.is_live_dom_node(element)){var pos=MochiKit.Style.getElementPosition(element);pos=(pos&&pos.x&pos.y)?pos:{"x":0,"y":0};var dim=MochiKit.Style.getElementDimensions(element);var scroll=Basis.scroll_coords();var screen=MochiKit.Style.getViewportDimensions();var borders=Basis.sum_borders_of_all_parents(element);var padding=Basis.sum_padding_of_all_parents(element);var adjust_height=(borders.top+borders.bottom+padding.top+padding.bottom);var adjust_width=(borders.left+borders.right+padding.left+padding.right);var coords={"w":(screen.w-(pos.x+scroll.x)-adjust_width),"h":(screen.h-(pos.y+scroll.y)-adjust_height)};return coords;}};;Basis.data_pager=function(options){this.__init__(options);};Basis.data_pager.prototype={__init__:function(options){var options=Basis.is_object(options)?options:{};this.data=Basis.is_object(options["data"])?options["data"]:{};this.num_per_page=Basis.is_number(options["num_per_page"])?Math.round(options["num_per_page"]):1;this.current_page=1;this.total_rows=Basis.array_length(this.data);this.total_pages=Math.floor(this.total_rows/this.num_per_page)+((Math.floor(this.total_rows/this.num_per_page)==(this.total_rows/this.num_per_page))?0:1);},get_page:function(page){return Basis.page_data(this.data,page,this.num_per_page);},next_page:function(){this.current_page+=1;return this.this_page();},previous_page:function(){this.current_page=(this.current_page>1)?(this.current_page-1):1;return this.this_page();},this_page:function(){return this.get_page(this.current_page);}};Basis.tile_manager=function(){this.__init__();};Basis.tile_manager.prototype={__init__:function(){this.tiles=[];this.current_tile=0;this.container_element=null;this.child_tile_container_element=null;this.is_sliding=false;this.after_hide_all_contents=function(){alert("test");};MochiKit.Signal.connect(this,"after_hide_all_contents",bind(function(){this.after_hide_all_contents();},this));MochiKit.Style.resizeConstrainedElements.callbacks.push(MochiKit.Base.bind(function(){this.resize_tiles();},this));},back:function(){this.go_to(this.current_tile-1);},clear_all_tiles:function(){for(var i=this.tiles.length;i>0;i--){this.pop_tile();}
this.current_tile=null;},compile:function(){if(Basis.is_live_dom_node(this.container_element)){this.child_tile_container_element=DIV({"style":"position: absolute; left: 0px; top: 0px;"});this.container_element.appendChild(this.child_tile_container_element);Basis.register_size_constraints(this.container_element,"100%","100%",null,false);Basis.register_size_constraints(this.child_tile_container_element,"100%","100%");this.resize_tiles();}},create_tile:function(){if(this.container_element){var borders=Basis.sum_of_all_parents(this.container_element,"border");var padding=Basis.sum_of_all_parents(this.container_element,"padding");var adjust_height=(borders.top+borders.bottom+padding.top+padding.bottom);var adjust_width=(borders.left+borders.right+padding.left+padding.right);var dim=MochiKit.Style.getElementDimensions(this.container_element);var pdim=MochiKit.Style.getElementDimensions(this.container_element.parentNode);var tile=DIV({"style":"position: absolute; top: 0px; left: 0px;","class":"tile"});Basis.register_size_constraints(tile,"100%","100%",null,false);tile.on_load=function(){};tile.on_unload=function(){};tile.after_unload=function(){};tile.name="";tile.hide_when_sliding=null;return tile;}
return null;},get_current_tile:function(){return(((this.current_tile==null)&&(this.tiles.length>0))?0:this.current_tile);},go_to:function(index){if(!this.is_sliding&&(index!==null)&&this.tiles[index]&&(index!==this.current_tile)){this.after_hide_all_contents=MochiKit.Base.bind(partial(function(index){if((this.current_tile!==null)&&Basis.is_function(this.tiles[this.current_tile].on_unload)){this.tiles[this.current_tile].on_unload();}
this.is_sliding=true;var multiplier=(this.current_tile-index);var x=(Basis.parse_number(this.tiles[index].style.width)*multiplier);MochiKit.Visual.Move(this.child_tile_container_element,{"x":x,"mode":"relative","duration":0.50,"afterFinish":bind(partial(function(index,old_index){this.is_sliding=false;this.current_tile=index;if(this.tiles[index]){this.unhide_tile(index);}
if((old_index!==null)&&this.tiles[old_index]&&Basis.is_function(this.tiles[old_index].after_unload)){this.tiles[old_index].after_unload();}
if((index!==null)&&this.tiles[index]&&Basis.is_function(this.tiles[index].on_load)){this.tiles[index].on_load();}
for(var i=index+1;i<this.tiles.length;i++){this.pop_tile();}},index,this.current_tile),this)});},index),this);this.hide_all_contents(index,(((this.current_tile==null)?0:this.current_tile)==0)?true:false);if((index!==null)&&(index==0)&&(this.current_tile===null)&&this.tiles[index]&&Basis.is_function(this.tiles[index].on_load)){this.tiles[index].on_load();}}},hide_all_contents:function(index,loading_top_level_tile){for(var i=0;i<this.tiles.length;i++){if(this.tiles[i].hide_when_sliding&&(!loading_top_level_tile||(loading_top_level_tile&&(i>0)))){if(index===null){this.tiles[i].hide_when_sliding.style.display="none";}else if(i==index){MochiKit.Visual.fade(this.tiles[i].hide_when_sliding,{"duration":0.0,"afterFinish":bind(function(){this.hide_all_contents(null);MochiKit.Signal.signal(this,"after_hide_all_contents");},this)});}}}},pop_tile:function(){if(this.tiles[this.tiles.length-1]){MochiKit.DOM.removeElement(this.tiles[this.tiles.length-1]);this.tiles.pop();}},push_tile:function(tile){if(tile){this.tiles.push(tile);this.child_tile_container_element.appendChild(tile);this.resize_tiles();return(this.tiles.length-1);}
return null;},resize_tiles:function(){if(Basis.is_live_dom_node(this.container_element)){var container_size=MochiKit.Style.getElementDimensions(this.container_element);if(container_size){for(var i=0;i<this.tiles.length;i++){var tile=this.tiles[i];Basis.set_element_dimensions(tile,container_size);Basis.set_style(tile,{"left":(i*container_size.w)+"px"});}
Basis.set_style(this.child_tile_container_element,{"left":(this.current_tile*container_size.w*-1)+"px"});}}},toString:function(){return"Basis.tile_manager";},unhide_tile:function(index){if((index!==null)&&this.tiles[index]&&this.tiles[index].hide_when_sliding){MochiKit.Visual.appear(this.tiles[index].hide_when_sliding,{"duration":0.5,"afterFinish":MochiKit.Style.resizeConstrainedElements});}}};Basis.grid_control=function(options){this.__init__(options);};Basis.grid_control.prototype={__init__:function(options){options=Basis.is_object(options)?options:{};this.data_type="";this.root_class_name="";this.raw_data=Basis.is_object(options["raw_data"])?options["raw_data"]:{};this.num_per_page=Basis.is_number(options["num_per_page"])?Math.round(options["num_per_page"]):10;this.show_all=true;this.current_mode="";this.current_dataset={};this.current_raw_dataset={};this.currently_selected=[];this.current_page=1;this.current_num_pages=null;this.current_filter={"search_text":null,"search_limit":null,"group_limit":null,"alpha_limit":null,"alpha_limit_field":null,"group":null,"archived":null};this.current_filter_hash={"all":null,"filter":null,"sorting":null,"group":null,"archived":null};this.current_filter_data={};this.current_sorting={"field":"first_name","direction":"ASC"};this.current_sorted_data={};this.groups={};this.group_map={};this.debug=false;this.resource_types={};this.default_resource_type="";this.elements={"container_output":null,"list_output":null,"general_buttons":null,"filter_controls":null,"page_controls":null,"list_title":SPAN(null," "),"group_filter":null,"archived_filter":null};this.pager=new Basis.data_pager();this.add_new_resource=function(){};this.can_add_new_resource=true;this.fields_to_display={};this.grid_field_map={};if(!window.resizeConstrainedElements_signal){window.resizeConstrainedElements_signal=MochiKit.Signal.connect(window,"onresize",MochiKit.Style.resizeConstrainedElements);}},add_new_resource:function(type,data_row){var to_post={};to_post["type"]=type;to_post["data_row"]=data_row;var as=new Basis.ajax_scaffold;as.alias="add_new_resource";as.list=this;as.data_row=data_row;as.on_success=function(req){if(Basis.is_number(req.responseText)){var resource_id=req.responseText;this.list.clear_cached_datasets(true);this.list.raw_data[resource_id]=this.data_row;this.list.group_map[resource_id]=this.data_row["groups"];this.list.refresh();}
window.status="Done";};return as.post({"to_post":to_post});},archive_resources:function(resource_ids){if(confirm("Are you sure you want to archive the selected items?")){var to_post={};to_post["resource_ids"]=resource_ids;var as=new Basis.ajax_scaffold;as.alias="archive_resources";as.list=this;as.on_success=function(req){var ids_archived=MochiKit.Base.evalJSON(req.responseText);var to_refresh=[];for(var i=0;i<ids_archived.length;i++){if(this.list.dashboard&&this.list.dashboard.resource_linker[ids_archived[i]]){this.list.dashboard.resource_linker[ids_archived[i]]["archived"]="yes";}}
this.list.clear_cached_datasets(true);this.list.fetch_raw_data((this.list.current_filter["archived"]=="yes")?true:false);this.list.refresh();window.status="Done";};return as.post({"to_post":to_post});}},clear_cached_datasets:function(retain_sorting){var retain_sorting=(retain_sorting)?true:false;this.current_dataset={};this.current_raw_dataset={};this.current_filter_hash={"all":null,"filter":null,"sorting":null,"group":null};this.current_filter_data={};this.current_sorting={"field":(retain_sorting?this.current_sorting.field:((this.current_mode=="organization")?"company_name":"first_name")),"direction":(retain_sorting?this.current_sorting.direction:"ASC")};this.current_sorted_data={};},debug_log:function(message){if(message&&this.debug){this.system_log(message,false);}},delete_resources:function(resource_ids){if(confirm("Are you sure you want to delete the selected items?")){var to_delete=[];for(var i=0;i<resource_ids.length;i++){if(this.dashboard.resource_linker[resource_ids[i]]["resource_access"]["full_access"]){to_delete.push(resource_ids[i]);}}
if(to_delete.length==0){alert("You haven't selected any items that you have access to delete!");return;}
var to_post={};to_post["resource_ids"]=to_delete;var as=new Basis.ajax_scaffold;as.alias="delete_resources";as.list=this;as.on_success=function(req){var ids_deleted=MochiKit.Base.evalJSON(req.responseText);var to_refresh=[];for(var i=0;i<ids_deleted.length;i++){delete this.list.raw_data[ids_deleted[i]];delete this.list.group_map[ids_deleted[i]];if(this.list.dashboard&&this.list.dashboard.resource_linker[ids_deleted[i]]){var type=this.list.dashboard.resource_linker[ids_deleted[i]]["type"];var associated=Basis.filter_numbers(Basis.keys(this.list.dashboard.resource_linker[ids_deleted[i]]["associated_resources"],true));for(var x=0;x<associated.length;x++){to_refresh.push(associated[x]);}
delete this.list.dashboard.resource_linker[ids_deleted[i]];delete this.list.dashboard.available_resources[type][ids_deleted[i]];}}
this.list.clear_cached_datasets(true);this.list.refresh();this.list.dashboard.get_assorted_resources(to_refresh);window.status="Done";};return as.post({"to_post":to_post});}},fetch_groups:function(){if(this.dashboard){this.groups={};var keys=Basis.keys(this.dashboard.available_resources["GROUP"]);for(var i=0;i<keys.length;i++){this.groups[keys[i]]=this.dashboard.resource_display_text(keys[i]);}
if(Basis.is_element(this.elements["group_filter"])){this.elements["group_filter"].options.length=0;Basis.select_add_option(this.elements["group_filter"],"","Choose a Group:");asort(this.groups);Basis.select_add_options(this.elements["group_filter"],this.groups);}
return new MochiKit.Async.succeed();}else{var to_post={};var as=new Basis.ajax_scaffold;as.alias="get_groups";as.list=this;as.on_success=function(req){var groups=MochiKit.Base.evalJSON(req.responseText);this.list.groups=groups;if(Basis.is_element(this.list.elements["group_filter"])){this.list.elements["group_filter"].options.length=0;Basis.select_add_option(this.list.elements["group_filter"],"","Choose a Group:");Basis.select_add_options(this.list.elements["group_filter"],this.list.groups);}
window.status="Done";};return as.post({"to_post":to_post});}},fetch_raw_data:function(use_archived_rows){var use_archived_rows=(use_archived_rows===true)?true:false;log("Make me do something");},filter_groups:function(data){var filtered_data={};var keys=Basis.keys(data);for(var i=0;i<keys.length;i++){var resource_id=keys[i];if(Basis.in_array(this.current_filter["group"],this.group_map[resource_id])){filtered_data[resource_id]=data[resource_id];}}
return filtered_data;},filter_hash:function(what_filter){var what_filter=what_filter?what_filter:"all";switch(what_filter){case"filter":return hex_md5(serializeJSON([this.current_mode,this.current_filter]));break;case"sorting":return hex_md5(serializeJSON([this.current_mode,this.current_sorting]));break;case"all":return hex_md5(serializeJSON([this.current_mode,this.current_page,this.current_num_pages,this.current_filter,this.current_sorting]));break;}},get_master_field_data:function(master_field,row,raw,raw_value){var raw=(raw!=null)?true:false;var raw_value=(raw_value!=null)?true:false;if(master_field&&row&&this.grid_field_map[master_field]){tspan=SPAN();switch(this.grid_field_map[master_field]["type"]){case"text":data=stripslashes(row[this.grid_field_map[master_field]["field"]]);break;case"select":if(this.grid_field_map[master_field]["array"]){data=raw_value?stripslashes(row[this.grid_field_map[master_field]["field"]]):this.grid_field_map[master_field]["array"][stripslashes(row[this.grid_field_map[master_field]["field"]])];}
break;}
if(raw){return data?data:"";}
if(data){data=data.replace(/\r\n/g,"\n");data=data.replace(/\r/g,"\n");data=data.replace(/ /g,"&nbsp;");var urls=data.match(/(((file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp):\/\/)|(www\.))+(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(\/[a-zA-Z0-9\&amp;%_\.\/-~-]*)?/g);if(urls){for(var i=0;i<urls.length;i++){var protocol=urls[i].match(/(file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp):\/\//g);protocol=protocol?protocol[0]:"http://";var url=urls[i];var replace_with=(((url.indexOf(protocol)>-1)?"":protocol)+url);data=data.replace(url,"<a href=\""+replace_with+"\">"+url+"</a>");}}
data=data.replace(/\n/g,"<br>");data=data.replace(/([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/g,"<a href=\"mailto:$1@$2$3$6$7\">$1@$2$3$6$7</a>");}
tspan.innerHTML=data?data:"&nbsp;";return tspan;}
return"";},get_master_field_title:function(master_field){if(master_field&&this.grid_field_map[master_field]){return this.grid_field_map[master_field]["text"];}
return null;},is_selected:function(resource_id){return Basis.in_array(resource_id,this.currently_selected)?true:false;},load_page:function(page){var page=Basis.is_number(Math.round(page))?Math.round(page):1;page=(page>0)?page:1;page=(page<=this.current_num_pages)?page:this.current_num_pages;this.current_page=page;this.refresh();},next_page:function(){this.load_page(this.current_page+1);},last_page:function(){this.load_page(this.current_page-1);},prepared_data:function(data){var ret_data=null;if(data){var ret_data={};for(var i in data){if(!Basis.is_function(data[i])&&Basis.is_object(data[i])){for(var x in data[i]){if(!Basis.is_function(data[i][x])){ret_data[i]=ret_data[i]?ret_data[i]:{};ret_data[i][x]=this.get_master_field_data(x,data[i],true);}}}}}
return ret_data;},refresh:function(){this.current_filter_hash["all"]=this.filter_hash("all");this.refresh_controls();this.refresh_data();this.refresh_pages();this.refresh_title();this.refresh_table();MochiKit.Style.resizeConstrainedElements();},refresh_controls:function(){this.elements["general_buttons"].style.display="block";if(this.elements["filter_controls"]){if(this.show_all){this.elements["filter_controls"].style.display="none";}else{this.elements["filter_controls"].style.display="";}}
if(this.elements["page_controls"]){if(this.num_per_page==9999999){this.elements["page_controls"].style.display="none";}else{this.elements["page_controls"].style.display="";}}},refresh_data:function(){var data=this.raw_data;this.debug_log(["raw data",Basis.keys(data).toString()])
if(this.current_mode&&this.data_type){data=Basis.filter_data(data,this.current_mode,[this.data_type],false);}
this.debug_log(["filter by resource type",Basis.keys(data).toString()])
if(this.current_filter_hash["filter"]==this.filter_hash("filter")){data=this.current_filter_data;this.debug_log(['this.current_filter_hash["filter"] == this.filter_hash("filter")',Basis.keys(data).toString()])}else{if(this.current_filter["group"]){data=this.filter_groups(data);this.debug_log(['this.current_filter["group"]',Basis.keys(data).toString()])}
if(!this.show_all){if(this.current_filter["alpha_limit"]){var fields=this.current_filter["alpha_limit_field"]?[this.current_filter["alpha_limit_field"]]:null;var filter=this.current_filter["alpha_limit"]+"*";data=Basis.filter_data(data,filter,fields,false);this.debug_log(['this.current_filter["alpha_limit"]',Basis.keys(data).toString()])}
if(this.current_filter["search_text"]){var fields=this.current_filter["search_limit"]?[this.current_filter["search_limit"]]:null;var prepared_data=Basis.filter_data(this.prepared_data(data),this.current_filter["search_text"],fields,false);var tdata={};var list=Basis.keys(prepared_data);for(var i=0;i<list.length;i++){tdata[list[i]]=data[list[i]];}
data=tdata;this.debug_log(['this.current_filter["search_text"]',Basis.keys(data).toString()])}}
this.current_filter_data=data;this.current_filter_hash["filter"]=this.filter_hash("filter");this.current_sorted_data=null;this.current_filter_hash["sorting"]=null;}
this.debug_log(['before sort',Basis.keys(data).toString()])
if(this.current_filter_hash["sorting"]==this.filter_hash("sorting")){data=this.current_sorted_data;this.debug_log(['this.current_filter_hash["sorting"] == this.filter_hash("sorting")',Basis.keys(data).toString()])}else{data=Basis.sort_data(data,this.current_sorting.field,this.current_sorting.direction,false,true);this.debug_log(['Basis.sort_data()',Basis.keys(data).toString()])
this.current_sorted_data=data;this.current_filter_hash["sorting"]=this.filter_hash("sorting");}
this.current_raw_dataset=data;this.debug_log(['before paging',Basis.keys(data).toString()])
this.pager.data=data;this.pager.num_per_page=this.num_per_page;var tnum_pages=Math.floor(Basis.array_length(this.current_raw_dataset)/this.num_per_page);this.current_num_pages=tnum_pages+(((tnum_pages*this.num_per_page)==Basis.array_length(this.current_raw_dataset))?0:1);if(this.current_page>this.current_num_pages){this.current_page=1;}
this.pager.current_page=this.current_page;this.current_dataset=this.pager.this_page();this.debug_log(['paged data',Basis.keys(this.current_dataset?this.current_dataset:[]).toString()])},refresh_pages:function(){if(this.current_filter_hash["all"]==this.filter_hash("all")){return;}
var tr=TR();for(var x=0;x<this.current_num_pages;x++){var page=SPAN({"style":"cursor: pointer;"},(x+1));var td=TD({"class":this.root_class_name+".page_controls.page","width":(1/(this.current_num_pages+1),2).toFixed()},page);Basis.signal_handler.connect(page,"onclick",bind(partial(function(page,td){this.load_page(page);},(x+1),td),this),false);tr.appendChild(td);}
var previous_page=SPAN({"style":"cursor: pointer;"},"<<");var next_page=SPAN({"style":"cursor: pointer;"},">>");Basis.signal_handler.connect(previous_page,"onclick",bind(function(){this.last_page();},this),false);Basis.signal_handler.connect(next_page,"onclick",bind(function(){this.next_page();},this),false);var pages_div=DIV({"id":Basis.anonymous_element_id()+"_pages_div","style":"overflow: hidden; cursor: move;"},TABLE({"class":this.root_class_name+".page_controls.pages","cellpadding":"5"},TBODY(null,tr)));var pages=DIV({"class":this.root_class_name+".page_controls"},TABLE({"cellpadding":"0","width":"100%"},TBODY(null,TR(null,TD({"width":"1"},previous_page),TD({"align":"center"},pages_div),TD({"width":"1"},next_page)))));if(Basis.is_live_dom_node(this.elements["page_controls"])){MochiKit.DOM.swapDOM(this.elements["page_controls"],pages);Basis.updated_live_dom();}
this.elements["page_controls"]=pages;Basis.register_size_constraints(pages_div,"100%","25");new Draggable(pages_div.firstChild,{"constraint":"horizontal","contained_by":pages_div});},refresh_table:function(){log("Make me do something");},refresh_title:function(){log("Make me do something");},render:function(view){this.elements["container_output"]=Basis.get_element(this.elements["container_output"]);if(this.elements["container_output"]&&Basis.is_element(this.elements["container_output"])){this.refresh_data();var first_render=(this.elements["container_output"]&&!this.elements["list_output"])?true:false;if(first_render){var search_text=INPUT({"type":"text","style":"width: 200px;"});Basis.signal_handler.connect(search_text,"onchange",bind(partial(function(element){this.current_filter["search_text"]=element.value;},search_text),this),false);var search_text_go=INPUT({"type":"button","value":"Go"});Basis.signal_handler.connect(search_text_go,"onclick",bind(function(){this.refresh();},this),false);var search_limit=SELECT();var alpha_limit=SELECT();Basis.select_add_option(search_limit,""," ")
Basis.select_add_option(alpha_limit,""," ")
for(var i in this.grid_field_map){if(this.grid_field_map[i]&&this.grid_field_map[i]["field"]&&this.grid_field_map[i]["text"]){Basis.select_add_option(search_limit,this.grid_field_map[i]["field"],this.grid_field_map[i]["text"]);Basis.select_add_option(alpha_limit,this.grid_field_map[i]["field"],this.grid_field_map[i]["text"]);}}
Basis.signal_handler.connect(search_limit,"onchange",bind(partial(function(element){this.current_filter["search_limit"]=element.options[element.selectedIndex].value;this.refresh();},search_limit),this),false);Basis.signal_handler.connect(alpha_limit,"onchange",bind(partial(function(element){this.current_filter["alpha_limit_field"]=element.options[element.selectedIndex].value;this.refresh();},alpha_limit),this),false);MochiKit.Signal.connect(search_text,"onkeydown",partial(function(text_input,button,e){if(e.key().string=="KEY_ENTER"){Basis.signal_handler.execute_interactive_element(text_input,"onchange");Basis.signal_handler.execute_interactive_element(button,"onclick");}},search_text,search_text_go));var alpha=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];var alpha_limit_select=DIV({"style":"overflow: hidden; cursor: move;"});var tr=TR();var letter=SPAN({"style":"cursor: pointer;"},"None");var td=TD({"width":(1/(alpha.length+1),2).toFixed()},letter);Basis.signal_handler.connect(letter,"onclick",bind(partial(function(letter){this.current_filter["alpha_limit"]=null;this.refresh();},alpha[x]),this),false);tr.appendChild(td);for(var x=0;x<alpha.length;x++){var letter=SPAN({"style":"cursor: pointer;"},alpha[x]);var td=TD({"width":(1/(alpha.length+1),2).toFixed()},letter);Basis.signal_handler.connect(letter,"onclick",bind(partial(function(letter){this.current_filter["alpha_limit"]=letter;this.refresh();},alpha[x]),this),false);tr.appendChild(td);}
alpha_limit_select.appendChild(TABLE({"class":this.root_class_name+".filter_controls.alpha_limit","width":"100%","cellpadding":"5"},TBODY(null,tr)));this.elements["filter_controls"]=DIV({"class":this.root_class_name+".filter_controls"},P({"style":"padding-left: 10px;"},STRONG(null,"Find Specific Items:")),TABLE({"cellpadding":"5"},TBODY(null,TR(null,TD(null,"Search: "),TD(null,search_text),TD(null,search_text_go),TD(null,"Search Only This Field: "),TD(null,search_limit)),TR({"style":"display: none;"},TD(null,"Limit to: "),TD({"colspan":"2","style":"padding: 0px;"},alpha_limit_select),TD(null,"Limit To Only This Field: "),TD(null,alpha_limit)))));this.refresh_pages();var button_find_specific_resources=INPUT({"type":"button","style":(this.show_all?"":"display: none;"),"value":"Find Specific Items"});var button_show_all_resources=INPUT({"type":"button","style":(!this.show_all?"":"display: none;"),"value":"Show All"});var button_add_new_resource=INPUT({"type":"button","value":"Add New"});Basis.signal_handler.connect(button_find_specific_resources,"onclick",bind(partial(function(button_find_specific_resources,button_show_all_resources){this.show_all=false;button_find_specific_resources.style.display="none";button_show_all_resources.style.display="";this.clear_cached_datasets()
this.refresh();},button_find_specific_resources,button_show_all_resources),this),false);Basis.signal_handler.connect(button_show_all_resources,"onclick",bind(partial(function(button_find_specific_resources,button_show_all_resources){this.show_all=true;button_find_specific_resources.style.display="";button_show_all_resources.style.display="none";this.clear_cached_datasets()
this.refresh();},button_find_specific_resources,button_show_all_resources),this),false);Basis.signal_handler.connect(button_add_new_resource,"onclick",this.add_new_resource,false);var dropdown_num_per_page=SELECT();Basis.select_add_options(dropdown_num_per_page,{10:"10 per Page",25:"25 per Page",50:"50 per Page",9999999:"All Results"});Basis.select_select_item_by_value(dropdown_num_per_page,this.num_per_page);Basis.signal_handler.connect(dropdown_num_per_page,"onchange",bind(partial(function(element){this.num_per_page=element.options[element.selectedIndex].value;this.current_page=1;this.refresh();},dropdown_num_per_page),this),false);var resource_type=null;if(Basis.array_length(this.resource_types)>0){var resource_type=SELECT();Basis.select_add_options(resource_type,this.resource_types);Basis.select_select_item_by_value(resource_type,this.default_resource_type);Basis.signal_handler.connect(resource_type,"onchange",bind(partial(function(element){this.current_mode=element.options[element.selectedIndex].value;this.current_page=1;this.clear_cached_datasets();this.refresh();},resource_type),this),false);}
var group_filter=SELECT();group_filter.onchange=bind(partial(function(element){this.current_filter["group"]=element.options[element.selectedIndex].value;this.refresh();},group_filter),this);this.elements["group_filter"]=group_filter;var archived_filter=SELECT();Basis.select_add_options(archived_filter,{"no":" ","yes":"Show All Archived"});archived_filter.onchange=bind(partial(function(element){this.current_filter["archived"]=element.options[element.selectedIndex].value;this.clear_cached_datasets();this.fetch_raw_data((this.current_filter["archived"]=="yes")?true:false);this.refresh();},archived_filter),this);this.elements["archived_filter"]=archived_filter;this.elements["general_buttons"]=DIV({"class":this.root_class_name+".main_buttons"},TABLE({"border":"0","width":"100%","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"align":"left"},button_find_specific_resources,button_show_all_resources,(this.can_add_new_resource?button_add_new_resource:null)),TD({"align":"right"},(resource_type?"Type: ":null),resource_type,archived_filter,group_filter,dropdown_num_per_page)))));this.elements["list_output"]=DIV(null,"Grid Rows");var container=TABLE({"border":"0","width":"100%","class":this.root_class_name+".container","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD(null,this.elements["general_buttons"],this.elements["filter_controls"],this.elements["page_controls"],this.elements["list_output"]))));this.refresh_controls();this.refresh_title();Basis.remove_children(this.elements["container_output"]);this.elements["container_output"].appendChild(container);Basis.updated_live_dom();Basis.register_size_constraints(alpha_limit_select,"100%","25");new Draggable(alpha_limit_select.firstChild,{"constraint":"horizontal","contained_by":alpha_limit_select});}
this.refresh();}},render_groups:function(resource_id,mode){var mode=Basis.in_array(mode,["detail","edit","add"])?mode:"detail";var resource_id=Basis.is_number(resource_id)?Math.round(resource_id):null;var groups=null;var keys=Basis.keys(this.group_map);if(resource_id&&(Basis.in_array(resource_id,keys)!=null)){switch(mode){case"detail":var groups=DIV();for(var i in this.group_map[resource_id]){var group_id=this.group_map[resource_id][i];if(!Basis.is_function(this.groups[group_id])){groups.appendChild(DIV(null,this.groups[group_id]));}}
break;case"edit":case"add":var groups=DIV();for(var i in this.groups){var group_id=i;if(!Basis.is_function(this.groups[group_id])){var checkbox=INPUT({"type":"checkbox"});checkbox.checked=Basis.in_array(group_id,this.group_map[resource_id])?true:false;checkbox.value=group_id;if(mode=="edit"){Basis.signal_handler.connect(checkbox,"onclick",bind(partial(function(group_id,resource_id,element){this.group_map[resource_id]=Basis.is_object(this.group_map[resource_id])?this.group_map[resource_id]:{};if(element.checked){this.group_map[resource_id][Basis.array_length(this.group_map[resource_id])]=group_id;this.save_groups(resource_id);}else{var idx=Basis.index_of(this.group_map[resource_id],group_id);if(idx!=null){delete this.group_map[resource_id][idx];}
this.save_groups(resource_id);}},i,resource_id,checkbox),this),false);}
groups.appendChild(DIV(null,checkbox," ",this.groups[i]));}}
break;}}
return groups;},render_resource:function(){log("I need to be set to do something!");},save_groups:function(resource_id){var to_post={};to_post["resource_id"]=resource_id;to_post["groups"]=this.group_map[resource_id];var as=new Basis.ajax_scaffold;as.alias="save_groups";as.list=this;as.on_success=function(req){this.list.current_filter_hash={"all":null,"filter":null,"sorting":null,"group":null};this.list.current_filter_data={};window.status="Done";};return as.post({"to_post":to_post});},select_resource:function(resource_id){if(resource_id&&!this.is_selected(resource_id)){this.currently_selected.push(resource_id);}},system_log:function(message){if(message){var timestamp=Basis.parse_number(Date.parse(Date()).toString().substring(0,10));MochiKit.Logging.log(timestamp+" "+message);}},unarchive_resources:function(resource_ids){if(confirm("Are you sure you want to restore the selected items?")){var to_post={};to_post["resource_ids"]=resource_ids;var as=new Basis.ajax_scaffold;as.alias="unarchive_resources";as.list=this;as.on_success=function(req){var ids_unarchived=MochiKit.Base.evalJSON(req.responseText);for(var i=0;i<ids_unarchived.length;i++){if(this.list.dashboard&&this.list.dashboard.resource_linker[ids_unarchived[i]]){this.list.dashboard.resource_linker[ids_unarchived[i]]["archived"]="no";}}
this.list.clear_cached_datasets(true);this.list.fetch_raw_data((this.list.current_filter["archived"]=="yes")?true:false);this.list.refresh();window.status="Done";};return as.post({"to_post":to_post});}},unselect_resource:function(resource_id){if(resource_id&&Basis.in_array(resource_id,this.currently_selected)){var idx=this.currently_selected.indexOf(resource_id);this.currently_selected=Basis.array_delete_index(this.currently_selected,idx);}},update_resource_field:function(resource_id,field,value){if(this.raw_data[resource_id]){this.raw_data[resource_id][field]=value;}
if(this.current_filter_data[resource_id]){this.current_filter_data[resource_id][field]=value;}
if(this.current_sorted_data[resource_id]){this.current_sorted_data[resource_id][field]=value;}
if(this.current_raw_dataset[resource_id]){this.current_raw_dataset[resource_id][field]=value;}}};Basis.wizard=function(options){this.__init__(options);};Basis.wizard.prototype={__init__:function(options){var options=Basis.is_object(options)?options:{};this.options=options;this.tiles=(options["tiles"])?options["tiles"]:new Basis.tile_manager();this.name="";this.steps=[];this.current_step=-1;this.on_done=function(){};this.on_cancel=function(){};this.should_destroy_background=true;Basis.state_handler.add_state("wizard");Basis.state_handler.register_key_handler("wizard","KEY_ESCAPE","down",bind(function(){this.cancel();},this));},add_step:function(name,content,options){var index=this.steps.push({"name":name,"content":content,"options":options});Basis.state_handler.add_state("wizard_"+this.name+"_step_"+index);return this.steps[index-1];},can_unload:function(){if(this.steps[this.current_step]&&Basis.is_function(this.steps[this.current_step].options.can_unload)){return this.steps[this.current_step].options.can_unload();}
return true;},cancel:function(){if(confirm("Are you sure you want to exit this wizard?")){this.done(true);this.on_cancel();}},compile:function(){if((this.tiles.toString()=="Basis.tile_manager")&&(this.steps.length>0)){this.redefine_tile_sizing();this.create_wizard_container();MochiKit.Style.setOpacity("wizard_container",0);this.tiles.container_element=Basis.get_element("wizard_container");this.tiles.compile();this.options["width"]=this.options["width"]?this.options["width"]:"70%";this.options["height"]=this.options["height"]?this.options["height"]:"70%";Basis.register_size_constraints(this.tiles.container_element,this.options["width"],this.options["height"],null,false);Basis.state_handler.enter_state("wizard");this.render_step(0);Basis.center_element("wizard_container");MochiKit.Style.setOpacity("wizard_container",100);this.create_background();}},create_background:function(opacity){var opacity=(opacity!=null)?opacity:0.50;var obj=MochiKit.DOM.getElement("background");if(!obj){var element=DIV({"id":"background","style":"display: none; background-color: #000000; position: absolute; z-index: 1001; top: 0px; left: 0px;"});document.body.appendChild(element);MochiKit.Style.setOpacity(element,0.0);}
var obj=MochiKit.DOM.getElement("background");if(obj){var screend={"w":MochiKit.Style.getElementDimensions(MochiKit.DOM.currentDocument().body).w,"h":MochiKit.Style.getViewportDimensions().h};var scroll=Basis.scroll_coords();obj.style.width=screend.w;obj.style.height=screend.h;MochiKit.Style.setElementPosition(obj,{"x":scroll.x,"y":scroll.y});if(MochiKit.Style.getStyle(obj,"opacity")<opacity){MochiKit.Style.setOpacity(obj,0.0);obj.style.display="";appear(obj,{"duration":0.50,"to":opacity});}}
if(!MochiKit.DOM.currentDocument().background_resize){MochiKit.DOM.currentDocument().background_resize=MochiKit.Signal.connect(window,"onresize",MochiKit.Base.bind(partial(function(opacity){this.create_background(opacity);},opacity),this));}},create_wizard_container:function(){var obj=MochiKit.DOM.getElement("wizard_container");if(!obj){var element=DIV({"id":"wizard_container","style":"overflow: hidden; background-color: #FFFFFF; position: absolute; z-index: 1002; top: 0px; left: 0px;"});document.body.appendChild(element);if(!MochiKit.DOM.currentDocument().background_recenter){MochiKit.DOM.currentDocument().background_recenter=MochiKit.Signal.connect(window,"onresize",MochiKit.Base.bind(function(){Basis.center_element("wizard_container",true);},this));}}},default_screen:function(name){var section=DIV({"style":"overflow: auto;"});section.style.padding="10px";var element=DIV();var table=TABLE({"cellpadding":"10","cellspacing":"0","width":"100%"},TBODY(null,TR(null,TD(null,section))));var button_back=(this.current_step>0)?INPUT({"type":"button","value":(this.options["back_button_text"]?this.options["back_button_text"]:"Back")}):null;var button_next=(this.current_step<(this.steps.length-1))?INPUT({"type":"button","value":(this.options["next_button_text"]?this.options["next_button_text"]:"Next")}):null;var button_done=(this.current_step==(this.steps.length-1))?INPUT({"type":"button","value":(this.options["done_button_text"]?this.options["done_button_text"]:"Done")}):null;var button_cancel=(this.options["cancel_button"]!==false)?INPUT({"type":"button","value":(this.options["cancel_button_text"]?this.options["cancel_button_text"]:"Cancel")}):null;Basis.signal_handler.connect(button_back,"onclick",bind(function(){this.render_step(this.current_step-1);},this));Basis.signal_handler.connect(button_next,"onclick",bind(function(){this.render_step(this.current_step+1);},this));Basis.signal_handler.connect(button_done,"onclick",bind(function(){this.done();},this));Basis.signal_handler.connect(button_cancel,"onclick",bind(function(){this.cancel();},this));var buttons=DIV({"style":"text-align: right; height: 30px;"},button_back,button_next,button_cancel,button_done);element.appendChild(Basis.dashboard.header_block(name,false));element.appendChild(table);element.appendChild(buttons);element.content=section;Basis.register_size_constraints(element.content,"100%","100%");Basis.register_size_constraints(element,"100%","100%");Basis.register_size_constraints(table,"100%","100%");return element;},destroy_background:function(fade){var fade=(fade===false)?false:true;var obj=MochiKit.DOM.getElement("background");if(obj){Basis.remove_element("wizard_container");MochiKit.Signal.disconnect(MochiKit.DOM.currentDocument().wizard_container_resize);MochiKit.Signal.disconnect(MochiKit.DOM.currentDocument().wizard_container_recenter);if(this.should_destroy_background){var after_finish=partial(function(obj){MochiKit.Signal.disconnect(MochiKit.DOM.currentDocument().background_resize);MochiKit.DOM.currentDocument().background_resize=null;Basis.remove_element(obj);},obj);if(fade){MochiKit.Visual.fade(obj,{"duration":0.5,"from":0.5,"afterFinish":after_finish});}else{after_finish();}}}},done:function(from_cancel){if((!from_cancel&&this.can_unload())||from_cancel){if(this.tiles.tiles&&this.tiles.tiles[this.tiles.tiles.length-1]){if(Basis.is_function(this.tiles.tiles[this.tiles.tiles.length-1].on_unload)){this.tiles.tiles[this.tiles.tiles.length-1].on_unload();}
if(Basis.is_function(this.tiles.tiles[this.tiles.tiles.length-1].after_unload)){this.tiles.tiles[this.tiles.tiles.length-1].after_unload();}}
this.tiles.clear_all_tiles();this.current_step=-1;this.destroy_background();Basis.state_handler.revert();if(from_cancel!==true){this.on_done();}}},redefine_tile_sizing:function(){this.tiles.resize_tiles=function(){if(Basis.is_live_dom_node(this.container_element)){var container_size=MochiKit.Style.getElementDimensions(this.container_element);if(container_size){for(var i=0;i<this.tiles.length;i++){var tile=this.tiles[i];Basis.set_style(tile,{"left":(i*container_size.w)+"px"});}
Basis.set_element_dimensions(this.child_tile_container_element,{"w":(container_size.w*this.tiles.length),"h":container_size.h});Basis.set_style(this.child_tile_container_element,{"left":(this.current_tile*container_size.w*-1)+"px"});}}};},render_step:function(index){if(this.current_step==index){return;}
if(this.can_unload()){this.current_step=index;if(this.tiles.tiles[index]){this.tiles.go_to(index);return;}
if(this.steps[index]){var name=this.steps[index].name;var content=this.steps[index].content;var options=this.steps[index].options;var options=Basis.is_object(options)?options:{};var tile=this.tiles.create_tile();tile.name=name;tile.appendChild(this.default_screen(name));tile.hide_when_sliding=tile.firstChild.content;tile.on_load=options["on_load"];tile.on_unload=options["on_unload"];tile.before_unload=options["before_unload"];tile.after_unload=options["after_unload"];tile.can_unload=options["can_unload"];var index=this.tiles.push_tile(tile);if(content){content=Basis.is_element(content)?content:SPAN(null,content);tile.firstChild.content.appendChild(content);}
MochiKit.Style.resizeConstrainedElements();this.create_wizard_container();Basis.updated_live_dom();this.tiles.go_to(index);return index;}}}};;Basis.grid_control.contact_list=function(options){this.__init__(options);};Basis.grid_control.contact_list.prototype={__init__:function(options){this.grid_control=new Basis.grid_control(options);this.grid_control.dashboard=options["dashboard"];this.grid_control.contact_list_resource_id=null;this.grid_control.current_mode="individual";this.grid_control.contact_map={};this.grid_control.data_type="CONTACT_type";this.grid_control.root_class_name="Basis.contact_list";this.grid_control.fields_to_display={"individual":["first_name","last_name","company_name","phone_cell","email_address1"],"organization":["company_name","address1","address2","city","state","zip_code","county","notes"]};this.grid_control.countries={"":" ","US":"United States","AF":"Afghanistan","AL":"Albania","DZ":"Algeria","AS":"American Samoa","AD":"Andorra","AO":"Angola","AI":"Anguilla","AQ":"Antarctica","AG":"Antigua And Barbuda","AR":"Argentina","AM":"Armenia","AW":"Aruba","AU":"Australia","AT":"Austria","AZ":"Azerbaijan","BS":"Bahamas","BH":"Bahrain","BD":"Bangladesh","BB":"Barbados","BY":"Belarus","BE":"Belgium","BZ":"Belize","BJ":"Benin","BM":"Bermuda","BT":"Bhutan","BO":"Bolivia","BA":"Bosnia And Herzegowina","BW":"Botswana","BV":"Bouvet Island","BR":"Brazil","IO":"British Indian Ocean Territory","BN":"Brunei Darussalam","BG":"Bulgaria","BF":"Burkina Faso","BI":"Burundi","KH":"Cambodia","CM":"Cameroon","CA":"Canada","CV":"Cape Verde","KY":"Cayman Islands","CF":"Central African Republic","TD":"Chad","CL":"Chile","CN":"China","CX":"Christmas Island","CC":"Cocos (Keeling) Islands","CO":"Colombia","KM":"Comoros","CG":"Congo","CD":"Congo, The Democratic Republic Of The","CK":"Cook Islands","CR":"Costa Rica","CI":"Cote D'Ivoire","HR":"Croatia (Local Name: Hrvatska)","CU":"Cuba","CY":"Cyprus","CZ":"Czech Republic","DK":"Denmark","DJ":"Djibouti","DM":"Dominica","DO":"Dominican Republic","TP":"East Timor","EC":"Ecuador","EG":"Egypt","SV":"El Salvador","GQ":"Equatorial Guinea","ER":"Eritrea","EE":"Estonia","ET":"Ethiopia","FK":"Falkland Islands (Malvinas)","FO":"Faroe Islands","FJ":"Fiji","FI":"Finland","FR":"France","FX":"France, Metropolitan","GF":"French Guiana","PF":"French Polynesia","TF":"French Southern Territories","GA":"Gabon","GM":"Gambia","GE":"Georgia","DE":"Germany","GH":"Ghana","GI":"Gibraltar","GR":"Greece","GL":"Greenland","GD":"Grenada","GP":"Guadeloupe","GU":"Guam","GT":"Guatemala","GN":"Guinea","GW":"Guinea-Bissau","GY":"Guyana","HT":"Haiti","HM":"Heard And Mc Donald Islands","VA":"Holy See (Vatican City State)","HN":"Honduras","HK":"Hong Kong","HU":"Hungary","IS":"Iceland","IN":"India","ID":"Indonesia","IR":"Iran (Islamic Republic Of)","IQ":"Iraq","IE":"Ireland","IL":"Israel","IT":"Italy","JM":"Jamaica","JP":"Japan","JO":"Jordan","KZ":"Kazakhstan","KE":"Kenya","KI":"Kiribati","KP":"Korea, Democratic People'S Republic Of","KR":"Korea, Republic Of","KW":"Kuwait","KG":"Kyrgyzstan","LA":"Lao People'S Democratic Republic","LV":"Latvia","LB":"Lebanon","LS":"Lesotho","LR":"Liberia","LY":"Libyan Arab Jamahiriya","LI":"Liechtenstein","LT":"Lithuania","LU":"Luxembourg","MO":"Macau","MK":"Macedonia, Former Yugoslav Republic Of","MG":"Madagascar","MW":"Malawi","MY":"Malaysia","MV":"Maldives","ML":"Mali","MT":"Malta","MH":"Marshall Islands","MQ":"Martinique","MR":"Mauritania","MU":"Mauritius","YT":"Mayotte","MX":"Mexico","FM":"Micronesia, Federated States Of","MD":"Moldova, Republic Of","MC":"Monaco","MN":"Mongolia","MS":"Montserrat","MA":"Morocco","MZ":"Mozambique","MM":"Myanmar","NA":"Namibia","NR":"Nauru","NP":"Nepal","NL":"Netherlands","AN":"Netherlands Antilles","NC":"New Caledonia","NZ":"New Zealand","NI":"Nicaragua","NE":"Niger","NG":"Nigeria","NU":"Niue","NF":"Norfolk Island","MP":"Northern Mariana Islands","NO":"Norway","OM":"Oman","PK":"Pakistan","PW":"Palau","PA":"Panama","PG":"Papua New Guinea","PY":"Paraguay","PE":"Peru","PH":"Philippines","PN":"Pitcairn","PL":"Poland","PT":"Portugal","PR":"Puerto Rico","QA":"Qatar","RE":"Reunion","RO":"Romania","RU":"Russian Federation","RW":"Rwanda","KN":"Saint Kitts And Nevis","LC":"Saint Lucia","VC":"Saint Vincent And The Grenadines","WS":"Samoa","SM":"San Marino","ST":"Sao Tome And Principe","SA":"Saudi Arabia","SN":"Senegal","SC":"Seychelles","SL":"Sierra Leone","SG":"Singapore","SK":"Slovakia (Slovak Republic)","SI":"Slovenia","SB":"Solomon Islands","SO":"Somalia","ZA":"South Africa","GS":"South Georgia, South Sandwich Islands","ES":"Spain","LK":"Sri Lanka","SH":"St. Helena","PM":"St. Pierre And Miquelon","SD":"Sudan","SR":"Suriname","SJ":"Svalbard And Jan Mayen Islands","SZ":"Swaziland","SE":"Sweden","CH":"Switzerland","SY":"Syrian Arab Republic","TW":"Taiwan","TJ":"Tajikistan","TZ":"Tanzania, United Republic Of","TH":"Thailand","TG":"Togo","TK":"Tokelau","TO":"Tonga","TT":"Trinidad And Tobago","TN":"Tunisia","TR":"Turkey","TM":"Turkmenistan","TC":"Turks And Caicos Islands","TV":"Tuvalu","UG":"Uganda","UA":"Ukraine","AE":"United Arab Emirates","GB":"United Kingdom","UM":"United States Minor Outlying Islands","UY":"Uruguay","UZ":"Uzbekistan","VU":"Vanuatu","VE":"Venezuela","VN":"Viet Nam","VG":"Virgin Islands (British)","VI":"Virgin Islands (U.S.)","WF":"Wallis And Futuna Islands","EH":"Western Sahara","YE":"Yemen","YU":"Yugoslavia","ZM":"Zambia","ZW":"Zimbabwe"};this.grid_control.states={"":" ","AL":"Alabama","AK":"Alaska","AS":"American Samoa","AZ":"Arizona","AR":"Arkansas","AE":"Armed Forces - Europe","AP":"Armed Forces - Pacific","AA":"Armed Forces - USA/Canada","CA":"California","CO":"Colorado","CT":"Connecticut","DE":"Delaware","DC":"District of Columbia","FM":"Federated States of Micronesia","FL":"Florida","GA":"Georgia","GU":"Guam","HI":"Hawaii","ID":"Idaho","IL":"Illinois","IN":"Indiana","IA":"Iowa","KS":"Kansas","KY":"Kentucky","LA":"Louisiana","ME":"Maine","MH":"Marshall Islands","MD":"Maryland","MA":"Massachusetts","MI":"Michigan","MN":"Minnesota","MS":"Mississippi","MO":"Missouri","MT":"Montana","NE":"Nebraska","NV":"Nevada","NH":"New Hampshire","NJ":"New Jersey","NM":"New Mexico","NY":"New York","NC":"North Carolina","ND":"North Dakota","OH":"Ohio","OK":"Oklahoma","OR":"Oregon","PA":"Pennsylvania","PR":"Puerto Rico","RI":"Rhode Island","SC":"South Carolina","SD":"South Dakota","TN":"Tennessee","TX":"Texas","UT":"Utah","VT":"Vermont","VI":"Virgin Islands","VA":"Virginia","WA":"Washington","WV":"West Virginia","WI":"Wisconsin","WY":"Wyoming","AB":"Alberta","BC":"British Columbia","MB":"Manitoba","NB":"New Brunswick","NF":"Newfoundland","MP":"Northern Mariana Islandt","NT":"Northwest Territories","NS":"Nova Scotia","ON":"Ontario","PW":"Palau Island","PE":"Prince Edward Island","QC":"Quebec","SK":"Saskatchewan","YT":"Yukon Territory","Australian Capital Territory":"Australian Capital Territory","New South Wales":"New South Wales","Northern Territory":"Northern Territory","Queensland":"Queensland","South Australia":"South Australia","Tasmania":"Tasmania","Victoria":"Victoria","Western Australia":"Western Australia"};this.grid_control.counties={"MI":{"":" ","Alcona":"Alcona","Alger":"Alger","Allegan":"Allegan","Alpena":"Alpena","Antrim":"Antrim","Arenac":"Arenac","Baraga":"Baraga","Barry":"Barry","Bay":"Bay","Benzie":"Benzie","Berrien":"Berrien","Branch":"Branch","Calhoun":"Calhoun","Cass":"Cass","Charlevoix":"Charlevoix","Cheboygan":"Cheboygan","Chippewa":"Chippewa","Clare":"Clare","Clinton":"Clinton","Crawford":"Crawford","Delta":"Delta","Dickinson":"Dickinson","Eaton":"Eaton","Emmet":"Emmet","Genesee":"Genesee","Gladwin":"Gladwin","Gogebic":"Gogebic","Grand Traverse":"Grand Traverse","Gratiot":"Gratiot","Hillsdale":"Hillsdale","Houghton":"Houghton","Huron":"Huron","Ingham":"Ingham","Ionia":"Ionia","Iosco":"Iosco","Iron":"Iron","Isabella":"Isabella","Jackson":"Jackson","Kalamazoo":"Kalamazoo","Kalkaska":"Kalkaska","Kent":"Kent","Keweenaw":"Keweenaw","Lake":"Lake","Lapeer":"Lapeer","Leelanau":"Leelanau","Lenawee":"Lenawee","Livingston":"Livingston","Luce":"Luce","Mackinac":"Mackinac","Macomb":"Macomb","Manistee":"Manistee","Marquette":"Marquette","Mason":"Mason","Mecosta":"Mecosta","Menominee":"Menominee","Midland":"Midland","Missaukee":"Missaukee","Monroe":"Monroe","Montcalm":"Montcalm","Montmorency":"Montmorency","Muskegon":"Muskegon","Newaygo":"Newaygo","Oakland":"Oakland","Oceana":"Oceana","Ogemaw":"Ogemaw","Ontonagon":"Ontonagon","Osceola":"Osceola","Oscoda":"Oscoda","Otsego":"Otsego","Ottawa":"Ottawa","Presque Isle":"Presque Isle","Roscommon":"Roscommon","Saginaw":"Saginaw","St. Clair":"St. Clair","St. Joseph":"St. Joseph","Sanilac":"Sanilac","Schoolcraft":"Schoolcraft","Shiawassee":"Shiawassee","Tuscola":"Tuscola","Van Buren":"Van Buren","Washtenaw":"Washtenaw","Wayne":"Wayne","Wexford":"Wexford"},"OH":{"":" ","Adams":"Adams","Allen":"Allen","Ashland":"Ashland","Ashtabula":"Ashtabula","Athens":"Athens","Auglaize":"Auglaize","Belmont":"Belmont","Brown":"Brown","Butler":"Butler","Carroll":"Carroll","Champaign":"Champaign","Clark":"Clark","Clermont":"Clermont","Clinton":"Clinton","Columbiana":"Columbiana","Coshocton":"Coshocton","Crawford":"Crawford","Cuyahoga":"Cuyahoga","Darke":"Darke","Defiance":"Defiance","Delaware":"Delaware","Erie":"Erie","Fairfield":"Fairfield","Fayette":"Fayette","Franklin":"Franklin","Fulton":"Fulton","Gallia":"Gallia","Geauga":"Geauga","Greene":"Greene","Guernsey":"Guernsey","Hamilton":"Hamilton","Hancock":"Hancock","Hardin":"Hardin","Harrison":"Harrison","Henry":"Henry","Highland":"Highland","Hocking":"Hocking","Holmes":"Holmes","Huron":"Huron","Jackson":"Jackson","Jefferson":"Jefferson","Knox":"Knox","Lake":"Lake","Lawrence":"Lawrence","Licking":"Licking","Logan":"Logan","Lorain":"Lorain","Lucas":"Lucas","Madison":"Madison","Mahoning":"Mahoning","Marion":"Marion","Medina":"Medina","Meigs":"Meigs","Mercer":"Mercer","Miami":"Miami","Monroe":"Monroe","Montgomery":"Montgomery","Morgan":"Morgan","Morrow":"Morrow","Muskingum":"Muskingum","Noble":"Noble","Ottawa":"Ottawa","Paulding":"Paulding","Perry":"Perry","Pickaway":"Pickaway","Pike":"Pike","Portage":"Portage","Preble":"Preble","Putnam":"Putnam","Richland":"Richland","Ross":"Ross","Sandusky":"Sandusky","Scioto":"Scioto","Seneca":"Seneca","Shelby":"Shelby","Stark":"Stark","Summit":"Summit","Trumbull":"Trumbull","Tuscarawas":"Tuscarawas","Union":"Union","Van Wert":"Van Wert","Vinton":"Vinton","Warren":"Warren","Washington":"Washington","Wayne":"Wayne","Williams":"Williams","Wood":"Wood","Wyandot":"Wyandot"}};this.grid_control.grid_field_map={"type":{"text":"Type","type":"select","array":{"individual":"Individual","organization":"Organization"},"field":"CONTACT_type"},"company_name":{"text":"Company Name","type":"text","field":"company_name"},"first_name":{"text":"First Name","type":"text","field":"first_name"},"last_name":{"text":"Last Name","type":"text","field":"last_name"},"address1":{"text":"Address","type":"text","field":"address1"},"address2":{"text":"Address (cont'd)","type":"text","field":"address2"},"city":{"text":"City","type":"text","field":"city"},"state":{"text":"State","type":"select","array":this.grid_control.states,"field":"state"},"zip_code":{"text":"Zip Code","type":"text","field":"zip_code"},"county":{"text":"County","type":"select","array":{},"field":"county"},"country":{"text":"Country","type":"select","array":this.grid_control.countries,"field":"country"},"phone_business":{"text":"Business","type":"text","field":"phone_business"},"phone_home":{"text":"Home","type":"text","field":"phone_home"},"phone_cell":{"text":"Cell","type":"text","field":"phone_cell"},"phone_fax":{"text":"Fax","type":"text","field":"phone_fax"},"email_address1":{"text":"Email","type":"text","field":"email_address1"},"email_address2":{"text":"Email (other)","type":"text","field":"email_address2"},"url1":{"text":"Website","type":"text","field":"url1"},"url2":{"text":"Website (other)","type":"text","field":"url2"},"notes":{"text":"Notes","type":"text","field":"notes"}};this.grid_control.resource_types={"individual":"Individual","organization":"Organization"};this.grid_control.default_resource_type="individual";this.grid_control.add_new_resource=bind(function(){this.grid_control.dashboard.run_wizard("CONTACT",{"grid_control":this.grid_control});},this);this.grid_control.elements["contact_list"]=null;this.grid_control.clear_cached_datasets=bind(function(retain_sorting){var retain_sorting=(retain_sorting)?true:false;this.current_dataset={};this.current_raw_dataset={};this.current_filter_hash={"all":null,"filter":null,"sorting":null,"group":null};this.current_filter_data={};this.current_sorting={"field":(retain_sorting?this.current_sorting.field:((this.current_mode=="organization")?"company_name":"first_name")),"direction":(retain_sorting?this.current_sorting.direction:"ASC")};this.current_sorted_data={};},this.grid_control);this.grid_control.fetch_raw_data=bind(function(){if(this.dashboard){this.raw_data={};this.group_map={};this.contact_map={};var keys=Basis.keys(this.dashboard.resource_linker[this.contact_list_resource_id]["associated_resources"]["CONTACT.V2"]);keys=keys?keys:[];for(var i=0;i<keys.length;i++){if(this.dashboard.resource_linker[keys[i]]){this.raw_data[keys[i]]=this.dashboard.resource_linker[keys[i]]["misc_vars"];this.group_map[keys[i]]=Basis.keys(this.dashboard.resource_linker[keys[i]]["associated_resources"]["GROUP"]);this.contact_map[keys[i]]=Basis.keys(this.dashboard.resource_linker[keys[i]]["associated_resources"]["CONTACT.V2"]);}}
return new MochiKit.Async.succeed();}else{var to_post={};to_post["contact_list_resource_id"]=this.contact_list_resource_id;var as=new Basis.ajax_scaffold;as.alias="get_raw_contact_data";as.list=this;as.on_success=function(req){var raw_data=MochiKit.Base.evalJSON(req.responseText);this.list.raw_data=raw_data["raw_data"];this.list.group_map=raw_data["group_map"];this.list.contact_map=raw_data["contact_map"];window.status="Done";};return as.post({"to_post":to_post});}},this.grid_control);this.grid_control.email_contacts=bind(function(resource_ids,method){var method=(method==null)?"client":method;switch(method){case"client":var mailto="";var addresses={};for(var i=0;i<this.currently_selected.length;i++){var resource_id=this.currently_selected[i];var email_address1=this.get_master_field_data("email_address1",this.raw_data[resource_id],true);var email_address2=this.get_master_field_data("email_address2",this.raw_data[resource_id],true);addresses[email_address1]=true;addresses[email_address2]=true;}
var keys=Basis.keys(addresses);for(var i=0;i<keys.length;i++){if(keys[i]){mailto+=keys[i]+";";}}
mailto=mailto?("mailto:"+mailto):"";if(mailto){window.onbeforeunload=null;window.location.href=mailto;}
break;case"sitequarters":if(confirm("Are you sure you want to send email to "+((this.grid_control.currently_selected.length>1)?"these":"this")+" contact"+((this.grid_control.currently_selected.length>1)?"s":"")+"?")){this.grid_control.dashboard.run_wizard("EMAIL_CONTACTS",{"currently_selected":this.grid_control.currently_selected});}
break;}},this);this.grid_control.invite_contacts_as_user=bind(function(){if(confirm("Are you sure you want to invite "+((this.grid_control.currently_selected.length>1)?"these":"this")+" contact"+((this.grid_control.currently_selected.length>1)?"s":"")+" to become "+((this.grid_control.currently_selected.length>1)?"users":"a user")+" of this site?")){this.grid_control.dashboard.run_wizard("INVITE_USERS",{"currently_selected":this.grid_control.currently_selected});}},this);this.grid_control.refresh_table=bind(function(){var with_selected=SELECT({"id":Basis.anonymous_element_id()});Basis.select_add_option(with_selected,""," ");Basis.select_add_options(with_selected,{"delete":"Delete Contacts","email_client":"Email via Outlook","email_contacts":"Email via SiteQuarters","export_to_vcards":"Export to vCards","invite_contacts_as_user":"Invite as Users"});Basis.select_add_options(with_selected,{"print_line_item":"Print - Line Item"});Basis.select_add_options(with_selected,{"print_detail":"Print - Detail"});Basis.signal_handler.connect(with_selected,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element){switch(element.options[element.selectedIndex].value){case"delete":this.delete_resources(this.currently_selected);Basis.select_select_item_by_value(element,"");break;case"email_client":this.email_contacts(this.currently_selected,"client");Basis.select_select_item_by_value(element,"");break;case"email_contacts":this.email_contacts(this.currently_selected,"sitequarters");Basis.select_select_item_by_value(element,"");break;case"invite_contacts_as_user":this.invite_contacts_as_user();Basis.select_select_item_by_value(element,"");break;case"export_to_vcards":if(this.currently_selected.length==0){alert("Please choose some contacts to export in vCard format.");}else{window.onbeforeunload=null;window.location.href=this.dashboard["site_url"]+"/ajax/ajax/vcard_export.php?ids="+urlencode(encodeBase64(MochiKit.Base.serializeJSON(this.currently_selected)));}
Basis.select_select_item_by_value(element,"");break;case"print_line_item":case"print_detail":if(this.currently_selected.length>0){var url=window.location.href.split("?")[0];url=url.split("/");delete url[url.length-1];url=url.join("/");url+="/index.print.php?type=CONTACT.V2&mode="+((element.options[element.selectedIndex].value=="print_line_item")?"line_item":"detail")+"&ids="+escape(encodeBase64(MochiKit.Base.serializeJSON(this.currently_selected)));window.onbeforeunload=null;window.location.href=url;}
Basis.select_select_item_by_value(element,"");break;}},with_selected),this),false);var table=DIV({"style":"text-align: right;"},DIV(null,STRONG(null,"With selected: "),with_selected),TABLE({"class":this.root_class_name+".table"},TBODY()));var fields=this.fields_to_display[this.current_mode];var header=TR();header.appendChild(TD({"width":"1"}));header.appendChild(TD({"width":"1"}));for(var i=0;i<fields.length;i++){var td=TD({"width":(Math.round((1/fields.length)*100)+"%"),"class":this.root_class_name+".table.field_name"},this.get_master_field_title(fields[i]));td.field=fields[i];if(fields[i]==this.current_sorting.field){MochiKit.DOM.addElementClass(td,this.root_class_name+".table.sorted_column");}
Basis.signal_handler.connect(td,"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(td){if(this.current_sorting.field==td.field){this.current_sorting.direction=(this.current_sorting.direction=="ASC")?"DESC":"ASC";}else{this.current_sorting.field=td.field;this.current_sorting.direction="ASC";}
this.refresh();},td),this));header.appendChild(td);}
header.appendChild(TD({"style":"white-space: nowrap;","class":this.root_class_name+".table.field_name"},"Linked To"));header.appendChild(TD({"width":"1"}));var select_all=INPUT({"type":"checkbox"});Basis.signal_handler.connect(select_all,"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(select_all){var checks=MochiKit.DOM.getElementsByTagAndClassName("input",this.root_class_name+".row.checkbox");for(var x=0;x<checks.length;x++){checks[x].checked=select_all.checked;Basis.signal_handler.execute_interactive_element(checks[x],"onclick");}},select_all),this),false);header.appendChild(TD({"width":"1","align":"center"},select_all));MochiKit.DOM.getElementsByTagAndClassName("tbody",null,table)[0].appendChild(header);var rows=Basis.keys(this.current_dataset);if(rows){for(var i=0;i<rows.length;i++){var resource_id=rows[i];var tr=TR();var row=this.current_dataset[resource_id];this.grid_field_map["county"]["array"]=this.counties[row["state"]];var edit_button=IMG({"src":this.dashboard.get_view_association_icon("CONTACT.V2"),"style":"cursor: pointer;"});Basis.signal_handler.connect(edit_button,"onclick.greedy",bind(partial(function(resource_id,contact_list){if(resource_id&&this.resource_linker[resource_id]){Basis.block_updating_live_dom();var detail=this.render_view("DEFAULT","resource_detail",resource_id);var index=this.render_view("DEFAULT","default",this.resource_display_text(resource_id),detail);detail.menu.highlight_item(0);this.tiles.ui.tiles[index].contact_list=contact_list;this.tiles.ui.go_to(index);Basis.unblock_updating_live_dom();Basis.updated_live_dom();}},resource_id,this),this.dashboard),false);tr.appendChild(TD({"align":"right"},((this.current_page-1)*this.num_per_page)+i+1));tr.appendChild(TD(null,edit_button));for(var x=0;x<fields.length;x++){var td=TD(null,this.get_master_field_data(fields[x],row));if(fields[x]==this.current_sorting.field){MochiKit.DOM.addElementClass(td,this.root_class_name+".table.sorted_column");}
tr.appendChild(td);}
var associated_contacts=DIV();if(this.dashboard.resource_linker[resource_id]["associated_resources"]["CONTACT.V2"]){var resource_ids=Basis.keys(this.dashboard.resource_linker[resource_id]["associated_resources"]["CONTACT.V2"]);for(var x=0;x<resource_ids.length;x++){if(((this.dashboard.resource_linker[resource_id]["misc_vars"]["CONTACT_type"]=="individual")&&(this.dashboard.resource_linker[resource_ids[x]]["misc_vars"]["CONTACT_type"]=="organization"))||((this.dashboard.resource_linker[resource_id]["misc_vars"]["CONTACT_type"]=="organization")&&(this.dashboard.resource_linker[resource_ids[x]]["misc_vars"]["CONTACT_type"]=="individual"))){associated_contacts.appendChild(this.dashboard.render_view("DEFAULT","resource_with_icon",resource_ids[x],true));}}}
tr.appendChild(TD({"class":"linked_to"},associated_contacts));var permissions_icon=IMG({"src":this.dashboard.resource_linker[resource_id]["has_restrictions"]?"images/images/default_icons/png/lock.png":(this.dashboard.resource_has_inherited_permissions(resource_id)?"images/images/default_icons/png/lock_inherited.png":"images/images/default_icons/png/lock_open.grey.png"),"style":""});if(this.dashboard.resource_linker[resource_id]["resource_access"]["full_access"]){permissions_icon.style.cursor="pointer";Basis.signal_handler.connect(permissions_icon,"onclick",bind(partial(function(resource_id,lock_icon){this.dashboard.render_view("DEFAULT","resource_permissions_1",resource_id,lock_icon);},resource_id,permissions_icon),this),false);Basis.attach_tooltip(permissions_icon,("Manage custom permissions for "+this.dashboard.resource_display_text(resource_id)),null,false);}else{Basis.attach_tooltip(permissions_icon,"You don't have permission to manage this!",null,false,true);}
tr.appendChild(TD({"style":"width: 16px;"},permissions_icon));var row_selector=INPUT({"type":"checkbox","class":this.root_class_name+".row.checkbox"});row_selector.resource_id=resource_id;row_selector.checked=this.is_selected(row_selector.resource_id);if(row_selector.checked){MochiKit.DOM.addElementClass(tr,this.root_class_name+".table.tr.selected");}else{MochiKit.DOM.removeElementClass(tr,this.root_class_name+".table.tr.selected");}
Basis.signal_handler.connect(row_selector,"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(element){var tr=element.parentNode.parentNode;if(element.checked){this.select_resource(element.resource_id);MochiKit.DOM.addElementClass(tr,this.root_class_name+".table.tr.selected");}else{this.unselect_resource(element.resource_id);MochiKit.DOM.removeElementClass(tr,this.root_class_name+".table.tr.selected");}},row_selector),this),false);tr.appendChild(TD({"align":"center"},row_selector));MochiKit.DOM.getElementsByTagAndClassName("tbody",null,table)[0].appendChild(tr);Basis.signal_handler.connect(tr,"onmouseenter",partial(function(tr,list){MochiKit.DOM.addElementClass(tr,list.root_class_name+".table.tr.mouseover");},tr,this));Basis.signal_handler.connect(tr,"onmouseleave",partial(function(tr,list){MochiKit.DOM.removeElementClass(tr,list.root_class_name+".table.tr.mouseover");},tr,this));}}
MochiKit.DOM.swapDOM(this.elements["list_output"],table);this.elements["list_output"]=table;Basis.updated_live_dom();},this.grid_control);this.grid_control.refresh_title=bind(function(){Basis.remove_children(this.elements["list_title"]);this.elements["list_title"].appendChild(SPAN(null,STRONG(null,"Contact List - "),null));},this.grid_control);this.grid_control.render_resource=bind(function(resource_id,mode,type){var mode=Basis.in_array(mode,["detail","edit","add"])?mode:"detail";var type=(type=="individual")?"individual":"organization";var resource_id=Basis.is_number(resource_id)?Math.round(resource_id):null;var data_row=(mode=="add")?{}:this.raw_data[resource_id];var contact=null;if(resource_id&&data_row){switch(mode){case"detail":var selected=INPUT({"type":"checkbox","class":this.root_class_name+".row.checkbox"});selected.resource_id=resource_id;selected.checked=this.is_selected(resource_id);Basis.signal_handler.connect(selected,"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(element){var tr=element.parentNode.parentNode;if(element.checked){this.select_resource(element.resource_id);MochiKit.DOM.addElementClass(tr,this.root_class_name+".table.tr.selected");}else{this.unselect_resource(element.resource_id);MochiKit.DOM.removeElementClass(tr,this.root_class_name+".table.tr.selected");}},selected),this),false);var edit_button=INPUT({"type":"button","value":"Edit"});var groups=this.render_groups(resource_id,"detail");this.grid_field_map["county"]["array"]=this.counties[data_row["state"]];contact=TABLE({"border":"0","cellpadding":"0","cellspacing":"0","width":"650","class":this.root_class_name+".contact.detail"},TBODY(null,TR(null,TD(null,TABLE({"border":"0","cellpadding":"5","cellspacing":"0","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("company_name")+":")),TD({"width":"140"},this.get_master_field_data("company_name",data_row)),TD({"width":"100"},STRONG(null,this.get_master_field_title("type")+":")),TD(null,this.get_master_field_data("type",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("first_name")+":")),TD({"width":"140"},this.get_master_field_data("first_name",data_row)),TD({"rowspan":"10","colspan":"2"},FIELDSET(null,LEGEND(null,STRONG("Phone Numbers:")),TABLE({"border":"0","cellpadding":"0","cellspacing":"2","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("phone_business")+":")),TD(null,this.get_master_field_data("phone_business",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("phone_home")+":")),TD(null,this.get_master_field_data("phone_home",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("phone_cell")+":")),TD(null,this.get_master_field_data("phone_cell",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("phone_fax")+":")),TD(null,this.get_master_field_data("phone_fax",data_row)))))),FIELDSET(null,LEGEND(null,STRONG("Internet:")),TABLE({"border":"0","cellpadding":"0","cellspacing":"2","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("email_address1")+":")),TD(null,this.get_master_field_data("email_address1",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("email_address2")+":")),TD(null,this.get_master_field_data("email_address2",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("url1")+":")),TD(null,this.get_master_field_data("url1",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("url2")+":")),TD(null,this.get_master_field_data("url2",data_row)))))))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("last_name")+":")),TD({"width":"140"},this.get_master_field_data("last_name",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("address1")+":")),TD({"width":"140"},this.get_master_field_data("address1",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("address2")+":")),TD({"width":"140"},this.get_master_field_data("address2",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("city")+":")),TD({"width":"140"},this.get_master_field_data("city",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("state")+":")),TD({"width":"140"},this.get_master_field_data("state",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("zip_code")+":")),TD({"width":"140"},this.get_master_field_data("zip_code",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("county")+":")),TD({"width":"140"},this.get_master_field_data("county",data_row))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("country")+":")),TD({"width":"140"},this.get_master_field_data("country",data_row))),TR(null,TD({"width":"100"},STRONG("Groups:")),TD({"width":"140"},groups)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("notes")+":")),TD({"width":"140"},this.get_master_field_data("notes",data_row))),null)))),TR(null,TD({"align":"center"},edit_button,null)),null));Basis.signal_handler.connect(edit_button,"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,type,contact){var edit_contact=this.render_resource(resource_id,"edit",type);MochiKit.DOM.swapDOM(contact,edit_contact);},resource_id,type,contact),this),false);break;case"edit":var selected=INPUT({"type":"checkbox","class":this.root_class_name+".row.checkbox"});selected.resource_id=resource_id;selected.checked=this.is_selected(resource_id);Basis.signal_handler.connect(selected,"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(element){var tr=element.parentNode.parentNode;if(element.checked){this.select_resource(element.resource_id);MochiKit.DOM.addElementClass(tr,this.root_class_name+".table.tr.selected");}else{this.unselect_resource(element.resource_id);MochiKit.DOM.removeElementClass(tr,this.root_class_name+".table.tr.selected");}},selected),this),false);var groups=this.render_groups(resource_id,"edit");var type=SELECT();Basis.select_add_options(type,{"individual":"Individual","organization":"Organization"});Basis.select_select_item_by_value(type,this.get_master_field_data("type",data_row,true,true));Basis.make_text_element_dropdown(type,null,{"resource_id":resource_id.toString(),"field":"CONTACT_type","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"CONTACT_type",type),this)});var company_name=INPUT({"type":"text","value":this.get_master_field_data("company_name",data_row,true)});Basis.make_text_element_editable(company_name,{"resource_id":resource_id.toString(),"field":"company_name","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"company_name",company_name),this)});var first_name=INPUT({"type":"text","value":this.get_master_field_data("first_name",data_row,true)});Basis.make_text_element_editable(first_name,{"resource_id":resource_id.toString(),"field":"first_name","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"first_name",first_name),this)});var last_name=INPUT({"type":"text","value":this.get_master_field_data("last_name",data_row,true)});Basis.make_text_element_editable(last_name,{"resource_id":resource_id.toString(),"field":"last_name","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"last_name",last_name),this)});var address1=INPUT({"type":"text","value":this.get_master_field_data("address1",data_row,true)});Basis.make_text_element_editable(address1,{"resource_id":resource_id.toString(),"field":"address1","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"address1",address1),this)});var address2=INPUT({"type":"text","value":this.get_master_field_data("address2",data_row,true)});Basis.make_text_element_editable(address2,{"resource_id":resource_id.toString(),"field":"address2","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"address2",address2),this)});var city=INPUT({"type":"text","value":this.get_master_field_data("city",data_row,true)});Basis.make_text_element_editable(city,{"resource_id":resource_id.toString(),"field":"city","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"city",city),this)});var state=SELECT();Basis.select_add_options(state,this.states);Basis.select_select_item_by_value(state,this.get_master_field_data("state",data_row,true,true));Basis.make_text_element_dropdown(state,null,{"resource_id":resource_id.toString(),"field":"state","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"state",state),this)});var zip_code=INPUT({"type":"text","value":this.get_master_field_data("zip_code",data_row,true)});Basis.make_text_element_editable(zip_code,{"resource_id":resource_id.toString(),"field":"zip_code","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"zip_code",zip_code),this)});var county=SELECT();Basis.select_add_options(county,this.counties[this.get_master_field_data("state",data_row,true,true)]);Basis.select_select_item_by_value(county,this.get_master_field_data("county",data_row,true,true));Basis.make_text_element_dropdown(county,null,{"resource_id":resource_id.toString(),"field":"county","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"county",county),this)});Basis.signal_handler.connect(state,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(county,state,resource_id){county.options.length=0;var data_row=this.raw_data[resource_id];this.grid_field_map["county"]["array"]=this.counties[state.options[state.selectedIndex].value];Basis.select_add_options(county,this.grid_field_map["county"]["array"]);Basis.select_select_item_by_value(county,this.get_master_field_data("county",data_row,true,true));},county,state,resource_id),this),false);var country=SELECT();Basis.select_add_options(country,this.countries);Basis.select_select_item_by_value(country,this.get_master_field_data("country",data_row,true,true));Basis.make_text_element_dropdown(country,null,{"resource_id":resource_id.toString(),"field":"country","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"country",country),this)});var phone_business=INPUT({"type":"text","value":this.get_master_field_data("phone_business",data_row,true)});Basis.make_text_element_editable(phone_business,{"resource_id":resource_id.toString(),"field":"phone_business","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"phone_business",phone_business),this)});var phone_home=INPUT({"type":"text","value":this.get_master_field_data("phone_home",data_row,true)});Basis.make_text_element_editable(phone_home,{"resource_id":resource_id.toString(),"field":"phone_home","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"phone_home",phone_home),this)});var phone_cell=INPUT({"type":"text","value":this.get_master_field_data("phone_cell",data_row,true)});Basis.make_text_element_editable(phone_cell,{"resource_id":resource_id.toString(),"field":"phone_cell","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"phone_cell",phone_cell),this)});var phone_fax=INPUT({"type":"text","value":this.get_master_field_data("phone_fax",data_row,true)});Basis.make_text_element_editable(phone_fax,{"resource_id":resource_id.toString(),"field":"phone_fax","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"phone_fax",phone_fax),this)});var email_address1=INPUT({"type":"text","value":this.get_master_field_data("email_address1",data_row,true)});Basis.make_text_element_editable(email_address1,{"resource_id":resource_id.toString(),"field":"email_address1","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"email_address1",email_address1),this)});var email_address2=INPUT({"type":"text","value":this.get_master_field_data("email_address2",data_row,true)});Basis.make_text_element_editable(email_address2,{"resource_id":resource_id.toString(),"field":"email_address2","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"email_address2",email_address2),this)});var url1=INPUT({"type":"text","value":this.get_master_field_data("url1",data_row,true)});Basis.make_text_element_editable(url1,{"resource_id":resource_id.toString(),"field":"url1","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"url1",url1),this)});var url2=INPUT({"type":"text","value":this.get_master_field_data("url2",data_row,true)});Basis.make_text_element_editable(url2,{"resource_id":resource_id.toString(),"field":"url2","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"url2",url2),this)});var notes=TEXTAREA(null,this.get_master_field_data("notes",data_row,true));Basis.make_text_element_editable(notes,{"resource_id":resource_id.toString(),"field":"notes","custom_action":"contact_list.save_contact","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(resource_id,field,element){this.update_resource_field(resource_id,field,element.value);},resource_id,"notes",notes),this)});var done_button=INPUT({"type":"button","value":"Done"});contact=TABLE({"border":"0","cellpadding":"0","cellspacing":"0","width":"650","class":this.root_class_name+".contact.detail"},TBODY(null,TR(null,TD(null,TABLE({"border":"0","cellpadding":"5","cellspacing":"0","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("company_name")+":")),TD({"width":"140"},company_name),TD({"width":"100"},STRONG(null,this.get_master_field_title("type")+":")),TD(null,type)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("first_name")+":")),TD({"width":"140"},first_name),TD({"rowspan":"10","colspan":"2"},FIELDSET(null,LEGEND(null,STRONG("Phone Numbers:")),TABLE({"border":"0","cellpadding":"0","cellspacing":"2","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("phone_business")+":")),TD(null,phone_business)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("phone_home")+":")),TD(null,phone_home)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("phone_cell")+":")),TD(null,phone_cell)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("phone_fax")+":")),TD(null,phone_fax))))),FIELDSET(null,LEGEND(null,STRONG("Internet:")),TABLE({"border":"0","cellpadding":"0","cellspacing":"2","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("email_address1")+":")),TD(null,email_address1)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("email_address2")+":")),TD(null,email_address2)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("url1")+":")),TD(null,url1)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("url2")+":")),TD(null,url2))))))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("last_name")+":")),TD({"width":"140"},last_name)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("address1")+":")),TD({"width":"140"},address1)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("address2")+":")),TD({"width":"140"},address2)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("city")+":")),TD({"width":"140"},city)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("state")+":")),TD({"width":"140"},state)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("zip_code")+":")),TD({"width":"140"},zip_code)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("county")+":")),TD({"width":"140"},county)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("country")+":")),TD({"width":"140"},country)),TR(null,TD({"width":"100"},STRONG("Groups:")),TD({"width":"140"},groups)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("notes")+":")),TD({"width":"140"},notes)),null)))),TR(null,TD({"align":"center"},done_button)),null));Basis.signal_handler.connect(done_button,"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(contact,resource_id){var to_replace=this.render_resource(resource_id,"detail",this.current_mode);MochiKit.DOM.swapDOM(contact,to_replace);},contact,resource_id),this),false);break;case"add":var data_row={"CONTACT_type":"individual"};var groups=this.render_groups(resource_id,"add");var checks=MochiKit.DOM.getElementsByTagAndClassName("input",null,groups);for(var i=0;i<checks.length;i++){if(checks[i].type=="checkbox"){Basis.signal_handler.connect(checks[i],"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=this[element_name]?this[element_name]:[];if(element.checked){this[element_name].push(element.value);}else{this[element_name]=Basis.array_delete_index(this[element_name],Basis.index_of(this[element_name],element.value));}},checks[i],"groups"),data_row));}}
var type=SELECT();Basis.select_add_options(type,{"individual":"Individual","organization":"Organization"});Basis.signal_handler.connect(type,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.options[element.selectedIndex].value;},type,"CONTACT_type"),data_row));var company_name=INPUT({"type":"text","value":this.get_master_field_data("company_name",data_row,true)});Basis.signal_handler.connect(company_name,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},company_name,"company_name"),data_row));var first_name=INPUT({"type":"text","value":this.get_master_field_data("first_name",data_row,true)});Basis.signal_handler.connect(first_name,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},first_name,"first_name"),data_row));var last_name=INPUT({"type":"text","value":this.get_master_field_data("last_name",data_row,true)});Basis.signal_handler.connect(last_name,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},last_name,"last_name"),data_row));var address1=INPUT({"type":"text","value":this.get_master_field_data("address1",data_row,true)});Basis.signal_handler.connect(address1,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},address1,"address1"),data_row));var address2=INPUT({"type":"text","value":this.get_master_field_data("address2",data_row,true)});Basis.signal_handler.connect(address2,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},address2,"address2"),data_row));var city=INPUT({"type":"text","value":this.get_master_field_data("city",data_row,true)});Basis.signal_handler.connect(city,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},city,"city"),data_row));var state=SELECT();Basis.select_add_options(state,this.states);Basis.select_select_item_by_value(state,this.get_master_field_data("state",data_row,true,true));Basis.signal_handler.connect(state,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.options[element.selectedIndex].value;},state,"state"),data_row));var zip_code=INPUT({"type":"text","value":this.get_master_field_data("zip_code",data_row,true)});Basis.signal_handler.connect(zip_code,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},zip_code,"zip_code"),data_row));var county=SELECT();Basis.select_add_options(county,this.counties[this.get_master_field_data("state",data_row,true,true)]);Basis.select_select_item_by_value(county,this.get_master_field_data("county",data_row,true,true));Basis.signal_handler.connect(county,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},county,"county"),data_row));Basis.signal_handler.connect(state,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(county,state,resource_id){county.options.length=0;var data_row=this.raw_data[resource_id];this.grid_field_map["county"]["array"]=this.counties[state.options[state.selectedIndex].value];Basis.select_add_options(county,this.grid_field_map["county"]["array"]);Basis.select_select_item_by_value(county,this.get_master_field_data("county",data_row,true,true));},county,state,resource_id),this),false);var country=SELECT();Basis.select_add_options(country,this.countries);Basis.select_select_item_by_value(country,this.get_master_field_data("country",data_row,true,true));Basis.signal_handler.connect(country,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.options[element.selectedIndex].value;},country,"country"),data_row));var phone_business=INPUT({"type":"text","value":this.get_master_field_data("phone_business",data_row,true)});Basis.signal_handler.connect(phone_business,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},phone_business,"phone_business"),data_row));var phone_home=INPUT({"type":"text","value":this.get_master_field_data("phone_home",data_row,true)});Basis.signal_handler.connect(phone_home,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},phone_home,"phone_home"),data_row));var phone_cell=INPUT({"type":"text","value":this.get_master_field_data("phone_cell",data_row,true)});Basis.signal_handler.connect(phone_cell,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},phone_cell,"phone_cell"),data_row));var phone_fax=INPUT({"type":"text","value":this.get_master_field_data("phone_fax",data_row,true)});Basis.signal_handler.connect(phone_fax,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},phone_fax,"phone_fax"),data_row));var email_address1=INPUT({"type":"text","value":this.get_master_field_data("email_address1",data_row,true)});Basis.signal_handler.connect(email_address1,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},email_address1,"email_address1"),data_row));var email_address2=INPUT({"type":"text","value":this.get_master_field_data("email_address2",data_row,true)});Basis.signal_handler.connect(email_address2,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},email_address2,"email_address2"),data_row));var url1=INPUT({"type":"text","value":this.get_master_field_data("url1",data_row,true)});Basis.signal_handler.connect(url1,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},url1,"url1"),data_row));var url2=INPUT({"type":"text","value":this.get_master_field_data("url2",data_row,true)});Basis.signal_handler.connect(url2,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},url2,"url2"),data_row));var notes=TEXTAREA(null,this.get_master_field_data("notes",data_row,true));Basis.signal_handler.connect(notes,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element,element_name){this[element_name]=element.value;},notes,"notes"),data_row));var save_button=INPUT({"type":"button","value":"Save"});var cancel_button=INPUT({"type":"button","value":"Cancel"});contact=TABLE({"border":"0","cellpadding":"0","cellspacing":"0","width":"650","class":this.root_class_name+".contact.detail"},TBODY(null,TR(null,TD(null,TABLE({"border":"0","cellpadding":"5","cellspacing":"0","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("company_name")+":")),TD({"width":"140"},company_name),TD({"width":"100"},STRONG(null,this.get_master_field_title("type")+":")),TD(null,type)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("first_name")+":")),TD({"width":"140"},first_name),TD({"rowspan":"10","colspan":"2"},FIELDSET(null,LEGEND(null,STRONG("Phone Numbers:")),TABLE({"border":"0","cellpadding":"0","cellspacing":"2","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("phone_business")+":")),TD(null,phone_business)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("phone_home")+":")),TD(null,phone_home)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("phone_cell")+":")),TD(null,phone_cell)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("phone_fax")+":")),TD(null,phone_fax))))),FIELDSET(null,LEGEND(null,STRONG("Internet:")),TABLE({"border":"0","cellpadding":"0","cellspacing":"2","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("email_address1")+":")),TD(null,email_address1)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("email_address2")+":")),TD(null,email_address2)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("url1")+":")),TD(null,url1)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("url2")+":")),TD(null,url2))))))),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("last_name")+":")),TD({"width":"140"},last_name)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("address1")+":")),TD({"width":"140"},address1)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("address2")+":")),TD({"width":"140"},address2)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("city")+":")),TD({"width":"140"},city)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("state")+":")),TD({"width":"140"},state)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("zip_code")+":")),TD({"width":"140"},zip_code)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("county")+":")),TD({"width":"140"},county)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("country")+":")),TD({"width":"140"},country)),TR(null,TD({"width":"100"},STRONG("Groups:")),TD({"width":"140"},groups)),TR(null,TD({"width":"100"},STRONG(this.get_master_field_title("notes")+":")),TD({"width":"140"},notes)),null)))),TR(null,TD({"align":"center"},save_button,cancel_button)),null));var cancel_add_func=MochiKit.Base.bind(function(){MochiKit.Signal.disconnect(this.elements["add_new_resource"].center);MochiKit.DOM.removeElement(this.elements["add_new_resource"]);this.elements["add_new_resource"]=null;this.destroy_background();},this);Basis.signal_handler.connect(save_button,"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(data_row,cancel_add_func){var a=this.add_new_resource("CONTACT",data_row);a.addCallback(cancel_add_func);},data_row,cancel_add_func),this),false);Basis.signal_handler.connect(cancel_button,"onclick",cancel_add_func,false);break;}}
return contact;},this.grid_control);},render:function(view){this.grid_control.can_add_new_resource=(this.grid_control.dashboard.resource_linker[this.grid_control.contact_list_resource_id]["resource_access"]["full_access"])?true:false;this.grid_control.render(view);}};;Basis.grid_control.generic_resource=function(options){this.__init__(options);};Basis.grid_control.generic_resource.prototype={__init__:function(options){this.resource_type="";this.grid_control=new Basis.grid_control(options);this.grid_control.dashboard=options["dashboard"];this.grid_control.container=this;this.grid_control.current_mode="";this.grid_control.data_type="";this.grid_control.root_class_name="Basis.resource_list";this.grid_control.current_sorting={"field":"display_text","direction":"ASC"};this.grid_control.grid_field_map={"display_text":{"text":"Display Text","type":"text","field":"display_text"}};this.grid_control.add_new_resource=bind(function(){this.grid_control.dashboard.run_wizard(this.resource_type,{"grid_control":this.grid_control});},this);this.grid_control.clear_cached_datasets=bind(function(retain_sorting){var retain_sorting=(retain_sorting)?true:false;this.current_dataset={};this.current_raw_dataset={};this.current_filter_hash={"all":null,"filter":null,"sorting":null,"group":null};this.current_filter_data={};this.current_sorting={"field":(retain_sorting?this.current_sorting.field:"display_text"),"direction":(retain_sorting?this.current_sorting.direction:"ASC")};this.current_sorted_data={};},this.grid_control);this.grid_control.fetch_raw_data=bind(function(resource_type){if(this.dashboard){this.raw_data={};this.group_map={};var site_resource_id=null;var keys=Basis.keys(this.dashboard.available_resources["SITE"]);for(var i=0;i<keys.length;i++){if(Basis._int(this.dashboard.available_resources["SITE"][keys[i]]["misc_vars"]["id"])==Basis._int(this.dashboard.site_id)){site_resource_id=keys[i];}}
if(site_resource_id){var keys=Basis.keys(this.dashboard.resource_linker[site_resource_id]["associated_resources"][resource_type]);keys=keys?keys:[];for(var i=0;i<keys.length;i++){if(this.dashboard.resource_linker[keys[i]]&&this.dashboard.resource_linker[keys[i]]["associated_resources"]){this.raw_data[keys[i]]={"display_text":this.dashboard.resource_display_text(keys[i])};this.group_map[keys[i]]=Basis.keys(this.dashboard.resource_linker[keys[i]]["associated_resources"]["GROUP"]);}}}
return new MochiKit.Async.succeed();}else{var to_post={"resource_type":resource_type};var as=new Basis.ajax_scaffold;as.alias="get_raw_resource_data";as.list=this;as.on_success=function(req){var raw_data=MochiKit.Base.evalJSON(req.responseText);this.list.raw_data=raw_data["raw_data"];this.list.group_map=raw_data["group_map"];window.status="Done";};return as.post({"to_post":to_post});}},this.grid_control);this.grid_control.refresh_table=bind(function(){var with_selected=SELECT();Basis.select_add_option(with_selected,""," ");if(this.container.resource_type=="TASK_LIST"){Basis.select_add_options(with_selected,{"TASK_LIST_print_line_item":"Print - Line Item"});Basis.select_add_options(with_selected,{"TASK_LIST_print_detail":"Print - Detail"});}
if(this.container.resource_type=="CONTACT_LIST"){Basis.select_add_options(with_selected,{"CONTACT_LIST_print_line_item":"Print - Line Item"});Basis.select_add_options(with_selected,{"CONTACT_LIST_print_detail":"Print - Detail"});Basis.select_add_options(with_selected,{"CONTACT_LIST_email_contacts":"Email via SiteQuarters"});Basis.select_add_options(with_selected,{"CONTACT_LIST_import_from_vcard":"Import vCards"});Basis.select_add_options(with_selected,{"CONTACT_LIST_export_to_vcards":"Export to vCards"});}
Basis.select_add_options(with_selected,{"delete":"Delete Resources"});Basis.signal_handler.connect(with_selected,"onchange",bind(partial(function(element){switch(element.options[element.selectedIndex].value){case"delete":if(this.currently_selected.length==0){alert("Please choose something to delete.");}else{this.delete_resources(this.currently_selected);Basis.select_select_item_by_value(element,"");}
break;case"TASK_LIST_print_line_item":case"TASK_LIST_print_detail":if(this.currently_selected.length==0){alert("Please choose a task list to print.");}else if(this.currently_selected.length>1){alert("You can only print one list at a time.");}else{var url=window.location.href.split("?")[0];url=url.split("/");delete url[url.length-1];url=url.join("/");url+="/index.print.php?type=TASK_LIST&mode="+((element.options[element.selectedIndex].value=="TASK_LIST_print_line_item")?"line_item":"detail")+"&ids="+escape(encodeBase64(MochiKit.Base.serializeJSON(this.currently_selected)))+"&include_archived="+(confirm("Do you want to print archived tasks in this list as well?")?"true":"false");window.onbeforeunload=null;window.location.href=url;}
Basis.select_select_item_by_value(element,"");break;case"CONTACT_LIST_print_line_item":case"CONTACT_LIST_print_detail":if(this.currently_selected.length==0){alert("Please choose a contact list to print.");}else if(this.currently_selected.length>1){alert("You can only print one list at a time.");}else{var url=window.location.href.split("?")[0];url=url.split("/");delete url[url.length-1];url=url.join("/");url+="/index.print.php?type=CONTACT_LIST&mode="+((element.options[element.selectedIndex].value=="CONTACT_LIST_print_line_item")?"line_item":"detail")+"&ids="+escape(encodeBase64(MochiKit.Base.serializeJSON(this.currently_selected)))+"&include_archived="+(confirm("Do you want to print archived contacts in this list as well?")?"true":"false");window.onbeforeunload=null;window.location.href=url;}
Basis.select_select_item_by_value(element,"");break;case"CONTACT_LIST_email_contacts":if(this.currently_selected.length==0){alert("Please choose one or more contact lists to send email to.");}else{if(confirm("Are you sure you want to send email to "+((this.currently_selected.length>1)?"these":"this")+" entire contact list"+((this.currently_selected.length>1)?"s":"")+"?")){this.dashboard.run_wizard("EMAIL_CONTACTS",{"currently_selected":this.currently_selected});}}
Basis.select_select_item_by_value(element,"");break;case"CONTACT_LIST_import_from_vcard":if(this.currently_selected.length==0){alert("Please choose a contact list to import vCards into.");}else if(this.currently_selected.length>1){alert("You can only import to one list at a time.");}else{this.dashboard.run_wizard("IMPORT_FROM_VCARD",{"contact_list_id":this.currently_selected[0]});}
Basis.select_select_item_by_value(element,"");break;case"CONTACT_LIST_export_to_vcards":if(this.currently_selected.length==0){alert("Please choose a contact list to export in vCard format.");}else if(this.currently_selected.length>1){alert("You can only export one list at a time.");}else{window.onbeforeunload=null;window.location.href=this.dashboard["site_url"]+"/ajax/ajax/vcard_export.php?ids="+urlencode(encodeBase64(MochiKit.Base.serializeJSON(this.currently_selected)));}
Basis.select_select_item_by_value(element,"");break;}},with_selected),this),false);var table=DIV({"style":"text-align: right;"},DIV(null,STRONG(null,"With selected: "),with_selected),TABLE({"class":this.root_class_name+".table"},TBODY()));var fields=["display_text"];var header=TR();header.appendChild(TD({"width":"1"}));for(var i=0;i<fields.length;i++){var td=TD({"width":(Math.round((1/fields.length)*100)+"%"),"class":this.root_class_name+".table.field_name"},this.get_master_field_title(fields[i]));td.field=fields[i];if(fields[i]==this.current_sorting.field){MochiKit.DOM.addElementClass(td,this.root_class_name+".table.sorted_column");}
Basis.signal_handler.connect(td,"onclick",bind(partial(function(td){if(this.current_sorting.field==td.field){this.current_sorting.direction=(this.current_sorting.direction=="ASC")?"DESC":"ASC";}else{this.current_sorting.field=td.field;this.current_sorting.direction="ASC";}
this.refresh();},td),this));header.appendChild(td);}
var select_all=INPUT({"type":"checkbox"});Basis.signal_handler.connect(select_all,"onclick",bind(partial(function(select_all){var checks=MochiKit.DOM.getElementsByTagAndClassName("input",this.root_class_name+".row.checkbox",this.elements["container_output"]);for(var x=0;x<checks.length;x++){checks[x].checked=select_all.checked;Basis.signal_handler.execute_interactive_element(checks[x],"onclick");}},select_all),this),false);header.appendChild(TD(null,Basis.nbsp()));header.appendChild(TD({"width":"1","align":"center"},select_all));MochiKit.DOM.getElementsByTagAndClassName("tbody",null,table)[0].appendChild(header);var rows=Basis.keys(this.current_dataset?this.current_dataset:[]);if(rows){for(var i=0;i<rows.length;i++){var resource_id=rows[i];var tr=TR();var row=this.current_dataset[resource_id];tr.appendChild(TD({"align":"right"},((this.current_page-1)*this.num_per_page)+i+1));for(var x=0;x<fields.length;x++){var td=TD(null,this.dashboard.render_view("DEFAULT","browser_row",resource_id));if(fields[x]==this.current_sorting.field){MochiKit.DOM.addElementClass(td,this.root_class_name+".table.sorted_column");}
tr.appendChild(td);var permissions_icon=IMG({"src":this.dashboard.resource_linker[resource_id]["has_restrictions"]?"images/images/default_icons/png/lock.png":(this.dashboard.resource_has_inherited_permissions(resource_id)?"images/images/default_icons/png/lock_inherited.png":"images/images/default_icons/png/lock_open.grey.png"),"style":""});if(this.dashboard.resource_linker[resource_id]["resource_access"]["full_access"]){permissions_icon.style.cursor="pointer";Basis.signal_handler.connect(permissions_icon,"onclick",bind(partial(function(resource_id,lock_icon){this.dashboard.render_view("DEFAULT","resource_permissions_1",resource_id,lock_icon);},resource_id,permissions_icon),this),false);Basis.attach_tooltip(permissions_icon,("Manage custom permissions for "+this.dashboard.resource_display_text(resource_id)),null,false);}else{Basis.attach_tooltip(permissions_icon,"You don't have permission to manage this!",null,false,true);}
tr.appendChild(TD({"style":"width: 16px;"},permissions_icon));}
var row_selector=INPUT({"type":"checkbox","class":this.root_class_name+".row.checkbox"});row_selector.resource_id=resource_id;row_selector.checked=this.is_selected(row_selector.resource_id);if(row_selector.checked){MochiKit.DOM.addElementClass(tr,this.root_class_name+".table.tr.selected");}else{MochiKit.DOM.removeElementClass(tr,this.root_class_name+".table.tr.selected");}
Basis.signal_handler.connect(row_selector,"onclick",bind(partial(function(element){var tr=element.parentNode.parentNode;if(element.checked){this.select_resource(element.resource_id);MochiKit.DOM.addElementClass(tr,this.root_class_name+".table.tr.selected");}else{this.unselect_resource(element.resource_id);MochiKit.DOM.removeElementClass(tr,this.root_class_name+".table.tr.selected");}},row_selector),this),false);Basis.signal_handler.connect(td,"onclick.greedy",bind(function(){this.checked=this.checked?false:true;Basis.signal_handler.execute_interactive_element(this,"onclick");},row_selector),false);tr.appendChild(TD({"align":"center"},row_selector));MochiKit.DOM.getElementsByTagAndClassName("tbody",null,table)[0].appendChild(tr);Basis.signal_handler.connect(tr,"onmouseenter",partial(function(tr,list){MochiKit.DOM.addElementClass(tr,list.root_class_name+".table.tr.mouseover");},tr,this));Basis.signal_handler.connect(tr,"onmouseleave",partial(function(tr,list){MochiKit.DOM.removeElementClass(tr,list.root_class_name+".table.tr.mouseover");},tr,this));}}
MochiKit.DOM.swapDOM(this.elements["list_output"],table);this.elements["list_output"]=table;Basis.updated_live_dom();},this.grid_control);this.grid_control.refresh_title=bind(function(){Basis.remove_children(this.elements["list_title"]);this.elements["list_title"].appendChild(SPAN());},this.grid_control);},render:function(view){if(this.grid_control.dashboard&&this.grid_control.dashboard.render_view){switch(this.resource_type){case"USER":if(this.grid_control.dashboard.user_levels[this.grid_control.dashboard.current_user_level]<this.grid_control.dashboard.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"]){this.grid_control.can_add_new_resource=false;}
break;default:break;}
this.grid_control.render(view);}}};;Basis.grid_control.generic_resource.simplified=function(options){this.__init__(options);};Basis.grid_control.generic_resource.simplified.prototype={__init__:function(options){var options=options?options:{};options["num_per_page"]=options["num_per_page"]?options["num_per_page"]:10;this.generic_resource=new Basis.grid_control.generic_resource(options);this.generic_resource.grid_control.refresh_controls=function(){if(this.elements["filter_controls"]){if(this.num_per_page>Basis.array_length(this.raw_data)){this.elements["filter_controls"].parentNode.parentNode.style.display="none";}else{this.elements["filter_controls"].parentNode.parentNode.style.display="";}}
if(this.elements["page_controls"]){if(this.num_per_page>Basis.array_length(this.raw_data)){if(this.elements["page_controls"]&&this.elements["page_controls"].parentNode){this.elements["page_controls"].parentNode.parentNode.style.display="none";}}else{if(this.elements["page_controls"]&&this.elements["page_controls"].parentNode){this.elements["page_controls"].parentNode.parentNode.style.display="";}
MochiKit.Style.resizeConstrainedElements();}}};this.generic_resource.grid_control.render=function(view){this.elements["container_output"]=Basis.get_element(this.elements["container_output"]);if(this.elements["container_output"]&&Basis.is_element(this.elements["container_output"])){this.refresh_data();var first_render=(this.elements["container_output"]&&!this.elements["list_output"])?true:false;if(first_render){var search_text=INPUT({"type":"text","style":"width: 150px;"});Basis.signal_handler.connect(search_text,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element){this.current_filter["search_text"]=element.value;},search_text),this),false);var search_text_go=INPUT({"type":"button","value":"Go"});Basis.signal_handler.connect(search_text_go,"onclick",MochiKit.Base.bind(function(){this.refresh();},this),false);MochiKit.Signal.connect(search_text,"onkeydown",MochiKit.Base.partial(function(text_input,button,e){if(e.key().string=="KEY_ENTER"){Basis.signal_handler.execute_interactive_element(text_input,"onchange");Basis.signal_handler.execute_interactive_element(button,"onclick");}},search_text,search_text_go));this.refresh_pages();var dropdown_num_per_page=SELECT();Basis.select_add_options(dropdown_num_per_page,{10:"10 per Page",25:"25 per Page",50:"50 per Page",9999999:"All Results"});Basis.select_select_item_by_value(dropdown_num_per_page,this.num_per_page);Basis.signal_handler.connect(dropdown_num_per_page,"onchange",MochiKit.Base.bind(MochiKit.Base.partial(function(element){this.num_per_page=element.options[element.selectedIndex].value;this.current_page=1;this.refresh();},dropdown_num_per_page),this),false);this.elements["filter_controls"]=TABLE({"width":"100%","cellpadding":"5"},TBODY(null,TR(null,TD({"width":"1"},"Search: "),TD({"width":"1"},search_text),TD({"width":"1"},search_text_go),TD({"style":"text-align: right;"},dropdown_num_per_page))));this.elements["list_output"]=DIV(null,"Grid Rows; if you see this, please refresh the page!");var container=TABLE({"border":"0","width":"100%","class":this.root_class_name+".container","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD(null,this.elements["filter_controls"])),TR(null,TD(null,this.elements["page_controls"])),TR(null,TD(null,this.elements["list_output"]))));this.refresh_controls();this.refresh_title();Basis.remove_children(this.elements["container_output"]);this.elements["container_output"].appendChild(container);Basis.updated_live_dom();}
this.refresh();MochiKit.Style.resizeConstrainedElements();}};this.generic_resource.grid_control.refresh=function(){this.current_filter_hash["all"]=this.filter_hash("all");this.refresh_controls();this.refresh_data();this.refresh_pages();this.refresh_title();this.refresh_table();};this.generic_resource.grid_control.refresh_table=function(){var table=TABLE({"class":this.root_class_name+".table"},TBODY());var fields=["display_text"];var header=TR();header.appendChild(TD({"width":"1"}));for(var i=0;i<fields.length;i++){var td=TD({"width":(Math.round((1/fields.length)*100)+"%"),"class":this.root_class_name+".table.field_name"},this.get_master_field_title(fields[i]));td.field=fields[i];if(fields[i]==this.current_sorting.field){MochiKit.DOM.addElementClass(td,this.root_class_name+".table.sorted_column");}
Basis.signal_handler.connect(td,"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(td){if(this.current_sorting.field==td.field){this.current_sorting.direction=(this.current_sorting.direction=="ASC")?"DESC":"ASC";}else{this.current_sorting.field=td.field;this.current_sorting.direction="ASC";}
this.refresh();},td),this));header.appendChild(td);}
var select_all=INPUT({"type":"checkbox"});Basis.signal_handler.connect(select_all,"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(select_all){var checks=MochiKit.DOM.getElementsByTagAndClassName("input",this.root_class_name+".row.checkbox",this.elements["container_output"]);for(var x=0;x<checks.length;x++){checks[x].checked=select_all.checked;Basis.signal_handler.execute_interactive_element(checks[x],"onclick");}},select_all),this),false);header.appendChild(TD({"width":"1","align":"center"},select_all));MochiKit.DOM.getElementsByTagAndClassName("tbody",null,table)[0].appendChild(header);var rows=Basis.keys(this.current_dataset);if(rows){for(var i=0;i<rows.length;i++){var resource_id=rows[i];var tr=TR();var row=this.current_dataset[resource_id];tr.appendChild(TD({"align":"right"},((this.current_page-1)*this.num_per_page)+i+1));for(var x=0;x<fields.length;x++){var td=TD(null,this.dashboard.render_view("DEFAULT","resource_with_icon",resource_id));if(fields[x]==this.current_sorting.field){MochiKit.DOM.addElementClass(td,this.root_class_name+".table.sorted_column");}
tr.appendChild(td);}
var row_selector=INPUT({"type":"checkbox","class":this.root_class_name+".row.checkbox"});row_selector.resource_id=resource_id;row_selector.checked=this.is_selected(row_selector.resource_id);if(row_selector.checked){MochiKit.DOM.addElementClass(tr,this.root_class_name+".table.tr.selected");}else{MochiKit.DOM.removeElementClass(tr,this.root_class_name+".table.tr.selected");}
Basis.signal_handler.connect(row_selector,"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(element){var tr=element.parentNode.parentNode;if(element.checked){this.select_resource(element.resource_id);MochiKit.DOM.addElementClass(tr,this.root_class_name+".table.tr.selected");}else{this.unselect_resource(element.resource_id);MochiKit.DOM.removeElementClass(tr,this.root_class_name+".table.tr.selected");}},row_selector),this),false);tr.appendChild(TD({"align":"center"},row_selector));MochiKit.DOM.getElementsByTagAndClassName("tbody",null,table)[0].appendChild(tr);Basis.signal_handler.connect(tr,"onmouseenter",partial(function(tr,list){MochiKit.DOM.addElementClass(tr,list.root_class_name+".table.tr.mouseover");},tr,this));Basis.signal_handler.connect(tr,"onmouseleave",partial(function(tr,list){MochiKit.DOM.removeElementClass(tr,list.root_class_name+".table.tr.mouseover");},tr,this));}}
if(this.elements["list_output"].parentNode){MochiKit.DOM.swapDOM(this.elements["list_output"],table);}
this.elements["list_output"]=table;Basis.updated_live_dom();};this.grid_control=this.generic_resource.grid_control;},render:function(view){if(this.grid_control.dashboard&&this.grid_control.dashboard.render_view){this.grid_control.render(view);}}};;Basis.grid_control.list=function(options){this.__init__(options);};Basis.grid_control.list.prototype={__init__:function(options){this.grid_control=new Basis.grid_control(options);this.grid_control.dashboard=options["dashboard"];this.grid_control.container=this;this.grid_control.current_mode="";this.grid_control.data_type="";this.grid_control.root_class_name="Basis.list";this.grid_control.current_sorting={"field":"display_text","direction":"ASC"};this.grid_control.grid_field_map={"display_text":{"text":"Display Text","type":"text","field":"display_text"}};this.grid_control.add_new_resource=bind(function(){this.grid_control.dashboard.run_wizard("LIST_ITEM",{"grid_control":this.grid_control});},this);this.grid_control.elements["list"]=null;this.grid_control.fetch_raw_data=bind(function(use_archived_rows){var use_archived_rows=(use_archived_rows===true)?true:false;if(this.dashboard){this.raw_data={};this.group_map={};this.contact_map={};var keys=Basis.keys(this.dashboard.resource_linker[this.list_resource_id]["associated_resources"]["LIST_ITEM"]);keys=keys?keys:[];for(var i=0;i<keys.length;i++){if(this.dashboard.resource_linker[keys[i]]){if((!use_archived_rows&&(this.dashboard.resource_linker[keys[i]]["archived"]!="yes"))||(use_archived_rows&&(this.dashboard.resource_linker[keys[i]]["archived"]=="yes"))){this.raw_data[keys[i]]=this.dashboard.resource_linker[keys[i]]["misc_vars"];this.group_map[keys[i]]=Basis.keys(this.dashboard.resource_linker[keys[i]]["associated_resources"]["GROUP"]);this.contact_map[keys[i]]=Basis.keys(this.dashboard.resource_linker[keys[i]]["associated_resources"]["CONTACT.V2"]);}}}
return new MochiKit.Async.succeed();}else{}},this.grid_control);this.grid_control.refresh_table=bind(function(){var with_selected=SELECT();Basis.select_add_option(with_selected,""," ");if(this.container.resource_type=="TASK_LIST"){Basis.select_add_options(with_selected,{"TASK_LIST_print_line_item":"Print - Line Item"});Basis.select_add_options(with_selected,{"TASK_LIST_print_detail":"Print - Detail"});}
if(this.container.resource_type=="CONTACT_LIST"){Basis.select_add_options(with_selected,{"CONTACT_LIST_print_line_item":"Print - Line Item"});Basis.select_add_options(with_selected,{"CONTACT_LIST_print_detail":"Print - Detail"});Basis.select_add_options(with_selected,{"CONTACT_LIST_import_from_vcard":"Import vCards"});Basis.select_add_options(with_selected,{"CONTACT_LIST_export_to_vcards":"Export to vCards"});}
Basis.select_add_options(with_selected,{"delete":"Delete Resources"});Basis.signal_handler.connect(with_selected,"onchange",bind(partial(function(element){switch(element.options[element.selectedIndex].value){case"delete":if(this.currently_selected.length==0){alert("Please choose something to delete.");}else{this.delete_resources(this.currently_selected);Basis.select_select_item_by_value(element,"");}
break;case"TASK_LIST_print_line_item":case"TASK_LIST_print_detail":if(this.currently_selected.length==0){alert("Please choose a task list to print.");}else if(this.currently_selected.length>1){alert("You can only print one list at a time.");}else{var url=window.location.href.split("?")[0];url=url.split("/");delete url[url.length-1];url=url.join("/");url+="/index.print.php?type=TASK_LIST&mode="+((element.options[element.selectedIndex].value=="TASK_LIST_print_line_item")?"line_item":"detail")+"&ids="+escape(encodeBase64(MochiKit.Base.serializeJSON(this.currently_selected)));window.onbeforeunload=null;window.location.href=url;}
Basis.select_select_item_by_value(element,"");break;case"CONTACT_LIST_print_line_item":case"CONTACT_LIST_print_detail":if(this.currently_selected.length==0){alert("Please choose a contact list to print.");}else if(this.currently_selected.length>1){alert("You can only print one list at a time.");}else{var url=window.location.href.split("?")[0];url=url.split("/");delete url[url.length-1];url=url.join("/");url+="/index.print.php?type=CONTACT_LIST&mode="+((element.options[element.selectedIndex].value=="CONTACT_LIST_print_line_item")?"line_item":"detail")+"&ids="+escape(encodeBase64(MochiKit.Base.serializeJSON(this.currently_selected)));window.onbeforeunload=null;window.location.href=url;}
Basis.select_select_item_by_value(element,"");break;case"CONTACT_LIST_import_from_vcard":if(this.currently_selected.length==0){alert("Please choose a contact list to import vCards into.");}else if(this.currently_selected.length>1){alert("You can only import to one list at a time.");}else{this.dashboard.run_wizard("IMPORT_FROM_VCARD",{"contact_list_id":this.currently_selected[0]});}
Basis.select_select_item_by_value(element,"");break;case"CONTACT_LIST_export_to_vcards":if(this.currently_selected.length==0){alert("Please choose a contact list to export in vCard format.");}else if(this.currently_selected.length>1){alert("You can only export one list at a time.");}else{window.onbeforeunload=null;window.location.href=this.dashboard["site_url"]+"/ajax/ajax/vcard_export.php?ids="+urlencode(encodeBase64(MochiKit.Base.serializeJSON(this.currently_selected)));}
Basis.select_select_item_by_value(element,"");break;}},with_selected),this),false);var table=DIV({"style":"text-align: right;"},DIV(null,STRONG(null,"With selected: "),with_selected),TABLE({"class":this.root_class_name+".table"},TBODY()));var fields=["display_text"];var header=TR();header.appendChild(TD({"width":"1"}));for(var i=0;i<fields.length;i++){var td=TD({"width":(Math.round((1/fields.length)*100)+"%"),"class":this.root_class_name+".table.field_name"},this.get_master_field_title(fields[i]));td.field=fields[i];if(fields[i]==this.current_sorting.field){MochiKit.DOM.addElementClass(td,this.root_class_name+".table.sorted_column");}
Basis.signal_handler.connect(td,"onclick",bind(partial(function(td){if(this.current_sorting.field==td.field){this.current_sorting.direction=(this.current_sorting.direction=="ASC")?"DESC":"ASC";}else{this.current_sorting.field=td.field;this.current_sorting.direction="ASC";}
this.refresh();},td),this));header.appendChild(td);}
var select_all=INPUT({"type":"checkbox"});Basis.signal_handler.connect(select_all,"onclick",bind(partial(function(select_all){var checks=MochiKit.DOM.getElementsByTagAndClassName("input",this.root_class_name+".row.checkbox",this.elements["container_output"]);for(var x=0;x<checks.length;x++){checks[x].checked=select_all.checked;Basis.signal_handler.execute_interactive_element(checks[x],"onclick");}},select_all),this),false);header.appendChild(TD(null,Basis.nbsp()));header.appendChild(TD({"width":"1","align":"center"},select_all));MochiKit.DOM.getElementsByTagAndClassName("tbody",null,table)[0].appendChild(header);var rows=Basis.keys(this.current_dataset?this.current_dataset:[]);if(rows){for(var i=0;i<rows.length;i++){var resource_id=rows[i];var tr=TR();var row=this.current_dataset[resource_id];tr.appendChild(TD({"align":"right"},((this.current_page-1)*this.num_per_page)+i+1));for(var x=0;x<fields.length;x++){var td=TD(null,this.dashboard.render_view("DEFAULT","browser_row",resource_id));if(fields[x]==this.current_sorting.field){MochiKit.DOM.addElementClass(td,this.root_class_name+".table.sorted_column");}
tr.appendChild(td);var permissions_icon=IMG({"src":this.dashboard.resource_linker[resource_id]["has_restrictions"]?"images/images/default_icons/png/lock.png":(this.dashboard.resource_has_inherited_permissions(resource_id)?"images/images/default_icons/png/lock_inherited.png":"images/images/default_icons/png/lock_open.grey.png"),"style":""});if(this.dashboard.resource_linker[resource_id]["resource_access"]["full_access"]){permissions_icon.style.cursor="pointer";Basis.signal_handler.connect(permissions_icon,"onclick",bind(partial(function(resource_id,lock_icon){this.dashboard.render_view("DEFAULT","resource_permissions_1",resource_id,lock_icon);},resource_id,permissions_icon),this),false);Basis.attach_tooltip(permissions_icon,("Manage custom permissions for "+this.dashboard.resource_display_text(resource_id)),null,false);}else{Basis.attach_tooltip(permissions_icon,"You don't have permission to manage this!",null,false,true);}
tr.appendChild(TD({"style":"width: 16px;"},permissions_icon));}
var row_selector=INPUT({"type":"checkbox","class":this.root_class_name+".row.checkbox"});row_selector.resource_id=resource_id;row_selector.checked=this.is_selected(row_selector.resource_id);if(row_selector.checked){MochiKit.DOM.addElementClass(tr,this.root_class_name+".table.tr.selected");}else{MochiKit.DOM.removeElementClass(tr,this.root_class_name+".table.tr.selected");}
Basis.signal_handler.connect(row_selector,"onclick",bind(partial(function(element){var tr=element.parentNode.parentNode;if(element.checked){this.select_resource(element.resource_id);MochiKit.DOM.addElementClass(tr,this.root_class_name+".table.tr.selected");}else{this.unselect_resource(element.resource_id);MochiKit.DOM.removeElementClass(tr,this.root_class_name+".table.tr.selected");}},row_selector),this),false);Basis.signal_handler.connect(td,"onclick.greedy",bind(function(){this.checked=this.checked?false:true;Basis.signal_handler.execute_interactive_element(this,"onclick");},row_selector),false);tr.appendChild(TD({"align":"center"},row_selector));MochiKit.DOM.getElementsByTagAndClassName("tbody",null,table)[0].appendChild(tr);Basis.signal_handler.connect(tr,"onmouseenter",partial(function(tr,list){MochiKit.DOM.addElementClass(tr,list.root_class_name+".table.tr.mouseover");},tr,this));Basis.signal_handler.connect(tr,"onmouseleave",partial(function(tr,list){MochiKit.DOM.removeElementClass(tr,list.root_class_name+".table.tr.mouseover");},tr,this));}}
MochiKit.DOM.swapDOM(this.elements["list_output"],table);this.elements["list_output"]=table;Basis.updated_live_dom();},this.grid_control);this.grid_control.refresh_title=bind(function(){Basis.remove_children(this.elements["list_title"]);this.elements["list_title"].appendChild(SPAN(null,STRONG(null,"List - "),null));},this.grid_control);this.grid_control.render_resource=bind(function(resource_id,mode){return DIV(null,"delete me");},this.grid_control);},render:function(view){this.grid_control.can_add_new_resource=(this.grid_control.dashboard.resource_linker[this.grid_control.list_resource_id]["resource_access"]["full_access"])?true:false;this.grid_control.render(view);}};;Basis.grid_control.task_list=function(options){this.__init__(options);};Basis.grid_control.task_list.prototype={__init__:function(options){this.grid_control=new Basis.grid_control(options);this.grid_control.dashboard=options["dashboard"];this.grid_control.task_list_resource_id=null;this.grid_control.current_mode="default";this.grid_control.contact_map={};this.grid_control.data_type="";this.grid_control.root_class_name="Basis.task_list";this.grid_control.fields_to_display={"default":["task_name","assigned_to","status","priority","date_due","percent_complete"]};this.grid_control.current_sorting={"field":"task_name","direction":"ASC"};this.grid_control.grid_field_map={"task_name":{"text":"Task Name","type":"text","field":"task_name"},"assigned_to":{"text":"Assigned To","type":"select","array":this.grid_control.dashboard.get_site_resource_list("CONTACT.V2"),"field":"assigned_to"},"status":{"text":"Status","type":"select","array":["Not Started","In Progress","Completed","Deferred","Waiting on someone else"],"field":"status"},"priority":{"text":"Priority","type":"select","array":["(1) High Priority","(2) Normal Priority","(3) Low Priority","(4) Scheduled"],"field":"priority","ivalue":1},"date_due":{"text":"Due Date","type":"text","field":"date_due"},"date_assigned":{"text":"Date Assigned","type":"text","field":"date_assigned"},"percent_complete":{"text":"Percent Complete","type":"select","array":["0%","10%","20%","30%","40%","50%","60%","70%","80%","90%","100%"],"field":"percent_complete"},"notes":{"text":"Notes","type":"text","field":"notes"}};this.grid_control.add_new_resource=bind(function(){this.grid_control.dashboard.run_wizard("TASK",{"grid_control":this.grid_control});},this);this.grid_control.elements["task_list"]=null;this.grid_control.clear_cached_datasets=bind(function(retain_sorting){var retain_sorting=(retain_sorting)?true:false;this.current_dataset={};this.current_raw_dataset={};this.current_filter_hash={"all":null,"filter":null,"sorting":null,"group":null};this.current_filter_data={};this.current_sorting={"field":(retain_sorting?this.current_sorting.field:"task_name"),"direction":(retain_sorting?this.current_sorting.direction:"ASC")};this.current_sorted_data={};},this.grid_control);this.grid_control.fetch_raw_data=bind(function(use_archived_rows){var use_archived_rows=(use_archived_rows===true)?true:false;if(this.dashboard){this.raw_data={};this.group_map={};this.contact_map={};var keys=Basis.keys(this.dashboard.resource_linker[this.task_list_resource_id]["associated_resources"]["TASK"]);keys=keys?keys:[];for(var i=0;i<keys.length;i++){if(this.dashboard.resource_linker[keys[i]]){if((!use_archived_rows&&(this.dashboard.resource_linker[keys[i]]["archived"]!="yes"))||(use_archived_rows&&(this.dashboard.resource_linker[keys[i]]["archived"]=="yes"))){this.raw_data[keys[i]]=this.dashboard.resource_linker[keys[i]]["misc_vars"];this.group_map[keys[i]]=Basis.keys(this.dashboard.resource_linker[keys[i]]["associated_resources"]["GROUP"]);this.contact_map[keys[i]]=Basis.keys(this.dashboard.resource_linker[keys[i]]["associated_resources"]["CONTACT.V2"]);}}}
return new MochiKit.Async.succeed();}else{var to_post={};to_post["task_list_resource_id"]=this.task_list_resource_id;var as=new Basis.ajax_scaffold;as.alias="get_raw_task_data";as.list=this;as.on_success=function(req){var raw_data=MochiKit.Base.evalJSON(req.responseText);this.list.raw_data=raw_data["raw_data"];this.list.group_map=raw_data["group_map"];this.list.contact_map=raw_data["contact_map"];window.status="Done";};return as.post({"to_post":to_post});}},this.grid_control);this.grid_control.refresh_table=bind(function(){var with_selected=SELECT();Basis.select_add_option(with_selected,""," ");if(this.dashboard.resource_linker[this.task_list_resource_id]["resource_access"]["full_access"]){Basis.select_add_options(with_selected,{"archive":"Archive Tasks"});Basis.select_add_options(with_selected,{"unarchive":"Un-Archive Tasks"});}
Basis.select_add_options(with_selected,{"print_line_item":"Print - Line Item"});Basis.select_add_options(with_selected,{"print_detail":"Print - Detail"});if(this.dashboard.resource_linker[this.task_list_resource_id]["resource_access"]["full_access"]){Basis.select_add_options(with_selected,{"delete":"Delete Tasks"});}
Basis.signal_handler.connect(with_selected,"onchange",bind(partial(function(element){switch(element.options[element.selectedIndex].value){case"archive":this.archive_resources(this.currently_selected);Basis.select_select_item_by_value(element,"");break;case"delete":this.delete_resources(this.currently_selected);Basis.select_select_item_by_value(element,"");break;case"print_line_item":case"print_detail":if(this.currently_selected.length>0){var url=window.location.href.split("?")[0];url=url.split("/");delete url[url.length-1];url=url.join("/");url+="/index.print.php?type=TASK&mode="+((element.options[element.selectedIndex].value=="print_line_item")?"line_item":"detail")+"&ids="+escape(encodeBase64(MochiKit.Base.serializeJSON(this.currently_selected)));window.onbeforeunload=null;window.location.href=url;}
Basis.select_select_item_by_value(element,"");break;case"unarchive":this.unarchive_resources(this.currently_selected);Basis.select_select_item_by_value(element,"");break;}},with_selected),this),false);var table=DIV({"style":"text-align: right;"},DIV(null,STRONG(null,"With selected: "),with_selected),TABLE({"class":this.root_class_name+".table"},TBODY()));var fields=this.fields_to_display[this.current_mode];var header=TR();header.appendChild(TD({"width":"1"}));header.appendChild(TD({"width":"1"}));if(fields){for(var i=0;i<fields.length;i++){var td=TD({"width":(Math.round((1/fields.length)*100)+"%"),"class":this.root_class_name+".table.field_name"},this.get_master_field_title(fields[i]));td.field=fields[i];if(fields[i]==this.current_sorting.field){MochiKit.DOM.addElementClass(td,this.root_class_name+".table.sorted_column");}
Basis.signal_handler.connect(td,"onclick",bind(partial(function(td){if(this.current_sorting.field==td.field){this.current_sorting.direction=(this.current_sorting.direction=="ASC")?"DESC":"ASC";}else{this.current_sorting.field=td.field;this.current_sorting.direction="ASC";}
this.refresh();},td),this));header.appendChild(td);}}
header.appendChild(TD({"width":"1"}));var select_all=INPUT({"type":"checkbox"});Basis.signal_handler.connect(select_all,"onclick",bind(partial(function(select_all){var checks=MochiKit.DOM.getElementsByTagAndClassName("input",this.root_class_name+".row.checkbox");for(var x=0;x<checks.length;x++){checks[x].checked=select_all.checked;Basis.signal_handler.execute_interactive_element(checks[x],"onclick");}},select_all),this),false);header.appendChild(TD({"width":"1","align":"center"},select_all));MochiKit.DOM.getElementsByTagAndClassName("tbody",null,table)[0].appendChild(header);var rows=Basis.keys(this.current_dataset);if(rows){for(var i=0;i<rows.length;i++){var resource_id=rows[i];var tr=TR();var row=this.current_dataset[resource_id];var color_coding=null;if(this.get_master_field_data("priority",row,true)=="(1) High Priority"){color_coding=(this.root_class_name+".table.row.color_coding.high_priority");}
if(this.get_master_field_data("status",row,true)=="Completed"){color_coding=(this.root_class_name+".table.row.color_coding.completed");}
if(color_coding){MochiKit.DOM.addElementClass(tr,color_coding);}
var edit_button=IMG({"src":this.dashboard.get_view_association_icon("TASK"),"style":"cursor: pointer;"});Basis.signal_handler.connect(edit_button,"onclick.greedy",bind(partial(function(resource_id,task_list){if(resource_id&&this.resource_linker[resource_id]){Basis.block_updating_live_dom();var detail=this.render_view("DEFAULT","resource_detail",resource_id);var index=this.render_view("DEFAULT","default",this.resource_display_text(resource_id),detail);detail.menu.highlight_item(0);this.tiles.ui.tiles[index].task_list=task_list;this.tiles.ui.go_to(index);Basis.unblock_updating_live_dom();Basis.updated_live_dom();}},resource_id,this),this.dashboard),false);tr.appendChild(TD({"align":"right"},((this.current_page-1)*this.num_per_page)+i+1));tr.appendChild(TD(null,edit_button));if(fields){for(var x=0;x<fields.length;x++){var td=TD(null,this.get_master_field_data(fields[x],row));if(fields[x]==this.current_sorting.field){MochiKit.DOM.addElementClass(td,this.root_class_name+".table.sorted_column");}
tr.appendChild(td);}}
var permissions_icon=IMG({"src":this.dashboard.resource_linker[resource_id]["has_restrictions"]?"images/images/default_icons/png/lock.png":(this.dashboard.resource_has_inherited_permissions(resource_id)?"images/images/default_icons/png/lock_inherited.png":"images/images/default_icons/png/lock_open.grey.png"),"style":""});if(this.dashboard.resource_linker[resource_id]["resource_access"]["full_access"]){permissions_icon.style.cursor="pointer";Basis.signal_handler.connect(permissions_icon,"onclick",bind(partial(function(resource_id,lock_icon){this.dashboard.render_view("DEFAULT","resource_permissions_1",resource_id,lock_icon);},resource_id,permissions_icon),this),false);Basis.attach_tooltip(permissions_icon,("Manage custom permissions for "+this.dashboard.resource_display_text(resource_id)),null,false);}else{Basis.attach_tooltip(permissions_icon,"You don't have permission to manage this!",null,false,true);}
tr.appendChild(TD({"style":"width: 16px;"},permissions_icon));var row_selector=INPUT({"type":"checkbox","class":this.root_class_name+".row.checkbox"});row_selector.resource_id=resource_id;row_selector.checked=this.is_selected(row_selector.resource_id);if(row_selector.checked){MochiKit.DOM.addElementClass(tr,this.root_class_name+".table.tr.selected");}else{MochiKit.DOM.removeElementClass(tr,this.root_class_name+".table.tr.selected");}
Basis.signal_handler.connect(row_selector,"onclick",bind(partial(function(element){var tr=element.parentNode.parentNode;if(element.checked){this.select_resource(element.resource_id);MochiKit.DOM.addElementClass(tr,this.root_class_name+".table.tr.selected");}else{this.unselect_resource(element.resource_id);MochiKit.DOM.removeElementClass(tr,this.root_class_name+".table.tr.selected");}},row_selector),this),false);tr.appendChild(TD({"align":"center"},row_selector));MochiKit.DOM.getElementsByTagAndClassName("tbody",null,table)[0].appendChild(tr);Basis.signal_handler.connect(tr,"onmouseenter",partial(function(tr,list){MochiKit.DOM.addElementClass(tr,list.root_class_name+".table.tr.mouseover");},tr,this));Basis.signal_handler.connect(tr,"onmouseleave",partial(function(tr,list){MochiKit.DOM.removeElementClass(tr,list.root_class_name+".table.tr.mouseover");},tr,this));}}
MochiKit.DOM.swapDOM(this.elements["list_output"],table);this.elements["list_output"]=table;},this.grid_control);this.grid_control.refresh_title=bind(function(){Basis.remove_children(this.elements["list_title"]);this.elements["list_title"].appendChild(SPAN(null,STRONG(null,"Task List - "),null));},this.grid_control);this.grid_control.render_resource=bind(function(resource_id,mode){return DIV(null,"delete me");},this.grid_control);},render:function(view){this.grid_control.can_add_new_resource=(this.grid_control.dashboard.resource_linker[this.grid_control.task_list_resource_id]["resource_access"]["full_access"])?true:false;this.grid_control.render(view);}};;Basis.discussion_board=function(){this.__init__();};Basis.discussion_board.prototype={__init__:function(){this.session_id=null;this.post_url=null;this.resource_id=null;this.load_offset=null;this.logged_in=false;this.is_admin=false;this.is_moderated=false;this.is_collapsible=true;this.mode="single-thread";this.content_element=null;this.board=null;this.topics={};this.title="Discussion Board";this.debug=true;this.cookie_name="";this.custom_ajax_actions={};this.set_up_custom_ajax_actions();},compile:function(){switch(this.mode){case"single-thread":var a=this.custom_ajax_action("get_topics_and_comments");a.addCallback(MochiKit.Base.bind(function(){var element=MochiKit.DOM.getElement(this.content_element);if(element){Basis.remove_element(this.board);if(this.is_admin){var moderate=SELECT({"name":"moderate"});Basis.select_add_options(moderate,{"yes":"Yes","no":"No"});Basis.select_select_item_by_value(moderate,(this.is_moderated?"yes":"no"));Basis.make_text_element_dropdown(moderate,null,{"field":this.resource_id,"custom_action":"discussion_board.perform_moderation","after_success":MochiKit.Base.bind(MochiKit.Base.partial(function(moderate){this.is_moderated=(moderate.options[moderate.selectedIndex].value=="yes")?true:false;this.compile();},moderate),this)});moderate=SPAN(null,["Do you want this discussion moderated? ",moderate]);}else{var moderate=null;}
var moderate=null;this.board=DIV({"style":"padding: 10px;"},TABLE({"width":"100%","border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"300"},H3(null,this.title+" ("+this.count_comments()+" comment"+((this.count_comments()>1)?"s":"")+")")),TD({"style":"vertical-align: top;"},moderate)))));for(var topic_id in this.topics){if(typeof(this.topics[topic_id])!="function"){var node=this.render_topic(topic_id);this.board.appendChild(node);}}
if(this.is_admin){var new_comment=DIV({"class":"Basis.discussion_board.new_comment"},H3(null,"Add New Comment"),this.comment_form());this.board.appendChild(new_comment);}
MochiKit.DOM.insertSiblingNodesAfter(element,this.board);if(this.is_collapsible){for(var topic_id in this.topics){if(typeof(this.topics[topic_id])!="function"){Basis.convert_nested_elements_to_tree(topic_id,"div",true,false,"Basis.discussion_board.comment");}}}
Basis.updated_live_dom();}},this));break;case"threaded":break;}},comment_form:function(parent_id,comment_id,blank){if(parent_id&&comment_id&&!blank){var subject=(this.topics[parent_id]["comments"][comment_id])?this.topics[parent_id]["comments"][comment_id]["subject"]:"";var comment=(this.topics[parent_id]["comments"][comment_id])?this.topics[parent_id]["comments"][comment_id]["comment"]:"";}else{var subject="";var comment="";}
var subject_field=INPUT({"type":"text","name":"subject","style":"width: 450px;","value":subject});var comment_field=TEXTAREA({"name":"comment","style":"width: 450px; height: 75px;"},comment);var save_button=INPUT({"type":"button","value":"Save"});Basis.signal_handler.connect(save_button,"onclick",MochiKit.Base.bind(function(){if(comment_field.value){this.custom_ajax_action("save_comment",subject_field.value,comment_field.value,comment_id,this.resource_id,parent_id,(!blank?false:true));}else{alert("Your comment is empty!");}},this),false);if(parent_id){var cancel_button=INPUT({"type":"button","value":"Cancel"});}else{var cancel_button=null;}
var form=DIV({"class":"Basis.discussion_board.comment_form"},TABLE({"width":"100%"},TBODY(null,TR(null,TD({"width":"75"},"Subject:"),TD(null,subject_field)),TR(null,TD({"width":"75"},"Comment:"),TD(null,comment_field)),TR(null,TD({"width":"75"}," "),TD(null,save_button,cancel_button)))));if(parent_id){Basis.signal_handler.connect(cancel_button,"onclick",MochiKit.Base.bind(function(){if(confirm("Are you sure you want to cancel this comment?")){this.board.topics[parent_id]["comments"][comment_id].replying=false;this.board.topics[parent_id]["comments"][comment_id].editing=false;Basis.remove_element(this.button.parent_form);}},{"button":cancel_button,"board":this}),false);cancel_button.parent_form=form;}
return form;},custom_ajax_action:function(alias){if(alias&&this.custom_ajax_actions[alias]&&(typeof(this.custom_ajax_actions[alias])=="function")){var args=[];for(var x=1;x<arguments.length;x++){args[x-1]=arguments[x];}
return this.custom_ajax_actions[alias].apply(null,args);}},count_comments:function(){var num=0;for(var i in this.topics){if(typeof(this.topics[i])!="function"){num+=Basis.array_length(this.topics[i]["comments"]);}}
return num;},render_comment:function(topic_id,comment_id){if(topic_id&&comment_id&&this.topics[topic_id]&&this.topics[topic_id]["comments"][comment_id]){var data=this.topics[topic_id]["comments"][comment_id];var date=new Date(Basis.parse_number(data["timestamp"])*1000);var comment_text=data["comment"]?data["comment"]:"";var avatar=data["avatar"]?IMG({"src":data["avatar"]}):null;if(this.logged_in){var reply_button=INPUT({"type":"button","value":"Reply to this"});Basis.signal_handler.connect(reply_button,"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(anchor){if(!this.topics[topic_id]["comments"][comment_id].editing&&!this.topics[topic_id]["comments"][comment_id].replying){var form=this.comment_form(topic_id,comment_id,true);var div=anchor.parentNode.parentNode.parentNode.parentNode.parentNode;MochiKit.DOM.insertSiblingNodesAfter(div,form);this.topics[topic_id]["comments"][comment_id].replying=true;}},reply_button),this),false);}else{var reply_button=null;}
if(this.is_admin){var edit_button=INPUT({"type":"button","value":"Edit this"});Basis.signal_handler.connect(edit_button,"onclick",MochiKit.Base.bind(MochiKit.Base.partial(function(anchor){if(!this.topics[topic_id]["comments"][comment_id].editing&&!this.topics[topic_id]["comments"][comment_id].replying){var form=this.comment_form(topic_id,comment_id,false);var div=anchor.parentNode.parentNode.parentNode.parentNode.parentNode;MochiKit.DOM.insertSiblingNodesAfter(div,form);this.topics[topic_id]["comments"][comment_id].editing=true;}},edit_button),this),false);if(this.is_moderated){var approve=SELECT({"name":"approve"});Basis.select_add_options(approve,{"yes":"Yes","no":"No"});Basis.select_select_item_by_value(approve,data["approved"]);Basis.make_text_element_dropdown(approve,null,{"field":comment_id,"custom_action":"discussion_board.perform_approval","after_success":MochiKit.Base.bind(function(){},this)});approve=SPAN(null,["Is this comment approved? ",approve]);}else{var archive=null;}
var archive=SELECT({"name":"archive"});Basis.select_add_options(archive,{"yes":"Yes","no":"No"});Basis.select_select_item_by_value(archive,data["archived"]);Basis.make_text_element_dropdown(archive,null,{"field":comment_id,"custom_action":"discussion_board.perform_archival","after_success":MochiKit.Base.bind(function(){this.compile();},this)});archive=SPAN(null,["Archive this comment? ",archive]);}else{var edit_button=null;var approve=null;var archive=null;}
var comment=DIV({"id":comment_id,"class":"Basis.discussion_board.comment"},DIV({"class":"Basis.discussion_board.comment_container"},TABLE({"width":"100%","border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"rowSpan":"3","class":"Basis.discussion_board.avatar","valign":"top"},avatar,DIV(null,STRONG(null,data["username"]))),TD({"colSpan":"2"},DIV({"class":"Basis.discussion_board.subject"},data["subject"])),TD({"colSpan":"2"},DIV({"class":"Basis.discussion_board.comment_text"},comment_text))),TR(null,TD(null,DIV({"class":"Basis.discussion_board.created_by"},Basis.english_timestamp(date,this.load_offset,true))),TD({"style":"text-align: right; white-space: nowrap;"},DIV({"class":"Basis.discussion_board.functions"},approve," ",archive," ",edit_button," ",reply_button)))))));return comment;}},render_topic:function(topic_id){var nodes=DIV({"class":"Basis.discussion_board"});if(topic_id&&this.topics[topic_id]&&this.topics[topic_id]["tree"]){this.render_topic_item=MochiKit.Base.bind(function(topic_id,comment_id,node){var element=this.render_comment(topic_id,comment_id);var keys=MochiKit.Base.keys(node);if(keys.length>0){for(var i=0;i<keys.length;i++){var key=keys[i];if(this.topics[topic_id]["comments"][key]){var child=this.render_topic_item(topic_id,key,node[key]);if(element&&child){element.appendChild(child);}}}}
return element;},this);var list=this.topics[topic_id]["tree"];for(var i in list){if(typeof(list[i])!="function"){nodes.appendChild(this.render_topic_item(topic_id,i,list[i]));}}}
return nodes;},set_custom_ajax_action:function(alias,func){if(alias&&func&&(typeof(func)=="function")){this.custom_ajax_actions[alias]=func;}},set_session_variables:function(vars){var to_post=MochiKit.Base.update({},vars);var as=new Basis.ajax_scaffold;as.alias="set_session_variables";as.on_success=function(req){window.status="Done";};return as.post({"to_post":to_post});},set_up_custom_ajax_actions:function(){this.set_custom_ajax_action("get_topics_and_comments",MochiKit.Base.bind(function(){var to_post={};to_post["resource_id"]=this.resource_id?this.resource_id:"";var as=new Basis.ajax_scaffold;as.alias="get_topics_and_comments";as.board=this;as.on_success=function(req){this.board.topics=MochiKit.Base.evalJSON(req.responseText);window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("save_comment",MochiKit.Base.bind(function(subject,comment,comment_id,resource_id,parent_id,replying){var to_post={};to_post["subject"]=subject?subject:"";to_post["comment"]=comment?comment:"";to_post["comment_id"]=comment_id?comment_id:"";to_post["resource_id"]=resource_id?resource_id:"";to_post["parent_id"]=parent_id?parent_id:"";to_post["replying"]=replying?"true":"false";var as=new Basis.ajax_scaffold;as.alias="save_comment";as.board=this;as.on_success=MochiKit.Base.partial(function(parent_id,req){if(req.responseText=="true"){this.board.compile(parent_id);}else{}
window.status="Done";},parent_id);return as.post({"to_post":to_post});},this));}};;try{if(typeof(Basis)=='undefined'){throw"";}}catch(e){throw"Basis.bcalendar depends on Basis!";}
if(typeof(Basis.bcalendar)=='undefined'){Basis.bcalendar={};}
Basis.bcalendar.NAME='Basis.bcalendar';Basis.bcalendar.VERSION='0.1';Basis.bcalendar.__repr__=function(){return'['+this.NAME+' '+this.VERSION+']';};Basis.bcalendar.toString=function(){return this.__repr__();};Basis.bcalendar=function(){this.__init__();};Basis.bcalendar.instances=[];Basis.bcalendar.prototype={__init__:function(){this.mtend={1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31};this.months={1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"};this.container_element;this.variable_name;this.date_element;this.append_to_element;this.month;this.day;this.year;this.original_month;this.original_day;this.original_year;this.loading_events;this.self_id;this.sid;this.events=new Object();this.has_events=false;this.show_selected_day=true;this.visible=false;this.linked_to_dropdown=true;this.logged_in=false;this.class_prefix="bcalendar";this.mode="calendar";this.output="";this.list_id=1;this.duration=0.00;this.index=Basis.bcalendar.instances.length;Basis.bcalendar.instances[this.index]=this;},add_event:function(month,day,year){if(month&&day&&year){var date_parts=this.date_parts((year+"-"+month+"-"+day),true);var to_post=new Object();to_post["date"]=date_parts["y"]+"-"+date_parts["m"]+"-"+date_parts["d"];to_post["form_request"]=this.list_id;window.status="Fetching form...";var as=new Basis.ajax_scaffold;as.alias="calendar_date_add_event_form";as.sid=this.sid;as.url=this.self_url;as.pvar=this;as.month=month;as.day=day;as.year=year;as.on_success=function(req){var response=req.responseText;if(response){var html=response+"<div style=\"text-align: right\"><input type=\"button\" value=\"Save\" onclick=\""+this.pvar.variable_name+".add_event_post('"+eval(this.year)+"-"+((eval(this.month)<10)?("0"+eval(this.month)):(eval(this.month)))+"-"+((eval(this.day)<10)?("0"+eval(this.day)):(eval(this.day)))+"');\"></div>";var obj=MochiKit.DOM.getElement("add_event");if(!obj){this.popup=Basis.popup({"id":"add_event","html":html,"window_title":"Add Event - "+this.pvar.months[eval(this.month)]+" "+eval(this.day)+", "+eval(this.year)});}else{this.popup.html_container.innerHTML=html;}
window.status="Done";}else{window.status="add_event(): ERROR!";}};as.post({"to_post":to_post});}},add_event_post:function(date){var element=MochiKit.DOM.getElement("add_event");if(element){var form_data=MochiKit.DOM.formContents("form_999999");form_data[0][form_data[0].length]="PHPSESSID";form_data[1][form_data[1].length]=this.sid;form_data[0][form_data[0].length]="date";form_data[1][form_data[1].length]=date;form_data[0][form_data[0].length]="form_request";form_data[1][form_data[1].length]=this.list_id;var to_post=new Object();for(var i in form_data[0]){if(typeof(form_data[0][i])!="function"){to_post[form_data[0][i]]=form_data[1][i];}}
window.status="Saving event...";var as=new Basis.ajax_scaffold;as.alias="calendar_date_add_event_save";as.sid=this.sid;as.url=this.self_url;as.pvar=this;as.on_success=function(req){var obj=MochiKit.DOM.getElement("add_event");if(obj&&obj.close){obj.close();}
this.pvar.compile();window.status="Done";};as.post({"to_post":to_post});}},append_output:function(){if(this.container_element){var element=MochiKit.DOM.getElement(this.container_element);if(element){var temp="";if(this.has_events){temp+="<div>";temp+="  <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"margin-bottom: 10px; border: 1px solid #EBEBEB; background-color: #FFFFFF; padding: 10px;\">";temp+="    <tr>";temp+="      <td width=\"20%\" align=\"center\"><span style=\"cursor: pointer; font-weight: bold;\" onclick=\""+this.variable_name+".compile();\">Calendar View</span></td>";temp+="      <td width=\"20%\" align=\"center\"><span style=\"cursor: pointer; font-weight: bold;\" onclick=\""+this.variable_name+".tasklist_mode();\">Project List View</span></td>";if(this.logged_in){temp+="      <td width=\"20%\" align=\"center\"><span style=\"cursor: pointer; font-weight: bold;\" onclick=\""+this.variable_name+".tasklist_manage_categories();\"><b>Manage Project Categories</b></td>";}
temp+="    </tr>";temp+="  </table>";temp+="</div>";}
this.output=temp+this.output;element.innerHTML=this.output;Basis.execute_javascript(element);}
if(!this.linked_to_dropdown){element.style.display="block";element.style.position="static";element.style.zIndex=0;}}},bcalendar_td_out:function(element){if(MochiKit.DOM.getElement(element)){MochiKit.DOM.getElement(element).className=MochiKit.DOM.getElement(element).oclass;}},bcalendar_td_over:function(element){if(MochiKit.DOM.getElement(element)){MochiKit.DOM.getElement(element).oclass=MochiKit.DOM.getElement(element).className;MochiKit.DOM.getElement(element).className=this.class_prefix+"_td_over";}},calendar_mode:function(){this.calendar_render();},calendar_render:function(){if(MochiKit.DOM.getElement("all_events")){MochiKit.DOM.removeElement("all_events");}
var tdate=new Date();if(!this.month){this.month=tdate.getMonth()+1;}
if(!this.day){this.day=tdate.getDay();}
if(!this.year){this.year=tdate.getFullYear();}
if(!this.original_month){this.original_month=this.month;}
if(!this.original_day){this.original_day=this.day;}
if(!this.original_year){this.original_year=this.year;}
if(this.variable_name&&(this.date_element||!this.linked_to_dropdown)){if(!MochiKit.DOM.getElement(this.container_element)){if(this.date_element){this.container_element="calendar_"+this.date_element.name+"_"+this.date_element.rrv+"_"+this.date_element.findex;}else{this.container_element="calendar_"+this.variable_name;}}
this.day=1;var grid={0:{0:"",1:"",2:"",3:"",4:"",5:"",6:""},1:{0:"",1:"",2:"",3:"",4:"",5:"",6:""},2:{0:"",1:"",2:"",3:"",4:"",5:"",6:""},3:{0:"",1:"",2:"",3:"",4:"",5:"",6:""},4:{0:"",1:"",2:"",3:"",4:"",5:"",6:""},5:{0:"",1:"",2:"",3:"",4:"",5:"",6:""}};this.output="";if(this.month&&this.day&&this.year){var date_info=this.get_date_info();var t=date_info.day_of_week;var counter=1;if(date_info){for(y=0;y<6;y++){for(x=t;x<7;x++){if(counter<=date_info.days_in_month){grid[y][x]=counter;counter++;}}
t=0;}}
if((this.month-1)<=0){var pmonth=12;var pyear=this.year-1;}else{var pmonth=this.month-1;var pyear=this.year;}
if((this.month+1)>=13){var nmonth=1;var nyear=this.year+1;}else{var nmonth=this.month+1;var nyear=this.year;}
this.output+="<table id=\"bcalendar_table_"+this.variable_name+"\" class=\""+this.class_prefix+"_table\">\n";this.output+="  <tbody>";this.output+="    <tr>\n";this.output+="      <td id=\"bcalendar_table_"+this.variable_name+"_nav_left\"><a href=\"javascript:if ("+this.variable_name+") {"+this.variable_name+".navigate("+pmonth+","+pyear+"); }\" onmouseover=\"window.status = 'Done'; return true;\"><img src=\"images/images/prev_on.gif\" border=\"0\"></a></td>\n";this.output+="      <td id=\"bcalendar_table_"+this.variable_name+"_month\" class=\""+this.class_prefix+"_month_year\" colspan=\"5\">"+this.months[this.month]+" "+this.year+"</td>\n";this.output+="      <td id=\"bcalendar_table_"+this.variable_name+"_nav_right\" align=\"right\"><a href=\"javascript:if ("+this.variable_name+") {"+this.variable_name+".navigate("+nmonth+","+nyear+"); }\" onmouseover=\"window.status = 'Done'; return true;\"><img src=\"images/images/next_on.gif\" border=\"0\"></a></td>\n";this.output+="    </tr>\n";this.output+="    <tr class=\""+this.class_prefix+"_tr\">\n";this.output+="      <td class=\""+this.class_prefix+"_header_td\">Sun</td>\n";this.output+="      <td class=\""+this.class_prefix+"_header_td\">Mon</td>\n";this.output+="      <td class=\""+this.class_prefix+"_header_td\">Tue</td>\n";this.output+="      <td class=\""+this.class_prefix+"_header_td\">Wed</td>\n";this.output+="      <td class=\""+this.class_prefix+"_header_td\">Thu</td>\n";this.output+="      <td class=\""+this.class_prefix+"_header_td\">Fri</td>\n";this.output+="      <td class=\""+this.class_prefix+"_header_td\">Sat</td>\n";this.output+="    </tr>\n";var rows=6;if(!grid[5][0]){rows=5;}
for(y=0;y<rows;y++){this.output+="    <tr class=\""+this.class_prefix+"_tr\">\n";for(x=0;x<7;x++){var today=new Date();var td_js="";if((today.getDate()==grid[y][x])&&((today.getMonth()+1)==this.month)&&(today.getFullYear()==this.year)){today="_today";}else{if(!grid[y][x]){today="_outside_month";}else{today="";}}
if(this.show_selected_day){if(this.date_element){var month_element=MochiKit.DOM.getElement(this.date_element.name+"_month_"+this.date_element.rrv);var day_element=MochiKit.DOM.getElement(this.date_element.name+"_day_"+this.date_element.rrv);var year_element=MochiKit.DOM.getElement(this.date_element.name+"_year_"+this.date_element.rrv);if(month_element&&day_element&&year_element){if((month_element.options[month_element.selectedIndex].value==this.month)&&(day_element.options[day_element.selectedIndex].text==grid[y][x])&&(year_element.options[year_element.selectedIndex].text==this.year)){today="_selected";}}}else{if((this.original_month==this.month)&&(this.original_year==this.year)&&(this.original_day==grid[y][x])){today="_selected";}}}
if(grid[y][x]){td_js=" onmouseover=\"if ("+this.variable_name+") {"+this.variable_name+".bcalendar_td_over(this); }\" onmouseout=\"if ("+this.variable_name+") {"+this.variable_name+".bcalendar_td_out(this); }\" ";if(this.linked_to_dropdown){td_js+=" onclick=\"if ("+this.variable_name+") {"+this.variable_name+".update_date_element('"+this.month+"','"+grid[y][x]+"','"+this.year+"',this); }\" ";}}
var add_event="";if(this.logged_in&&grid[y][x]){var add_event="<a href=\"javascript:if ("+this.variable_name+") {"+this.variable_name+".add_event('"+this.month+"','"+grid[y][x]+"','"+this.year+"'); }\" onmouseover=\"window.status = 'Done'; return true;\"><img src=\"images/images/add_date_small.gif\" border=\"0\" style=\"cursor: pointer;\"></a>";}
this.output+="      <td id=\"bcalendar_table_"+this.variable_name+"_"+grid[y][x]+"\" class=\""+this.class_prefix+"_td"+today+"\" "+td_js+"><table width=\"100%\"><tr><td><span class=\""+this.class_prefix+"_td_date\">"+grid[y][x]+"</span></td><td align=\"right\">"+add_event+"</td></tr></table></td>\n";}
this.output+="    </tr>\n";}
this.output+="  </tbody>";this.output+="</table>";}
if(!MochiKit.DOM.getElement(this.container_element)){var container_element=new MochiKit.DOM.DIV({"id":this.container_element,"class":this.class_prefix+"_container"},null);if(this.date_element){var element=MochiKit.DOM.getElement("calendar_"+this.date_element.rrv+"_"+this.date_element.findex+"_placeholder");}else if(this.append_to_element&&MochiKit.DOM.getElement(this.append_to_element)){var element=MochiKit.DOM.getElement(this.append_to_element);}else{var element=document.body;}
element.appendChild(container_element);}
this.append_output();if(!this.date_element&&this.has_events){this.tasklist_get_categories();this.date_get_events(this.year+"-"+this.month);}
return this.output;}else{return false;}},compile:function(){switch(this.mode){case"calendar":this.calendar_mode();break;case"tasklist":this.tasklist_mode();break;default:this.calendar_mode();break;}},date_parts:function(date,padded){if(date){var date_parts=date.split("-");var year=date_parts[0];var month=date_parts[1];var day=date_parts[2];if(year&&(year.substring(0,1)=="0")){year=year.substring(1);}
if(month&&(month.substring(0,1)=="0")){month=month.substring(1);}
if(day&&(day.substring(0,1)=="0")){day=day.substring(1);}
if(year){year=eval(year);}
if(month){month=eval(month);}
if(day){day=eval(day);}
if(!padded){return{"y":year,"m":month,"d":day};}else{return{"y":(year<10)?("0"+year):(year),"m":(month<10)?("0"+month):(month),"d":(day<10)?("0"+day):(day)};}}},date_get_events:function(date){if(date&&!this.linked_to_dropdown){window.status="Fetching calendar events...";var to_post=new Object();to_post["date"]=date;to_post["list_id"]=this.list_id;var as=new Basis.ajax_scaffold;as.alias="calendar_date_get_events";as.sid=this.sid;as.url=this.self_url;as.date=date;as.pvar=this;as.on_success=function(req){var response=req.responseText;if(response){this.pvar.events=MochiKit.Base.evalJSON(req.responseText);var date_parts=this.pvar.date_parts(this.date);var year=date_parts["y"];var month=date_parts["m"];var day=date_parts["d"];if(day=="0"){day=null;}
if(year&&month&&!day){var date_info=this.pvar.get_date_info();for(x=1;x<=date_info["days_in_month"];x++){this.pvar.date_render_events(year+"-"+month+"-"+x);}}else{this.pvar.date_render_events(date);}
window.status="Done";}else{window.status="date_get_events(): ERROR!";}};as.post({"to_post":to_post});}},date_render_events:function(date,total_show,update_html){var date_parts=this.date_parts(date,true);var year=date_parts["y"];var month=date_parts["m"];var day=date_parts["d"];date=year+"-"+month+"-"+day;if(this.events[date]){var events=this.events[date];if(events){var output="";var x=0;var total=0;var trim=false;var trimmed=false;if(!total_show){total_show=4;trim=true;}
if((year==this.year)&&(month==this.month)){for(var i in events){if(events[i]&&events[i]["event"]){if(x<total_show){var event_title=events[i]["event"];if(trim&&(event_title.length>15)){event_title=(event_title.substring(0,12)+"...");trimmed=true;}
output+="<div id=\"bcalendar_event_"+events[i]["id"]+"\" class=\""+this.class_prefix+"_event\" style=\"cursor: pointer;\" onmouseover=\"this.className='"+this.class_prefix+"_event_over';\" onmouseout=\"this.className='"+this.class_prefix+"_event';\" onclick=\""+this.variable_name+".event_render_details('"+events[i]["id"]+"');\">"+event_title+"</div>\n";x++;}
total++;}}
if(output&&(total>x)){output+="<div class=\"bcalendar_event\" align=\"right\"><a href=\"javascript:if ("+this.variable_name+") {"+this.variable_name+".date_render_all_events('"+date+"'); }\" onmouseover=\"window.status = 'Done'; return true;\">..."+(total-x)+" more</a></div>";}else{if(trimmed){output+="<div class=\"bcalendar_event\" align=\"right\"><a href=\"javascript:if ("+this.variable_name+") {"+this.variable_name+".date_render_all_events('"+date+"'); }\" onmouseover=\"window.status = 'Done'; return true;\">...more</a></div>";}}
if((update_html==null)||(update_html==true)){var element=MochiKit.DOM.getElement("bcalendar_table_"+this.variable_name+"_"+eval(day));if(element){element.innerHTML+=output;}}}
return output;}}},date_render_all_events:function(date){if(MochiKit.DOM.getElement("all_events")){MochiKit.DOM.removeElement("all_events");}
var date_parts=this.date_parts(date);var year=date_parts["y"];var month=date_parts["m"];var day=date_parts["d"];var events=this.date_render_events(date,1000,false);var html=events;var to_pos=MochiKit.Style.getElementPosition(MochiKit.DOM.getElement("bcalendar_table_"+this.variable_name+"_"+eval(day)));var obj=MochiKit.DOM.getElement("all_events");if(!obj){this.all_events_popup=Basis.popup({"id":"all_events","html":html,"center_element":false,"move_to":to_pos,"window_title":(this.months[eval(month)]+" "+eval(day)+", "+eval(year))});}else{this.all_events_popup.html_container.innerHTML=html;}},delete_event:function(event_id){if(confirm('Are you sure you want to delete this event?')==true){window.status="Deleting calendar event...";var to_post=new Object();to_post["event_id"]=event_id;var as=new Basis.ajax_scaffold;as.alias="calendar_date_delete_event";as.sid=this.sid;as.url=this.self_url;as.pvar=this;as.on_success=function(req){if(MochiKit.DOM.getElement("add_event")){MochiKit.DOM.removeElement("add_event");}
if(MochiKit.DOM.getElement("event_detail")){MochiKit.DOM.removeElement("event_detail");}
if(MochiKit.DOM.getElement("all_events")){MochiKit.DOM.removeElement("all_events");}
this.pvar.compile();window.status="Done";};as.post({"to_post":to_post});}},edit_event:function(event_id,date){if(event_id&&date){var date_parts=this.date_parts(date,true);var to_post=new Object();to_post["event_id"]=event_id;to_post["date"]=date_parts["y"]+"-"+date_parts["m"]+"-"+date_parts["d"];window.status="Fetching form...";var as=new Basis.ajax_scaffold;as.alias="calendar_date_edit_event_form";as.sid=this.sid;as.url=this.self_url;as.pvar=this;as.event_id=event_id;as.on_success=function(req){var response=req.responseText;if(response){var html=response+"<div style=\"text-align: right\"><input type=\"button\" value=\"Save\" onclick=\""+this.pvar.variable_name+".save_event_post('"+this.event_id+"');\"></div>";var obj=MochiKit.DOM.getElement("event_detail");if(!obj){this.pvar.event_detail_popup=Basis.popup({"id":"event_detail","html":html,"window_title":"Edit Event"});}else{this.pvar.event_detail_popup.html_container.innerHTML=html;Basis.execute_javascript(obj);Basis.center_element(obj,true);}
window.status="Done";}else{window.status="edit_event(): ERROR!";}};as.post({"to_post":to_post});}},event_get_details:function(id){if(this.events){for(var date in this.events){for(var i in this.events[date]){if(this.events[date][i]["id"]&&this.events[date][i]["id"]==id){return this.events[date][i];}}}}
return false;},event_render_details:function(id){var element=MochiKit.DOM.getElement("bcalendar_event_"+id);if(element){var html="<table cellpadding=\"5\">";var details=this.event_get_details(id);if(details&&details["assigned_date"]&&(details["assigned_date"]!="0000-00-00")){var date_parts=this.date_parts(details["assigned_date"]);var event_year=date_parts["y"];var event_month=date_parts["m"];var event_day=date_parts["d"];}
if(details&&details["event"]){html+="<tr><td><b>Name:</b></td><td>"+details["event"]+"</td></tr>\n";}
if(details&&details["category_id"]&&this.tasklist_categories&&this.tasklist_categories[details["category_id"]]){html+="<tr><td><b>Project:</b></td><td>"+this.tasklist_categories[details["category_id"]]+"</td></tr>\n";}
if(details&&details["due_date"]&&(details["due_date"]!="0000-00-00")){var date_parts=this.date_parts(details["due_date"]);var due_year=date_parts["y"];var due_month=date_parts["m"];var due_day=date_parts["d"];html+="<tr><td><b>Due Date:</b></td><td>"+this.months[due_month].substring(0,3)+" "+due_day+", "+due_year+"</td></tr>\n";}
if(details&&details["notes"]){html+="<tr><td><b>Notes:</b></td><td>"+details["notes"].replace(/\n/g,"<br>")+"</td></tr>\n";}
if(details&&details["notes2"]){html+="<tr><td><b>More notes:</b></td><td>"+details["notes2"].replace(/\n/g,"<br>")+"</td></tr>\n";}
html+="</table>";var delete_button="";var edit_button="";if(this.logged_in){edit_button="<input type=\"button\" value=\"Edit\" onclick=\""+this.variable_name+".edit_event('"+id+"','"+details["assigned_date"]+"');\">";delete_button="<input type=\"button\" value=\"Delete\" onclick=\""+this.variable_name+".delete_event('"+id+"');\">";}
html+="<div align=\"right\">"+edit_button+"&nbsp;"+delete_button+"</div>";var obj=MochiKit.DOM.getElement("event_detail");if(!obj){this.event_detail_popup=Basis.popup({"id":"event_detail","html":html,"center_element":false,"move_to":MochiKit.Style.getElementPosition(element),"window_title":"Event Detail"});}else{this.event_detail_popup.html_container.innerHTML=html;Basis.execute_javascript(obj);MochiKit.Style.setElementPosition(obj,MochiKit.Style.getElementPosition(element));}}},format_date_short:function(date_text){if(date_text){if(date_text!="0000-00-00"){var date_parts=this.date_parts(date_text);var y=date_parts["y"];var m=date_parts["m"];var d=date_parts["d"];return this.months[m].substring(0,3)+" "+d+", "+y;}else{return"&nbsp;";}}
return"&nbsp;";},format_date_long:function(date_text){if(date_text){if(date_text!="0000-00-00"){var date_parts=this.date_parts(date_text);var y=date_parts["y"];var m=date_parts["m"];var d=date_parts["d"];return this.months[m]+" "+d+", "+y;}else{return"&nbsp;";}}
return"&nbsp;";},get_date_info:function(){this.month=eval(this.month);this.day=eval(this.day);this.year=eval(this.year);var mtend=this.mtend[this.month];if((this.month==2)&&((this.year%4)==0)){mtend++;}
if(this.day<(mtend+1)){var c=new Date();c.setFullYear(this.year,(this.month-1),this.day);return{"day_of_week":c.getDay(),"days_in_month":mtend};}else{return false;}},navigate:function(m,y){if(!this.date_element){if(MochiKit.DOM.getElement("add_event")&&MochiKit.DOM.getElement("add_event").close){MochiKit.DOM.getElement("add_event").close();}
if(MochiKit.DOM.getElement("event_detail")&&MochiKit.DOM.getElement("event_detail").close){MochiKit.DOM.getElement("event_detail").close();}
if(MochiKit.DOM.getElement("all_events")&&MochiKit.DOM.getElement("all_events").close){MochiKit.DOM.getElement("all_events").close();}}
this.month=m;this.year=y;this.compile();if(MochiKit.DOM.getElement(this.container_element)){MochiKit.DOM.getElement(this.container_element).innerHTML=this.output;Basis.execute_javascript(this.container_element);}
if(this.date_element){var info=this.get_date_info();var days_in_month=info["days_in_month"];var element=MochiKit.DOM.getElement(this.date_element.name+"_day_"+this.date_element.rrv);if(element){if(days_in_month!=element.options.length){var sindex=element.selectedIndex;element.options.length=0;for(var x=0;x<days_in_month;x++){element.options[x]=new Option(x+1,x);}
if(sindex){element.selectedIndex=sindex;}}}}},save_event_post:function(id){var element=MochiKit.DOM.getElement("event_detail");if(element){var form_data=MochiKit.DOM.formContents("form_888888");form_data[0][form_data[0].length]="PHPSESSID";form_data[1][form_data[1].length]=this.sid;form_data[0][form_data[0].length]="id";form_data[1][form_data[1].length]=id;var to_post=new Object();for(var i in form_data[0]){if(typeof(form_data[0][i])!="function"){to_post[form_data[0][i]]=form_data[1][i];}}
window.status="Saving event...";var as=new Basis.ajax_scaffold;as.alias="calendar_date_edit_event_save";as.sid=this.sid;as.url=this.self_url;as.pvar=this;as.on_success=function(req){var obj=MochiKit.DOM.getElement("event_detail");if(obj&&obj.close){obj.close();}
this.pvar.compile();window.status="Done";};as.post({"to_post":to_post});}},tasklist_edit_task:function(task_id){},tasklist_get_categories:function(on_complete){window.status="Fetching tasklist events...";if(!on_complete){on_complete=function(){};}
this.on_complete=on_complete;var to_post=new Object();to_post["list_id"]=this.list_id;var as=new Basis.ajax_scaffold;as.alias="tasklist_get_categories";as.sid=this.sid;as.url=this.self_url;as.pvar=this;as.on_success=function(req){this.pvar.tasklist_categories=MochiKit.Base.evalJSON(req.responseText);var obj=MochiKit.DOM.getElement("category_id_999999");if(obj){MochiKit.Logging.log("category_id_999999");}
var obj=MochiKit.DOM.getElement("category_id_888888");if(obj){MochiKit.Logging.log("category_id_888888");}
this.pvar.on_complete();window.status="Done";};as.post({"to_post":to_post});},tasklist_get_events:function(on_complete){window.status="Fetching tasklist events...";if(!on_complete){on_complete=function(){};}
this.on_complete=on_complete;var to_post=new Object();to_post["list_id"]=this.list_id;var as=new Basis.ajax_scaffold;as.alias="tasklist_get_events";as.sid=this.sid;as.url=this.self_url;as.pvar=this;as.on_success=function(req){this.pvar.tasklist_events=MochiKit.Base.evalJSON(req.responseText);this.pvar.on_complete();window.status="Done";};as.post({"to_post":to_post});},tasklist_manage_categories:function(){var obj=MochiKit.DOM.getElement("tasklist_manage_categories");if(obj&&obj.close){obj.close();}else{window.status="Fetching tasklist categories...";var to_post=new Object();to_post["list_id"]=this.list_id;var as=new Basis.ajax_scaffold;as.alias="tasklist_manage_categories";as.sid=this.sid;as.url=this.self_url;as.pvar=this;as.on_success=function(req){var obj=MochiKit.DOM.getElement("tasklist_manage_categories");if(!obj){this.tasklist_manage_categories_popup=Basis.popup({"id":"tasklist_manage_categories","html":req.responseText,"window_title":"Manage Project Categories"});}else{this.tasklist_manage_categories_popup.html_container.innerHTML=html;Basis.execute_javascript(obj);MochiKit.Style.setElementPosition(obj,MochiKit.Style.getElementPosition(element));}
window.status="Done";};as.post({"to_post":to_post});}},tasklist_mode:function(){this.output="<img src=\"images/images/ajax_loading.gif\">";this.append_output();this.tasklist_get_categories(function(){this.tasklist_get_events(function(){this.tasklist_render_events();this.append_output();});});},tasklist_render_events:function(){if(this.tasklist_events&&this.tasklist_categories){this.output="<style>";this.output+="";this.output+="  .tasklist_row {";this.output+="  ";this.output+="    border: 1px solid #EBEBEB;";this.output+="    margin-bottom: 3px;";this.output+="  ";this.output+="  }";this.output+="  ";this.output+="  .tasklist_row td {";this.output+="  ";this.output+="    border-top: inherit;";this.output+="    border-bottom: inherit;";this.output+="    border-left: 0px;";this.output+="    border-right: 0px;";this.output+="    background-color: #FFFFFF;";this.output+="    color: #626262;";this.output+="  ";this.output+="  }";this.output+="  ";this.output+="  ";this.output+="  .tasklist_row td.left {";this.output+="  ";this.output+="    border-left: inherit;";this.output+="    border-top: inherit;";this.output+="    border-bottom: inherit;";this.output+="    border-right: 0px;";this.output+="  ";this.output+="  }";this.output+="  ";this.output+="  .tasklist_row td.right {";this.output+="  ";this.output+="    border-right: inherit;";this.output+="    border-top: inherit;";this.output+="    border-bottom: inherit;";this.output+="    border-left: 0px;";this.output+="  ";this.output+="  }";this.output+="";this.output+="</style>";for(var i in this.tasklist_categories){if(typeof(this.tasklist_categories[i])!="function"){this.output+="<div style=\"display: inline; font-weight: bold; padding-right: 5px;\">"+this.tasklist_categories[i]+"</div>";if(this.logged_in){this.output+="<img src=\"images/images/add_date_small.gif\">";}
this.output+="<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">";this.output+="  <tr>";this.output+="    <td width=\"18\" style=\"vertical-align: top; padding-top: 5px;\"><img border=\"0\" id=\""+this.variable_name+"_"+i+"_icon\" src=\"images/images/tree-node-open-end.gif\" style=\"cursor: pointer;\" width=\"18\" height=\"18\" onclick=\"Basis.toggle_visible('"+this.variable_name+"_"+i+"_td'); (Basis.is_visible('"+this.variable_name+"_"+i+"_td')) ? (this.src = 'images/images/tree-node-open-end.gif') : (this.src = 'images/images/tree-node-end.gif');\"></td>";this.output+="    <td id=\""+this.variable_name+"_"+i+"_td\" style=\"padding: 5px;\">";this.output+="      <table border=\"0\" cellpadding=\"5\" width=\"100%\" style=\"border-spacing: 0px 5px;\" class=\"\">";this.output+="        <tr class=\"tasklist_row\">";this.output+="          <td width=\"100\" class=\"left\"><b>Date</b></td>";this.output+="          <td><b>Task Name</b></td>";this.output+="          <td width=\"100\"><b>Due</b></td>";this.output+="          <td width=\"125\"><b>Assigned To</b></td>";this.output+="          <td width=\"125\"><b>Status</b></td>";this.output+="          <td width=\"100\" align=\"center\"><b>More Detail</b></td>";this.output+="          <td width=\"100\" align=\"center\" class=\"right\"><b>Archive Task</b></td>";this.output+="        </tr>";for(var j in this.tasklist_events[i]){if(typeof(this.tasklist_events[i][j])!="function"){for(var k in this.tasklist_events[i][j]){if(this.tasklist_events[i][j][k]==""){this.tasklist_events[i][j][k]="&nbsp;";}}
this.output+="        <tr class=\"tasklist_row\">";this.output+="          <td width=\"100\" class=\"left\">"+this.format_date_long(this.tasklist_events[i][j]["assigned_date"])+"</td>";this.output+="          <td>"+this.tasklist_events[i][j]["event"]+"</td>";this.output+="          <td width=\"100\">"+this.format_date_long(this.tasklist_events[i][j]["due_date"])+"</td>";this.output+="          <td width=\"125\">"+this.tasklist_events[i][j]["assigned_to"]+"</td>";this.output+="          <td width=\"125\">"+this.tasklist_events[i][j]["status"]+"</td>";this.output+="          <td width=\"100\" align=\"center\">m.detail</td>";this.output+="          <td width=\"100\" align=\"center\" class=\"right\">a.task</td>";this.output+="        </tr>";}}
this.output+="      </table>";this.output+="    </td>";this.output+="  </tr>";this.output+="</table>";}}}},toggle:function(button_element){if(MochiKit.DOM.getElement(this.container_element)&&MochiKit.DOM.getElement(button_element)){if(!this.visible){this.month=this.original_month;this.day=this.original_day;this.year=this.original_year;this.compile();var from_pos=MochiKit.Style.getElementPosition(button_element);var from_dim=MochiKit.Style.getElementDimensions(button_element);var to_dim=MochiKit.Style.getElementDimensions(this.container_element);var to_pos=new Object;to_pos.x=from_pos.x+from_dim.w+5;to_pos.y=from_pos.y-to_dim.h;if(MochiKit.DOM.isChildNode(button_element,"add_event")){var minus_pos=MochiKit.Style.getElementPosition("add_event");to_pos.x-=minus_pos.x;to_pos.y-=minus_pos.y;}else if(MochiKit.DOM.isChildNode(button_element,"event_detail")){var minus_pos=MochiKit.Style.getElementPosition("event_detail");to_pos.x-=minus_pos.x;to_pos.y-=minus_pos.y;}
MochiKit.Style.setElementPosition(this.container_element,to_pos);}
if(!this.visible){this.visible=true;}else{this.visible=false;}
MochiKit.DOM.getElement(this.container_element).style.display=(MochiKit.DOM.getElement(this.container_element).style.display=="none")?"inline":"none";}},update_calendar:function(){if(this.date_element&&this.date_element.name&&this.date_element.rrv){var month_element=MochiKit.DOM.getElement(this.date_element.name+"_month_"+this.date_element.rrv);var day_element=MochiKit.DOM.getElement(this.date_element.name+"_day_"+this.date_element.rrv);var year_element=MochiKit.DOM.getElement(this.date_element.name+"_year_"+this.date_element.rrv);if(month_element&&day_element&&year_element){this.month=month_element.options[month_element.selectedIndex].value;this.day=day_element.options[day_element.selectedIndex].text;this.year=year_element.options[year_element.selectedIndex].text;this.original_month=this.month;this.original_day=this.day;this.original_year=this.year;this.compile();}}},update_date_element:function(month,day,year,button_element){if(this.date_element&&this.date_element.name&&this.date_element.rrv&&month&&day&&year){var month_element=MochiKit.DOM.getElement(this.date_element.name+"_month_"+this.date_element.rrv);var day_element=MochiKit.DOM.getElement(this.date_element.name+"_day_"+this.date_element.rrv);var year_element=MochiKit.DOM.getElement(this.date_element.name+"_year_"+this.date_element.rrv);if(month_element&&day_element&&year_element){for(var i in month_element.options){if((month_element.options[i])&&(month_element.options[i].value)&&(month_element.options[i].value==month)){month_element.options[i].selected=true;this.original_month=month_element.options[i].value;}}
for(var i in day_element.options){if((day_element.options[i])&&(day_element.options[i].text)&&(day_element.options[i].text==day)){day_element.options[i].selected=true;this.original_day=day_element.options[i].text;}}
for(var i in year_element.options){if((year_element.options[i])&&(year_element.options[i].text)&&(year_element.options[i].text==year)){year_element.options[i].selected=true;this.original_year=year_element.options[i].text;}}
if(button_element&&MochiKit.DOM.getElement(button_element)){this.toggle(button_element);}}}}};;Basis.color_chooser_popup=function(initial_hex,insert_after){var color_chooser=new Basis.color_chooser();color_chooser.set_color_from_hex(initial_hex);var popup=DIV({"class":"bcalendar_container","style":"position: absolute; top: 0px; left: 0px; display: block;"});popup.color_chooser=color_chooser;popup.insert_after=insert_after;popup.compile=bind(function(){Basis.remove_children(this);this.color_chooser.compile();this.color_chooser.elements["container"].style.display="";this.color_chooser.update_handles();this.color_chooser.on_change();document.body.appendChild(this.color_chooser.elements["container"]);Basis.updated_live_dom();},popup);return popup;};Basis.CSS=function(){this.__init__();};Basis.CSS.prototype={__init__:function(){this.css={};this.selectors={};this.advanced_fields=false;},compile:function(){this.css=Basis.is_object(this.css)?this.css:{};var save_button=INPUT({"type":"button","value":"Save All Changes"});Basis.signal_handler.connect(save_button,"onclick",bind(function(){if(Basis.misc_vars.dashboard){Basis.misc_vars.dashboard.custom_ajax_action("save_site_custom_css",this.get_raw_css(),this.get_css());}},this),false);var menu_content=TD({"width":"181"});var css_content=DIV();var advanced_fields=INPUT({"type":"checkbox"});advanced_fields.checked=this.advanced_fields?true:false;MochiKit.Signal.connect(advanced_fields,"onclick",partial(function(advanced_fields,css_options,css_content){css_options.advanced_fields=advanced_fields.checked;Basis.remove_children(css_content);Basis.signal_handler.execute_interactive_element(css_options.menu.menu_items[css_options.menu.currently_selected].element,"onclick");},advanced_fields,this,css_content));var output=TABLE({"cellpadding":"0","cellspacing":"0","class":"Basis\.CSS"},TBODY(null,TR(null,menu_content,TD(null,TABLE({"width":"100%","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"padding-left: 20px;"},save_button),TD({"style":"text-align: right;"},"Advanced options? ",advanced_fields)))),css_content))));var menu_items=DIV({"class":"Basis.CSS.menu"});this.menu=new Basis.simple_css_menu();;for(var i in this.selectors){if(i&&!Basis.is_function(this.selectors[i])){var menu_item=DIV({"class":"Basis.CSS.menu.item"},this.selectors[i]);menu_items.appendChild(menu_item);this.menu.add_menu_item(menu_item,{"onmouseover_class":"Basis.CSS.menu.item.hover","selected_class":"Basis.CSS.menu.item.selected"});menu_item.css_options=new Basis.CSS.default_options(i,this.css[i.replace(/\\\\/g,"\\")],this.selectors[i]);Basis.signal_handler.connect(menu_item,"onclick",partial(function(menu_item,css_options,css_content){Basis.remove_children(css_content);menu_item.css_options.advanced_fields=css_options.advanced_fields;css_content.appendChild(menu_item.css_options.compile());},menu_item,this,css_content),false);}}
this.menu.compile();Basis.signal_handler.execute_interactive_element(this.menu.menu_items[0].element,"onclick");menu_content.appendChild(menu_items);return output;},get_css:function(){var css={};for(var i=0;i<this.menu.menu_items.length;i++){css[this.menu.menu_items[i].element.css_options.base_selector]=this.menu.menu_items[i].element.css_options.css;}
return css;},get_raw_css:function(){var css="";for(var i=0;i<this.menu.menu_items.length;i++){css+=this.menu.menu_items[i].element.css_options.get_css();}
return css;}};Basis.CSS.default_options=function(base_selector,css,name){this.__init__(base_selector,css,name);};Basis.CSS.default_options.prototype={__init__:function(base_selector,css,name){this.css=css?css:{};this.name=name?name:base_selector;this.base_selector=base_selector?base_selector:"";this.preview_element=null;this.advanced_fields=false;},bind_default_action:function(field,css_property,optional_evaluation_function){var default_action=bind(partial(function(field,css_property,optional_evaluation_function){if(Basis.is_element(field)&&css_property){if(!Basis.is_function(optional_evaluation_function)){this.css[css_property]=Basis.get_formfield_value(field);}else{this.css[css_property]=optional_evaluation_function();}}
this.update_preview_element();},field,css_property,optional_evaluation_function),this);MochiKit.Signal.connect(field,"onchange",default_action);default_action();},compile:function(){var content=DIV({"class":"Basis.CSS.default_options"},H3({"style":"margin-top: 0px; border-bottom: 1px solid #c0c0c0; padding-bottom: 10px;"},this.name));this.preview_element=DIV({"style":"width: 300px; height: 300px;"},"This is a preview of what this section will look like");var background_color_chooser=IMG({"src":"images/images/default_icons/png/color_wheel.png","style":"cursor: pointer;"});background_color_chooser.color_popup=new Basis.color_chooser_popup(null,background_color_chooser);background_color_chooser.open=false;background_color_chooser.color_popup.color_chooser.set_color_from_hex(this.value("background-color"));Basis.signal_handler.connect(background_color_chooser,"onclick",bind(function(){if(!this.open){this.color_popup.compile();Basis.align_element_to_element(this.color_popup.color_chooser.elements["container"],this,"top_to_top");Basis.align_element_to_element(this.color_popup.color_chooser.elements["container"],this,"left_to_right",{"x":3});this.open=true;}else{Basis.remove_element(this.color_popup.color_chooser.elements["container"]);this.open=false;}},background_color_chooser),false);var background_color_hex=INPUT({"type":"text","value":this.value("background-color"),"style":"width: 70px;"});MochiKit.Signal.connect(background_color_hex,"onchange",bind(function(){if(this.element.value=="transparent"){if(this.chooser.open){Basis.signal_handler.execute_interactive_element(this.chooser,"onclick");}}else if(this.element.value==""){this.chooser.color_popup.color_chooser.set_color_from_hex("#000000");}else{this.chooser.color_popup.color_chooser.set_color_from_hex(this.element.value);}},{"chooser":background_color_chooser,"element":background_color_hex}));var background_color_block=DIV({"style":"width: 35px; height: 20px; cursor: pointer;"},Basis.nbsp());background_color_block.style.backgroundColor=this.value("background-color");Basis.signal_handler.connect(background_color_block,"onclick",bind(function(){this.chooser.color_popup.color_chooser.set_color_from_hex(MochiKit.Color.Color.fromString(this.element.style.backgroundColor).toHexString());},{"chooser":background_color_chooser,"element":background_color_block}),false);background_color_chooser.color_popup.color_chooser.on_change=bind(partial(function(chooser,block,element){element.value=chooser.color_hex();block.style.backgroundColor=chooser.color_hex();this.css["background-color"]=chooser.color_hex();this.update_preview_element();},background_color_chooser.color_popup.color_chooser,background_color_block,background_color_hex),this);var background_image_chooser=IMG({"src":"images/images/default_icons/png/folder_magnify.png","style":"cursor: pointer;"});var background_image_link=INPUT({"type":"text","value":this.value("background-image").substring(4).substring(0,this.value("background-image").length-5)});Basis.signal_handler.connect(background_image_chooser,"onclick",bind(partial(function(element){this.render_view("COLLABORATE","files",false,null,true,element);},background_image_link),Basis.misc_vars.dashboard),false);var background_image_preview=IMG({"src":"images/images/spacer.gif"});MochiKit.Signal.connect(background_image_link,"onchange",partial(function(link,preview){var img=new Image();img.onload=partial(function(img,preview){preview.src=img.src;var dim={"h":img.height,"w":img.width};if(dim.h>200){var ratio=(dim.h/200);var dim={"h":200,"w":Math.round(dim.w/ratio)};}
if(dim.w>200){var ratio=(dim.w/200);var dim={"h":Math.round(dim.h/ratio),"w":200};}
MochiKit.DOM.setElementDimensions(preview,dim);},img,preview);img.src=link.value;},background_image_link,background_image_preview));var background_repeat=SELECT();Basis.select_add_options(background_repeat,{"":" ","repeat":"Tile","repeat-x":"Repeat Horizontally","repeat-y":"Repeat Vertically","no-repeat":"Don't Repeat","inherit":"Inherit"});Basis.select_select_item_by_value(background_repeat,this.value("background-repeat"));var background_position=SELECT();Basis.select_add_options(background_position,{"":" ","top left":"Top Left","top center":"Top Center","top right":"Top Right","center left":"Center Left","center center":"Center Center","center right":"Center Right","bottom left":"Bottom Left","bottom center":"Bottom Center","bottom right":"Bottom Right","inherit":"Inherit"});Basis.select_select_item_by_value(background_repeat,this.value("background-position"));var override_value=this.value("background-position").split(" ");var background_position_override_x=INPUT({"type":"text","style":"width: 35px;","value":override_value[0]?override_value[0]:""});var background_position_override_y=INPUT({"type":"text","style":"width: 35px;","value":override_value[1]?override_value[1]:""});var background_attachment=SELECT();Basis.select_add_options(background_attachment,{"":" ","scroll":"Scroll","fixed":"Fixed","inherit":"Inherit"});Basis.select_select_item_by_value(background_attachment,this.value("background-attachment"));var font_family=SELECT();Basis.select_add_options(font_family,{"":" ","Arial":"Arial","Courier New":"Courier New","Tahoma":"Tahoma","Times New Roman":"Times New Roman","Verdana":"Verdana"});Basis.select_select_item_by_value(font_family,this.value("font-family"));var font_size=SELECT();Basis.select_add_options(font_size,{"":" ","8pt":"1 ( 8pt)","10pt":"2 (10pt)","12pt":"3 (12pt)","14pt":"4 (14pt)","18pt":"5 (18pt)","24pt":"6 (24pt)","36pt":"7 (36pt)"});Basis.select_select_item_by_value(font_size,this.value("font-size"));var font_size_override=INPUT({"type":"text","style":"width: 45px;","value":((this.value("font-size")!=Basis.get_formfield_value(font_size))?this.value("font-size"):"")});var font_color_chooser=IMG({"src":"images/images/default_icons/png/color_wheel.png","style":"cursor: pointer;"});font_color_chooser.color_popup=new Basis.color_chooser_popup(null,font_color_chooser);font_color_chooser.open=false;font_color_chooser.color_popup.color_chooser.set_color_from_hex(this.value("color"));Basis.signal_handler.connect(font_color_chooser,"onclick",bind(function(){if(!this.open){this.color_popup.compile();Basis.align_element_to_element(this.color_popup.color_chooser.elements["container"],this,"top_to_top");Basis.align_element_to_element(this.color_popup.color_chooser.elements["container"],this,"left_to_right",{"x":3});this.open=true;}else{Basis.remove_element(this.color_popup.color_chooser.elements["container"]);this.open=false;}},font_color_chooser),false);var font_color_hex=INPUT({"type":"text","value":this.value("color"),"style":"width: 70px;"});MochiKit.Signal.connect(font_color_hex,"onchange",bind(function(){if(this.element.value=="transparent"){if(this.chooser.open){Basis.signal_handler.execute_interactive_element(this.chooser,"onclick");}}else if(this.element.value==""){this.chooser.color_popup.color_chooser.set_color_from_hex("#000000");}else{this.chooser.color_popup.color_chooser.set_color_from_hex(this.element.value);}},{"chooser":font_color_chooser,"element":font_color_hex}));var font_color_block=DIV({"style":"width: 35px; height: 20px; cursor: pointer;"},Basis.nbsp());font_color_block.style.backgroundColor=this.value("color");Basis.signal_handler.connect(font_color_block,"onclick",bind(function(){this.chooser.color_popup.color_chooser.set_color_from_hex(MochiKit.Color.Color.fromString(this.element.style.backgroundColor).toHexString());},{"chooser":font_color_chooser,"element":font_color_block}),false);font_color_chooser.color_popup.color_chooser.on_change=bind(partial(function(chooser,block,element){element.value=chooser.color_hex();block.style.backgroundColor=chooser.color_hex();this.css["color"]=chooser.color_hex();this.update_preview_element();},font_color_chooser.color_popup.color_chooser,font_color_block,font_color_hex),this);var fields={};var list=["border","border-top","border-left","border-bottom","border-right"];var menu_borders=Basis.misc_vars.dashboard.create_menu(this.base_selector+".borders");var menu_margins=Basis.misc_vars.dashboard.create_menu(this.base_selector+".margins");var menu_padding=Basis.misc_vars.dashboard.create_menu(this.base_selector+".padding");for(var i=0;i<list.length;i++){fields[list[i]]={};fields[list[i]]["width"]=INPUT({"type":"text","style":"width: 50px","value":this.value(list[i]+"-width")});fields[list[i]]["type"]=SELECT();Basis.select_add_options(fields[list[i]]["type"],{"":" ","solid":"Solid","dotted":"Dotted","dashed":"Dashed","double":"Double","groove":"Groove","ridge":"Ridge","inset":"Inset","outset":"Outset","hidden":"Hidden","inherit":"Inherit","none":"No Border"});Basis.select_select_item_by_value(fields[list[i]]["type"],this.value(list[i]+"-style"));fields[list[i]]["color_chooser"]=IMG({"src":"images/images/default_icons/png/color_wheel.png","style":"cursor: pointer;"});fields[list[i]]["color_chooser"].color_popup=new Basis.color_chooser_popup(null,fields[list[i]]["color_chooser"]);fields[list[i]]["color_chooser"].open=false;fields[list[i]]["color_chooser"].color_popup.color_chooser.set_color_from_hex(this.value(list[i]+"-color"));Basis.signal_handler.connect(fields[list[i]]["color_chooser"],"onclick",bind(function(){if(!this.open){this.color_popup.compile();Basis.align_element_to_element(this.color_popup.color_chooser.elements["container"],this,"top_to_top");Basis.align_element_to_element(this.color_popup.color_chooser.elements["container"],this,"left_to_right",{"x":3});this.open=true;}else{Basis.remove_element(this.color_popup.color_chooser.elements["container"]);this.open=false;}},fields[list[i]]["color_chooser"]),false);fields[list[i]]["color_hex"]=INPUT({"type":"text","value":this.value(list[i]+"-color"),"style":"width: 70px;"});MochiKit.Signal.connect(fields[list[i]]["color_hex"],"onchange",bind(function(){if(this.element.value=="transparent"){if(this.chooser.open){Basis.signal_handler.execute_interactive_element(this.chooser,"onclick");}}else if(this.element.value==""){this.chooser.color_popup.color_chooser.set_color_from_hex("#000000");}else{this.chooser.color_popup.color_chooser.set_color_from_hex(this.element.value);}},{"chooser":fields[list[i]]["color_chooser"],"element":fields[list[i]]["color_hex"]}));fields[list[i]]["color_block"]=DIV({"style":"width: 35px; height: 20px; cursor: pointer;"},Basis.nbsp());fields[list[i]]["color_block"].style.backgroundColor=this.value(list[i]+"-color");Basis.signal_handler.connect(fields[list[i]]["color_block"],"onclick",bind(function(){this.chooser.color_popup.color_chooser.set_color_from_hex(MochiKit.Color.Color.fromString(this.element.style.backgroundColor).toHexString());},{"chooser":fields[list[i]]["color_chooser"],"element":fields[list[i]]["color_block"]}),false);fields[list[i]]["color_chooser"].color_popup.color_chooser.on_change=bind(partial(function(chooser,block,element,property){element.value=chooser.color_hex();block.style.backgroundColor=chooser.color_hex();this.css[property+"-color"]=chooser.color_hex();this.update_preview_element();},fields[list[i]]["color_chooser"].color_popup.color_chooser,fields[list[i]]["color_block"],fields[list[i]]["color_hex"],list[i]),this);}
var list=["margin","margin-top","margin-left","margin-bottom","margin-right"];for(var i=0;i<list.length;i++){fields[list[i]]={};fields[list[i]]["width"]=INPUT({"type":"text","style":"width: 50px","value":this.value(list[i]+"-width")});}
var list=["padding","padding-top","padding-left","padding-bottom","padding-right"];for(var i=0;i<list.length;i++){fields[list[i]]={};fields[list[i]]["width"]=INPUT({"type":"text","style":"width: 50px","value":this.value(list[i]+"-width")});}
this.bind_default_action(background_image_link,"background-image",bind(function(){var url=Basis.get_formfield_value(this);return url?("url("+url+")"):"";},background_image_link));this.bind_default_action(background_repeat,"background-repeat");var list=[background_position,background_position_override_x,background_position_override_y];for(var i=0;i<list.length;i++){this.bind_default_action(list[i],"background-position",partial(function(background_position,background_position_override_x,background_position_override_y){if(background_position_override_x.value||background_position_override_y.value){return(Basis.get_formfield_value(background_position_override_x)+" "+Basis.get_formfield_value(background_position_override_y));}else{return Basis.get_formfield_value(background_position);}},background_position,background_position_override_x,background_position_override_y));}
this.bind_default_action(background_attachment,"background-attachment");this.bind_default_action(font_family,"font-family");var list=[font_size,font_size_override];for(var i=0;i<list.length;i++){this.bind_default_action(list[i],"font-size",partial(function(font_size,font_size_override){if(font_size_override.value){return Basis.get_formfield_value(font_size_override);}else{return Basis.get_formfield_value(font_size);}},font_size,font_size_override));}
var list=["border","border-top","border-left","border-bottom","border-right"];for(var i=0;i<list.length;i++){this.bind_default_action(fields[list[i]]["width"],(list[i]+"-width"),partial(function(field){var value=Basis.filter_number(Basis.get_formfield_value(field).trim());return value?(value+"px"):"";},fields[list[i]]["width"]));this.bind_default_action(fields[list[i]]["type"],(list[i]+"-style"));}
var list=["margin","margin-top","margin-left","margin-bottom","margin-right"];for(var i=0;i<list.length;i++){this.bind_default_action(fields[list[i]]["width"],list[i],partial(function(field){var value=Basis.filter_number(Basis.get_formfield_value(field).trim());return value?(value+"px"):"";},fields[list[i]]["width"]));}
var list=["padding","padding-top","padding-left","padding-bottom","padding-right"];for(var i=0;i<list.length;i++){this.bind_default_action(fields[list[i]]["width"],list[i],partial(function(field){var value=Basis.filter_number(Basis.get_formfield_value(field).trim());return value?(value+"px"):"";},fields[list[i]]["width"]));}
var list=["all","border-top","border-left","border-bottom","border-right"];for(var i=0;i<list.length;i++){var name=list[i].split("-")[1];name=name?(name.substring(0,1).toUpperCase()+name.substring(1)):"All";menu_borders.add_menu_item(list[i],name,bind(partial(function(section){var selectors=MochiKit.DOM.getElementsByTagAndClassName("table","border",this);for(var i=0;i<selectors.length;i++){selectors[i].style.display=MochiKit.DOM.hasElementClass(selectors[i],("border_"+section.toLowerCase()))?"":"none";}},name),content));}
var list=["all","margin-top","margin-left","margin-bottom","margin-right"];for(var i=0;i<list.length;i++){var name=list[i].split("-")[1];name=name?(name.substring(0,1).toUpperCase()+name.substring(1)):"All";menu_margins.add_menu_item(list[i],name,bind(partial(function(section){var selectors=MochiKit.DOM.getElementsByTagAndClassName("table","margin",this);for(var i=0;i<selectors.length;i++){selectors[i].style.display=MochiKit.DOM.hasElementClass(selectors[i],("margin_"+section.toLowerCase()))?"":"none";}},name),content));}
var list=["all","padding-top","padding-left","padding-bottom","padding-right"];for(var i=0;i<list.length;i++){var name=list[i].split("-")[1];name=name?(name.substring(0,1).toUpperCase()+name.substring(1)):"All";menu_padding.add_menu_item(list[i],name,bind(partial(function(section){var selectors=MochiKit.DOM.getElementsByTagAndClassName("table","padding",this);for(var i=0;i<selectors.length;i++){selectors[i].style.display=MochiKit.DOM.hasElementClass(selectors[i],("padding_"+section.toLowerCase()))?"":"none";}},name),content));}
MochiKit.DOM.appendChildNodes(content,TABLE({"cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"400"},H4(null,"Background"),DIV({"style":"border: 1px solid #c0c0c0; padding: 5px;"},TABLE({"cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Color:"),TD(null,TABLE({"cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"padding-right: 5px;"},background_color_hex),TD(null,background_color_block))))),TD({"width":"16"},background_color_chooser),TD({"rowSpan":"5"},background_image_preview)),TR(null,TD({"width":"25"},"Image:"),TD(null,background_image_link),TD({"width":"16"},background_image_chooser)),(this.advanced_fields)?[TR(null,TD({"width":"25"},"Repeat:"),TD({"colSpan":"2"},background_repeat)),TR(null,TD({"width":"25"},"Position:"),TD({"colSpan":"2"},TABLE({"cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"padding-right: 5px;"},background_position),TD({"style":"padding-right: 5px;"}," or "),TD({"style":"padding-right: 5px;"},background_position_override_x),TD(null,background_position_override_y)))))),TR(null,TD({"width":"25"},"Attachment:"),TD({"colSpan":"2"},background_attachment))]:null))),H4(null,"Font"),DIV({"style":"border: 1px solid #c0c0c0; padding: 5px;"},TABLE({"cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Font:"),TD(null,font_family)),TR(null,TD({"width":"25"},"Size:"),TD(null,font_size,(this.advanced_fields)?[" or ",font_size_override]:null)),TR(null,TD({"width":"25"},"Color:"),TD(null,TABLE({"cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"padding-right: 5px;"},font_color_hex),TD(null,font_color_block))))),TD({"width":"16"},font_color_chooser))))),(this.advanced_fields)?[H4(null,"Borders"),DIV({"style":"border: 1px solid #c0c0c0;"},menu_borders,DIV({"style":"padding: 5px;"},TABLE({"class":"border border_all","style":"display: ;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Color:"),TD(null,TABLE({"cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"padding-right: 5px;"},fields["border"]["color_hex"]),TD(null,fields["border"]["color_block"]))))),TD({"width":"16"},fields["border"]["color_chooser"])),TR(null,TD({"width":"25"},"Width:"),TD({"colSpan":"2"},fields["border"]["width"]," pixels")),TR(null,TD({"width":"25"},"Type:"),TD({"colSpan":"2"},fields["border"]["type"])))),TABLE({"class":"border border_top","style":"display: none;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Color:"),TD(null,TABLE({"cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"padding-right: 5px;"},fields["border-top"]["color_hex"]),TD(null,fields["border-top"]["color_block"]))))),TD({"width":"16"},fields["border-top"]["color_chooser"])),TR(null,TD({"width":"25"},"Width:"),TD({"colSpan":"2"},fields["border-top"]["width"]," pixels")),TR(null,TD({"width":"25"},"Type:"),TD({"colSpan":"2"},fields["border-top"]["type"])))),TABLE({"class":"border border_left","style":"display: none;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Color:"),TD(null,TABLE({"cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"padding-right: 5px;"},fields["border-left"]["color_hex"]),TD(null,fields["border-left"]["color_block"]))))),TD({"width":"16"},fields["border-left"]["color_chooser"])),TR(null,TD({"width":"25"},"Width:"),TD({"colSpan":"2"},fields["border-left"]["width"]," pixels")),TR(null,TD({"width":"25"},"Type:"),TD({"colSpan":"2"},fields["border-left"]["type"])))),TABLE({"class":"border border_bottom","style":"display: none;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Color:"),TD(null,TABLE({"cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"padding-right: 5px;"},fields["border-bottom"]["color_hex"]),TD(null,fields["border-bottom"]["color_block"]))))),TD({"width":"16"},fields["border-bottom"]["color_chooser"])),TR(null,TD({"width":"25"},"Width:"),TD({"colSpan":"2"},fields["border-bottom"]["width"]," pixels")),TR(null,TD({"width":"25"},"Type:"),TD({"colSpan":"2"},fields["border-bottom"]["type"])))),TABLE({"class":"border border_right","style":"display: none;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Color:"),TD(null,TABLE({"cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"padding-right: 5px;"},fields["border-right"]["color_hex"]),TD(null,fields["border-right"]["color_block"]))))),TD({"width":"16"},fields["border-right"]["color_chooser"])),TR(null,TD({"width":"25"},"Width:"),TD({"colSpan":"2"},fields["border-right"]["width"]," pixels")),TR(null,TD({"width":"25"},"Type:"),TD({"colSpan":"2"},fields["border-right"]["type"])))))),H4(null,"Margins"),DIV({"style":"border: 1px solid #c0c0c0;"},menu_margins,DIV({"style":"padding: 5px;"},TABLE({"class":"margin margin_all","style":"display: ;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Width:"),TD({"colSpan":"2"},fields["margin"]["width"]," pixels")))),TABLE({"class":"margin margin_top","style":"display: none;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Width:"),TD({"colSpan":"2"},fields["margin-top"]["width"]," pixels")))),TABLE({"class":"margin margin_left","style":"display: none;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Width:"),TD({"colSpan":"2"},fields["margin-left"]["width"]," pixels")))),TABLE({"class":"margin margin_bottom","style":"display: none;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Width:"),TD({"colSpan":"2"},fields["margin-bottom"]["width"]," pixels")))),TABLE({"class":"margin margin_right","style":"display: none;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Width:"),TD({"colSpan":"2"},fields["margin-right"]["width"]," pixels")))))),H4(null,"Padding"),DIV({"style":"border: 1px solid #c0c0c0;"},menu_padding,DIV({"style":"padding: 5px;"},TABLE({"class":"padding padding_all","style":"display: ;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Padding:"),TD({"colSpan":"2"},fields["padding"]["width"]," pixels")))),TABLE({"class":"padding padding_top","style":"display: none;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Padding:"),TD({"colSpan":"2"},fields["padding-top"]["width"]," pixels")))),TABLE({"class":"padding padding_left","style":"display: none;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Padding:"),TD({"colSpan":"2"},fields["padding-left"]["width"]," pixels")))),TABLE({"class":"padding padding_bottom","style":"display: none;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Padding:"),TD({"colSpan":"2"},fields["padding-bottom"]["width"]," pixels")))),TABLE({"class":"padding padding_right","style":"display: none;","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"25"},"Padding:"),TD({"colSpan":"2"},fields["padding-right"]["width"]," pixels"))))))]:null),TD(null,this.preview_element)))));menu_borders.select_menu_item(0);menu_margins.select_menu_item(0);menu_padding.select_menu_item(0);return content;},value:function(property){var value=this.css[property];return value?value:"";},get_css:function(return_obj){var return_obj=(return_obj===true)?true:false;var order_to_combine=["background-color","background-image","background-repeat","background-position","background-attachment","border-style","border-width","border-color","border-top-style","border-top-width","border-top-color","border-left-style","border-left-width","border-left-color","border-bottom-style","border-bottom-width","border-bottom-color","border-right-style","border-right-width","border-right-color","font-family","font-size","color","margin","margin-top","margin-left","margin-bottom","margin-right","padding","padding-top","padding-left","padding-bottom","padding-right"];var css=return_obj?{}:"";for(var i=0;i<order_to_combine.length;i++){if(!Basis.is_function(this.css[order_to_combine[i]])&&this.css[order_to_combine[i]]){if(return_obj){css[order_to_combine[i]]=this.css[order_to_combine[i]];}else{css+=(order_to_combine[i]+": "+this.css[order_to_combine[i]]+";\n");}}}
if(css&&!return_obj){css=this.base_selector+" { \n"+css+"}\n";}
return css;},update_preview_element:function(){if(Basis.is_element(this.preview_element)){MochiKit.Style.setStyle(this.preview_element,this.get_css(true));}}};Basis.dashboard=function(){this.__init__();};Basis.dashboard.prototype={__init__:function(){this.show_v2_page_permissions=function(){var path=Basis.preserve_url_path();path=path.substring(((path.substring(0,("http://").length)=="http://")?("http://").length:((path.substring(0,("http2://").length)=="http2://")?("http2://").length:0)),(path.length-("/admin").length));if(Basis.array_search(this.v2_perms_domains,path)!=null){return true;}
if(this.site_id>this.v2_perms_site_id_threshold){return true;}
return false;};MochiKit.Position.includeScrollOffsets=true;this.organization_id=null;this.site_id=null;this.cookie_name=null;this.session_id=null;this.post_url=null;this.is_admin=false;this.initialized=false;this.ok_to_initialize=true;this.debug=false;this.load_timestamp=0;this.load_offset=0;this.timestamp_refresh_rate=60;this.custom_ajax_actions={};this.custom_view_renderers={};this.site_billing_info={};this.site_settings={};this.available_resources={};this.resource_id=null;this.resource_linker={};this.elements={};this.tiles={"ui":new Basis.tile_manager(),"wizard":new Basis.tile_manager()};this.tiles.wizard.current_tile=null;this.wizards={};this.menus={};this.resource_history={};this.pending_requests={};this.custom_css={};this.file_manager_only=false;this.max_diskspace=0;this.diskspace_used=0;this.files={};this.folders={};this.file_browser_current_folder=null;this.file_browser_drags={"folder":new multipleDraggables(),"file":new multipleDraggables()};this.file_browser_drags["folder"].force_single_selection=true;this.file_browser_drags["folder"].disable_clickoff=true;this.file_browser_drags["folder"].commit=false;this.file_browser_drags["folder"].drag_and_drop=false;this.file_browser_drags["folder"].selected_class="Basis.file_explorer.selected";this.file_browser_drags["folder"].selectable_class="Basis.file_explorer.selectable";this.file_browser_drags["file"].commit=false;this.file_restrictions={};this.original_file_restrictions={};this.original_page_restrictions={};this.page_restrictions={};this.system_log_history=[];this.countdown_to_save={"cancel":function(){}};this.duration_to_save=1.5;this.refresh_rate=(60*10);this.user_levels={"USER_LEVEL_PUBLIC":0,"USER_LEVEL_BASIC":2,"USER_LEVEL_PRIVATE":4,"USER_LEVEL_SITE_ADMINISTRATOR":5,"USER_LEVEL_ORGANIZATION_ADMINISTRATOR":6,"USER_LEVEL_SUPERUSER":999};this.user_levels_text={"USER_LEVEL_PUBLIC":"Public","USER_LEVEL_BASIC":"Basic","USER_LEVEL_PRIVATE":"Private","USER_LEVEL_SITE_ADMINISTRATOR":"Site Administrator","USER_LEVEL_ORGANIZATION_ADMINISTRATOR":"Organization Administrator","USER_LEVEL_SUPERUSER":"Superuser"};this.page_levels_text={"PUBLIC":"Public","BASIC":"Basic","PRIVATE":"Private","ADMIN":"Admin Only"};this.resource_types=["ALERT","CONTACT","CONTACT.V2","CONTACT_LIST","CUSTOM_FORM","CUSTOM_FORM_ROW","DISCUSSION","EMAIL","FILE","FOLDER","FORUM","GROUP","IMAGE_GALLERY","LIST","LIST_ITEM","PAGE","POLL","SITE","TASK","TASK_LIST","USER"];this.resource_types_text=["Alert / Reminder","Contact (old)","Contact","Contact List","Custom Form","Custom Form Row","Discussion","Email","File","Folder","Forum","Group","Image Gallery","List","List Item","Page","Poll","Site","Task","Task List","User"];if(!window.resizeConstrainedElements_signal){window.resizeConstrainedElements_signal=MochiKit.Signal.connect(window,"onresize",MochiKit.Style.resizeConstrainedElements);}
window.onbeforeunload=function(e){var e=(e||window.event);if(e){e.returnValue="Any unsaved data will be lost!";}
return"Any unsaved data will be lost!";};window.onbeforeunload=function(){};},alert:function(message,title,action_on_ok,width,height){if(message){this.run_wizard("ERROR_MESSAGE",{"error_message":message,"cancel_button":false,"done_button_text":"Ok","title":title,"width":width,"height":height,"action_on_ok":Basis.is_function(action_on_ok)?action_on_ok:function(){}});}},attempt_save:function(func){var func=(typeof(func)=="function")?func:function(){};if(this.countdown_to_save&&this.countdown_to_save.cancel){this.countdown_to_save.cancel();this.countdown_to_save=MochiKit.Async.callLater(this.duration_to_save,func);}},bind_form_element:function(element,element_name,data_row,ivalue){if(Basis.get_element(element)&&element_name&&data_row){switch(element.tagName.toUpperCase()){case"INPUT":switch(element.type.toLowerCase()){case"text":case"password":case"hidden":Basis.signal_handler.connect(element,"onchange",bind(partial(function(element,element_name){this[element_name]=element.value;},element,element_name),data_row),false);data_row[element_name]=element.value?element.value:ivalue;break;}
break;case"TEXTAREA":if(element&&element.id&&tinyMCE&&tinyMCE.get(element.id)){var editor=tinyMCE.get(element.id);editor.onChange.add(bind(partial(function(element,element_name){this[element_name]=tinyMCE.get(element.id).getContent();},element,element_name),data_row));}else{Basis.signal_handler.connect(element,"onchange",bind(partial(function(element,element_name){this[element_name]=element.value;},element,element_name),data_row),false);}
data_row[element_name]=element.value?element.value:ivalue;break;case"SELECT":Basis.signal_handler.connect(element,"onchange",bind(partial(function(element,element_name){this[element_name]=element.options[element.selectedIndex].value;},element,element_name),data_row),false);Basis.select_select_item_by_value(element,data_row[element_name]?data_row[element_name]:ivalue);data_row[element_name]=(element.selectedIndex>-1)?element.options[element.selectedIndex].value:"";break;case"DIV":switch(element.type.toLowerCase()){case"date":Basis.signal_handler.connect(element,"onchange",bind(partial(function(element,element_name){this[element_name]=element.get_date();},element,element_name),data_row));data_row[element_name]=element.get_date();break;}
break;}}},compile:function(mode,options,func_to_exec_after_compile){alert("compile(): i am obselete!");},create_menu:function(menu_name,float_right,should_highlight){var float_right=(float_right===true)?true:false;var should_highlight=(should_highlight===false)?false:true;if(menu_name){var menu=DIV({"id":menu_name+".menu."+menu_name,"class":"Basis.dashboard.resource_associator.menu"});this.menus[menu_name]=menu;menu.dashboard=this;menu.menu_items=[];menu.menu_item_ids=[];menu.selected_index=0;menu.float_right=float_right;menu.should_highlight=should_highlight;menu.add_menu_item=function(item_alias,item_text,onclick){if(item_alias&&item_text&&(typeof(onclick)=="function")){var item=DIV({"id":(menu_name+".menu_item."+item_alias),"class":"Basis.dashboard.resource_associator.menu_item tab_off","style":"cursor: pointer;"+(this.float_right?" float: right;":"")},item_text);item.menu=this;this.menu_items.push(item);this.menu_item_ids.push(item.id);Basis.signal_handler.connect(item,"onclick",bind(partial(function(func){this.menu.select_menu_item(item_alias);func();},onclick),item),false);if(this.float_right){menu.insertBefore(item,menu.firstChild);}else{menu.appendChild(item);}
return item;}};menu.highlight_item=function(item_index){if(this.should_highlight){var item_id=this.menu_items[item_index];if(item_id&&Basis.get_element(item_id)){MochiKit.DOM.removeElementClass(item_id,"tab_off");MochiKit.DOM.addElementClass(item_id,"tab_on");}}};menu.item_index=function(item_text){var id=(menu_name+".menu_item."+item_text);if(id){var index=MochiKit.Base.findValue(this.menu_item_ids,id);return(index>-1)?index:null;}
return null;};menu.remove_menu_item=function(item_index){if(!Basis.is_number(item_index)){var item_index=this.item_index(item_index);}
var item_id=this.menu_items[item_index];if(item_id&&Basis.get_element(item_id)){this.menu_items.splice(item_index,1);Basis.remove_element(item_id);}};menu.select_menu_item=function(item_index){if(!Basis.is_number(item_index)){var item_index=this.item_index(item_index);}
var item_id=this.menu_items[item_index];if(item_id&&Basis.get_element(item_id)){this.unhighlight_all_items();this.highlight_item(item_index);this.selected_index=item_index;}};menu.unhighlight_all_items=function(){for(var i=0;i<this.menu_items.length;i++){this.unhighlight_item(i);}};menu.unhighlight_item=function(item_index){if(!Basis.is_number(item_index)){var item_index=this.item_index(item_index);}
var item_id=this.menu_items[item_index];if(item_id&&Basis.get_element(item_id)){MochiKit.DOM.removeElementClass(item_id,"tab_on");MochiKit.DOM.addElementClass(item_id,"tab_off");}};}
return menu;},custom_ajax_action:function(alias){if(alias&&this.custom_ajax_actions[alias]&&(typeof(this.custom_ajax_actions[alias])=="function")){if(this.debug){this.debug_log("custom_ajax_action(): "+alias);}
var args=[];for(var x=1;x<arguments.length;x++){args[x-1]=arguments[x];}
return this.custom_ajax_actions[alias].apply(null,args);}},data:function(data){return data?data:"";},debug_log:function(message){if(message&&this.debug){this.system_log(message,false);}},default_screen:function(name,go_back,go_back_text,go_back_icon){var go_back=(go_back!==null)?go_back:false;var section=DIV({"style":"overflow: auto;","class":"section"});var element=DIV({"class":"element"});var table=TABLE({"cellpadding":"10","cellspacing":"0","width":"100%"},TBODY(null,TR(null,TD({"style":"border-left: 1px solid #d7d7d7; border-right: 1px solid #d7d7d7; background-color: #f5f5f5; background-image: url(images/images/dashboard/v2/submenu_shadow.png); background-repeat: repeat-x;"},section))));var header=Basis.dashboard.header_block(name,go_back,go_back_text,go_back_icon);element.appendChild(header);element.appendChild(table);element.content=section;element.header=header;Basis.register_size_constraints(element.content,"100%","100%");Basis.register_size_constraints(element,"100% - 40","100%",null,false);Basis.register_size_constraints(table,"100%","100%");return element;},determine_missing_resources:function(root){if(root&&(Basis.array_length(root)>0)){var assorted_resources=[];var resources_to_check=Basis.keys(root,true);for(var x=0;x<resources_to_check.length;x++){if(!this.resource_linker[resources_to_check[x]]){assorted_resources[assorted_resources.length]=resources_to_check[x];}}
return assorted_resources;}
return[];},determine_missing_resources_from_xml:function(root){if(root&&root.childNodes){var assorted_resources=[];var resources_to_check=this.determine_resources_from_xml_node(root);for(var x=0;x<resources_to_check.length;x++){if(!this.resource_linker[resources_to_check[x]]){assorted_resources[assorted_resources.length]=resources_to_check[x];}}
return assorted_resources;}
return[];},determine_resources_from_xml_node:function(root,children_only){var children_only=(children_only!=null)?children_only:false;if(root&&root.childNodes){var resource_ids=[];if(!children_only){MochiKit.Base.nodeWalk(root,function(node){var resource_id=Basis.filter_number(node.tagName);if(resource_id){resource_ids.push(resource_id);}
return node.childNodes;});}else{for(var i=0;i<root.childNodes.length;i++){var resource_id=Basis.filter_number(root.childNodes[i].tagName);if(resource_id){resource_ids.push(resource_id);}}}
return resource_ids;}
return[];},english_timestamp:function(timestamp,return_self_updating_element){return Basis.english_timestamp(timestamp,this.load_offset,return_self_updating_element);},error_message:function(message,action_on_ok,width,height){if(message){this.run_wizard("ERROR_MESSAGE",{"error_message":message,"cancel_button":false,"done_button_text":"Ok","width":width,"height":height,"action_on_ok":Basis.is_function(action_on_ok)?action_on_ok:function(){}});}},get_alerts_and_reminders_for_resource:function(resource_id){var to_return={"alert":[],"reminder":[]};if(resource_id&&this.resource_linker[resource_id]){var alerts=this.available_resources["ALERT"];if(alerts&&(Basis.array_length(alerts)>0)){for(var i in alerts){if(this.resource_is_associated_with_resource(resource_id,i)){to_return[this.resource_linker[i]["misc_vars"]["type"]].push(i);}else{var groups=Basis.keys(this.resource_linker[i]["associated_resources"]["GROUP"]);if(groups){for(var x=0;x<groups.length;x++){if(this.resource_is_associated_with_resource(resource_id,groups[x])){to_return[this.resource_linker[i]["misc_vars"]["type"]].push(i);}}}}}}}
return to_return;},get_assorted_resources:function(resource_ids){if(Basis.array_length(resource_ids)>0){var to_post={};to_post["resource_ids"]=resource_ids;to_post["organization_id"]=this.organization_id;to_post["site_id"]=this.site_id;var as=new Basis.ajax_scaffold;as.alias="get_assorted_resources";as.resource_ids=resource_ids;as.dashboard=this;as.on_success=function(req){for(var i in this.resource_ids){if(Basis.is_number(this.resource_ids[i])){var resource_id=this.resource_ids[i];if(this.dashboard.resource_linker[resource_id]&&this.dashboard.resource_linker[resource_id]["type"]&&this.dashboard.available_resources[this.dashboard.resource_linker[resource_id]["type"]]&&this.dashboard.available_resources[this.dashboard.resource_linker[resource_id]["type"]][resource_id]){delete this.dashboard.available_resources[this.dashboard.resource_linker[resource_id]["type"]][resource_id];}
if(this.dashboard.resource_linker[resource_id]){delete this.dashboard.resource_linker[resource_id];}}}
var resources=MochiKit.Base.evalJSON(req.responseText);MochiKit.Base.updatetree(this.dashboard.resource_linker,resources);for(var i in resources){if(typeof(resources[i])!="function"){var update={};update[i]=resources[i];if(!this.dashboard.available_resources[resources[i]["type"]]){this.dashboard.available_resources[resources[i]["type"]]={};}
MochiKit.Base.updatetree(this.dashboard.available_resources[resources[i]["type"]],update);}}
window.status="Done";};return as.post({"to_post":to_post});}else{return new MochiKit.Async.succeed();}},get_available_amount_of:function(resource_type){if(this.site_billing_info[this.site_id]){this.site_billing_info[this.site_id]["site"]["num_contacts"]}
if(resource_type&&this.site_billing_info[this.site_id]){var resource_type=resource_type.toUpperCase();switch(resource_type){case"PAGE":return this.site_billing_info[this.site_id]["site"]["num_pages"];break;case"GROUP":return this.site_billing_info[this.site_id]["site"]["num_groups"];break;case"TASK":return this.site_billing_info[this.site_id]["site"]["num_tasks"];break;case"CONTACT":return this.site_billing_info[this.site_id]["site"]["num_contacts"];break;case"LIST":return this.site_billing_info[this.site_id]["site"]["num_lists"];break;case"DISCUSSION":return this.site_billing_info[this.site_id]["site"]["num_discussions"];break;case"EMAIL":return this.site_billing_info[this.site_id]["site"]["num_emails"];break;case"USER_BASIC":case"USER_POWER":this.debug_log(["site_can_create_new()",resource_type,"make me do something"]);break;}}
return-1;},get_resource_id_by_type_and_id:function(type,id){var list=this.available_resources[type];if(list){for(var i in list){if(!Basis.is_function(list[i])){if(list[i]["misc_vars"]["id"]==id){return i;}}}}
return null;},get_resource_ids_that_resource_inherits_permissions_from:function(resource_id){var resource_ids=[];if(Basis.is_number(resource_id)){switch(this.resource_linker[resource_id]["type"]){case"CONTACT.V2":var list=this.resource_linker[resource_id]["associated_resources"]["CONTACT_LIST"];if(list){var resource_ids=Basis.keys(list);}
break;case"TASK":var list=this.resource_linker[resource_id]["associated_resources"]["TASK_LIST"];if(list){var resource_ids=Basis.keys(list);}
break;case"FILE":case"FOLDER":var list=this.resource_linker[resource_id]["misc_vars"]["path_parent_resources"];if(list&&list.length){for(var i=0;i<list.length;i++){if(this.resource_linker[list[i]]&&this.resource_linker[list[i]]["restrictions"]){(Basis.keys(this.resource_linker[list[i]]["restrictions"]).length==0)?null:resource_ids.push(list[i]);}else{this.debug_log("Can't find resource #"+list[i]);}}}
break;}}
return resource_ids;},get_site_resource_id:function(){var list=this.available_resources["SITE"];for(var i in list){if(!Basis.is_function(list[i])){if(list[i]["misc_vars"]["id"]==this.site_id){return i;}}}
return null;},get_site_resource_list:function(type){if(type&&this.available_resources[type]){var resources={};var list=this.available_resources[type];list=list?Basis.keys(list):[];for(var i=0;i<list.length;i++){var display_text=this.resource_display_text(list[i]);if(this.in_site(list[i])&&display_text.trim()){resources[list[i]]=display_text;}}
return resources;}
return false;},get_user_restrictions:function(user_id){var user_id=Basis._int(user_id);var restrictions={"read_only":[],"full_access":[]};if(Basis.is_number(user_id)){for(var i in this.resource_linker){if(this.resource_linker[i]&&this.resource_linker[i]["restrictions"]&&this.resource_linker[i]["restrictions"]["user_specific"]){var list=this.resource_linker[i]["restrictions"]["user_specific"];if(list["read_only"]&&(Basis.array_search(list["read_only"],user_id)!=null)){restrictions["read_only"].push(i);}
if(list["full_access"]&&(Basis.array_search(list["full_access"],user_id)!=null)){restrictions["full_access"].push(i);}}}}
return restrictions;},get_view_association_icon:function(type,use_grey){var icon="";var otype="";var use_grey=(use_grey===true)?true:false;if(Basis.is_number(type)&&this.resource_linker[Basis._int(type)]){var resource_id=Basis._int(type);var type=this.resource_linker[resource_id]["type"].toUpperCase();}else{var resource_id=null;}
switch(type){case"CALENDAR":case"PROJECT_LIST":case"ISSUE_TRACKER":case"RICHTEXTAREA":case"POLL":case"RSS_FEED":case"FILE_UPLOAD":case"FILE_LISTING":case"ADVANCED_FILE_LISTING":case"FILE_UPLOAD_AND_LISTING":case"RICHTEXT_AND_HTML":case"PLACEHOLDER":case"LINK_TO_FILE":case"LINK_TO_URL":case"CAHILL_CONSTRUCTION_DAILY_LOG":case"CUSTOM_SCRIPT":case"HOMEPAGE":otype="PAGE";break;default:otype=type?type:"UNKNOWN";break;}
switch(otype){case"FORUM":case"DISCUSSION":icon="images/images/default_icons/png/user_comment.png";break;case"ALERT":if(resource_id&&this.resource_linker[resource_id]&&(this.resource_linker[resource_id]["misc_vars"]["sent_notification"]=="1")){icon=(this.resource_linker[resource_id]["misc_vars"]["disabled"]=="yes")?"images/images/default_icons/png/email_error.grey.png":"images/images/default_icons/png/email_error.png";}else{icon=(this.resource_linker[resource_id]["misc_vars"]["disabled"]=="yes")?"images/images/default_icons/png/error.grey.png":"images/images/default_icons/png/error.png";}
break;case"TASK_LIST":icon="images/images/default_icons/png/note_edit.png";break;case"TASK":icon="images/images/default_icons/png/note.png";break;case"LIST":icon="images/images/default_icons/png/table_multiple.png";break;case"LIST_ITEM":icon="images/images/default_icons/png/table_row.png";break;case"CONTACT_LIST":case"CONTACT":case"CONTACT.V2":icon="images/images/default_icons/png/vcard.png";break;case"IMAGE_GALLERY":icon="images/images/default_icons/png/pictures.png";break;case"POLL":icon="images/images/default_icons/png/page_white_paste.png";break;case"GROUP":icon="images/images/default_icons/png/group.png";break;case"EMAIL":icon="images/images/default_icons/png/email.png";break;case"FILE":case"FOLDER":icon="images/images/default_icons/tree/tree-folder.gif";break;case"PAGE":switch(type){case"HOMEPAGE":icon="images/images/home.gif";break;case"PLACEHOLDER":icon="images/images/default_icons/folder.gif";break;case"LINK_TO_FILE":case"LINK_TO_URL":icon="images/images/default_icons/link_go.gif";break;case"CALENDAR":case"PROJECT_LIST":case"ISSUE_TRACKER":case"CONTACT_LIST":case"IMAGE_GALLERY":case"RICHTEXTAREA":case"POLL":case"RSS_FEED":case"FILE_UPLOAD":case"FILE_LISTING":case"ADVANCED_FILE_LISTING":case"FILE_UPLOAD_AND_LISTING":case"RICHTEXT_AND_HTML":case"CAHILL_CONSTRUCTION_DAILY_LOG":case"CUSTOM_SCRIPT":default:icon="images/images/page.gif";break;}
break;case"SITE":icon="images/images/site.gif";break;case"USER":icon="images/images/user.gif";break;case"UNKNOWN":icon="images/images/default_icons/help.gif";break;default:icon="images/images/default_icons/help.gif";break;}
if(icon&&(icon.substring(icon.length-3)=="png")&&use_grey){icon=icon.substring(0,(icon.length-3))+"grey.png";}
return icon;},in_site:function(resource_id){return((resource_id&&this.resource_linker[resource_id]&&this.resource_linker[resource_id]["site_ids"]&&this.resource_linker[resource_id]["site_ids"]["direct"]&&((MochiKit.Base.findValue(this.resource_linker[resource_id]["site_ids"]["direct"],this.site_id)>-1)||this.resource_linker[resource_id]["site_ids"]["direct"][this.site_id]))||(resource_id&&this.resource_linker[resource_id]&&(this.resource_linker[resource_id]["type"]=="SITE")&&(this.resource_linker[resource_id]["misc_vars"]["id"]==this.site_id)))?true:false;},initialize:function(){this.set_up_custom_renderers();this.set_up_custom_ajax_actions();this.set_up_wizards();if((BrowserDetect.browser=="Firefox")&&(BrowserDetect.version<3.5)&&!Basis.get_cookie("firefox_3.5_upgrade")){this.ok_to_initialize=false;this.alert(DIV(null,P({"style":"text-align: center;"},"We highly recommend that you upgrade Firefox to version 3.5 or greater!"),P({"style":"text-align: center; margin-top: 20px;"},A({"href":"http://www.mozilla.com/en-US/?from=sfx&amp;uid=0&amp;t=449","target":"get_firefox"},IMG({"src":"http://sfx-images.mozilla.org/affiliates/Buttons/Firefox3.5/468x60.png","alt":"Spread Firefox Affiliate Button","border":"0"})))),"Your browser is out of date!",bind(function(){Basis.set_cookie("firefox_3.5_upgrade","alerted",5);this.ok_to_initialize=true;this.initialize();},this),600,275);this.wizards["ERROR_MESSAGE"].should_destroy_background=false;return;}
if(!this.initialized&&this.ok_to_initialize){this.wizards["ERROR_MESSAGE"].should_destroy_background=true;this.system_log("Please wait while the dashboard loads...",true);this.tiles.ui.container_element=this.elements["container"];this.tiles.ui.compile();MochiKit.Style.resizeConstrainedElements();var wiz=new Basis.wizard();wiz.create_background(0.50);var loading_screen=DIV({"style":"width: 370px; height: 105px; background-color: #FFFFFF; position: absolute; z-index: 1010; padding: 10px;"},DIV({"style":"text-align: center; vertical-align: middle; height: 80px; padding: 10px;"},P({"style":"font-size : 7pt; color: #2B4D70; font-weight: bold;"},"Please wait while the "+(this.file_manager_only?"file manager":"dashboard")+" loads..."),P(null,IMG({"src":"images/images/dashboard_loader.gif"}))));document.body.appendChild(loading_screen);Basis.convert_div_to_box(loading_screen.firstChild);Basis.align_element_to_element(loading_screen,this.elements["container"],"center");var loading_callback=MochiKit.Style.resizeConstrainedElements.callbacks.push(partial(function(loading_screen,dashboard){if(Basis.is_live_dom_node(loading_screen)&&dashboard){Basis.align_element_to_element(loading_screen,dashboard.elements["container"],"center",null,true);}},loading_screen,this));this.set_up_custom_renderers();this.set_up_custom_ajax_actions();this.set_up_wizards();var dlist=new MochiKit.Async.DeferredList([this.custom_ajax_action("dashboard_initialize",!this.file_manager_only?["ALERT","CONTACT.V2","CONTACT_LIST","DISCUSSION","EMAIL","FOLDER","FORUM","GROUP","IMAGE_GALLERY","LIST","LIST_ITEM","PAGE","POLL","SITE","TASK","TASK_LIST","USER"]:["FOLDER","GROUP","SITE","USER"])],false,false,true);dlist.addCallback(partial(function(loading_screen,dashboard,wiz,loading_callback){Basis.remove_element(loading_screen);wiz.destroy_background(false);MochiKit.Style.resizeConstrainedElements.callbacks[loading_callback]=function(){};dashboard.system_log("Dashboard loaded successfully",true);dashboard.initialized=true;MochiKit.Async.callLater(dashboard.refresh_rate,bind(function(){},dashboard));MochiKit.Async.callLater(this.timestamp_refresh_rate,bind(function(){this.refresh_timestamps();},dashboard));Basis.state_handler.add_state("dashboard");Basis.state_handler.enter_state("dashboard");switch(Basis.get_GET("load")){case"add_a_page":if(graphic_menu){graphic_menu.select(2);}
dashboard.render_view("WEBSITE","default");dashboard.run_wizard("PAGE");break;case"add_a_user":if(graphic_menu){graphic_menu.select(1);}
dashboard.render_view("COLLABORATE","users");dashboard.run_wizard("USER");break;case"website_look_and_feel":if(graphic_menu){graphic_menu.select(2);}
dashboard.render_view("WEBSITE","look_and_feel");break;case"file_manager":if(graphic_menu){graphic_menu.select(1);}
dashboard.render_view("COLLABORATE","files",true);break;case"contact_lists":if(graphic_menu){graphic_menu.select(1);}
dashboard.render_view("COLLABORATE","contacts");break;case"task_lists":if(graphic_menu){graphic_menu.select(1);}
dashboard.render_view("COLLABORATE","tasks");break;case"discussions":if(graphic_menu){graphic_menu.select(1);}
dashboard.render_view("COLLABORATE","discussions");break;case"resource":var resource_id=Basis.get_GET("id");if(Basis.is_number(resource_id)){if(dashboard.resource_linker[resource_id]){switch(dashboard.resource_linker[resource_id]["type"]){case"PAGE":dashboard.render_view("WEBSITE","default");break;case"FILE":case"FOLDER":log("NEED TO IMPLEMENT FUNCTION TO LOAD FILE MANAGER AND AUTO-SELECT REFERENCED FILE OR FOLDER");break;default:dashboard.show_resource(resource_id,true);break;}}}
break;default:if(dashboard.file_manager_only){dashboard.render_view("COLLABORATE","files",true);}else{dashboard.render_view("COLLABORATE","default");}
break;}
MochiKit.Async.callLater(5,bind(function(){this.verify_login(true);},dashboard));MochiKit.Async.callLater(30,bind(function(){this.refresh_history(true);},dashboard));},loading_screen,this,wiz,loading_callback));}},link_resources:function(list){if(list){for(var type in list){if(typeof(list[type])!="function"){for(var i in list[type]){if(typeof(list[type][i])!="function"){var id=parseInt(list[type][i]["resource_id"]);if(id>0){this.resource_linker[id]=list[type][i];}}}}}}},please_wait_this_could_take_a_while:function(){alert("Please be patient - the action you're trying to perform could take a while!");},populate_submenu:function(parent_item,submenu_index){var items=[];switch(parent_item){case"home":break;case"collaborate":var items=[{"name":"What's New","alias":"whats_new","onclick":bind(function(){this.render_view("COLLABORATE","default");},this)},{"name":"Contact Lists","alias":"contact_lists","onclick":bind(function(){this.render_view("COLLABORATE","contacts");},this)},{"name":"Task Lists","alias":"task_lists","onclick":bind(function(){this.render_view("COLLABORATE","tasks");},this)},{"name":"Discussions","alias":"discussions","onclick":bind(function(){this.render_view("COLLABORATE","discussions");},this)},(this.user_levels[this.current_user_level]<this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"])?null:{"name":"Users","alias":"users","onclick":bind(function(){this.render_view("COLLABORATE","users");},this)},{"name":"Groups","alias":"groups","onclick":bind(function(){this.render_view("COLLABORATE","groups");},this)},{"name":"Email","alias":"email","onclick":bind(function(){this.render_view("COLLABORATE","emails");},this)},{"name":"Alerts & Reminders","alias":"alerts_and_reminders","onclick":bind(function(){this.render_view("COLLABORATE","alerts_and_reminders");},this)},{"name":"Lists","alias":"lists","onclick":bind(function(){this.render_view("COLLABORATE","lists");},this)},{"name":"Polls / RSVPs","alias":"polls_and_rsvps","onclick":bind(function(){this.render_view("DEFAULT","coming_soon","Polls / RSVPs");},this)}];break;case"files":break;case"website":var items=[{"name":"Pages","alias":"pages","onclick":bind(function(){this.render_view("WEBSITE","default");},this)},{"name":"Look and Feel","alias":"look_and_feel","onclick":bind(function(){this.render_view("WEBSITE","look_and_feel");},this)}];break;}
var titems=[];for(var i=0;i<items.length;i++){if(items[i]){titems.push(items[i]);}}
items=titems;if(!Basis.is_number(submenu_index)){for(var i=0;i<items.length;i++){if(items[i]["name"]==submenu_index){submenu_index=i;}}}
var menu=TABLE({"cellspacing":"0","cellpadding":"0","style":""},TBODY(null,TR()));var simple_graphic_menu=new Basis.simple_graphic_menu();for(var i=0;i<items.length;i++){var menu_item=IMG({"style":"cursor: pointer;","src":"images/images/dashboard/v2/top_menu."+items[i]["alias"]+".off.png"});Basis.signal_handler.connect(menu_item,"onclick",items[i]["onclick"],false);var td=TD({"style":"padding: 0px;"},menu_item);simple_graphic_menu.add_menu_item(menu_item,{"onmouseover_src":"images/images/dashboard/v2/top_menu."+items[i]["alias"]+".hover.png","selected_src":"images/images/dashboard/v2/top_menu."+items[i]["alias"]+".on.png"});MochiKit.DOM.getElementsByTagAndClassName("tr",null,menu)[0].appendChild(td);}
simple_graphic_menu.compile();simple_graphic_menu.select(submenu_index?submenu_index:0);Basis.temp=simple_graphic_menu;var obj=Basis.get_element("sub_menu");if(obj){Basis.remove_children(obj);if(items.length>0){obj.appendChild(menu);Basis.updated_live_dom();}}},purge_resource:function(resource_id){if(resource_id&&this.resource_linker[resource_id]){var type=this.resource_linker[resource_id]["type"];delete this.resource_linker[resource_id];if(this.available_resources[type]){delete this.available_resources[type][resource_id];}}},refresh_data:function(loop){var dlist=new MochiKit.Async.DeferredList([this.custom_ajax_action("get_site_resource_history",this.site_id),this.custom_ajax_action("get_available_resources",["CONTACT","CONTACT.V2","CONTACT_LIST","CUSTOM_FORM","CUSTOM_FORM_ROW","DISCUSSION","FOLDER","FORUM","GROUP","IMAGE_GALLERY","PAGE","POLL","SITE","TASK","TASK_LIST","USER"])],false,false,true);if(loop){dlist.addCallback(bind(function(){MochiKit.Async.callLater(this.refresh_rate,bind(function(){this.refresh_data(true);},this));},this));}},refresh_history:function(loop){var check=this.custom_ajax_action("get_site_resource_history");if(loop){check.addCallback(bind(function(){MochiKit.Async.callLater(30,bind(function(){this.refresh_history(true);},this));},this));}
return check;},refresh_timestamps:function(){var elements=MochiKit.DOM.getElementsByTagAndClassName("span","Basis.english_timestamp");for(var x=0;x<elements.length;x++){var element=Basis.get_element(elements[x]);if(element&&element.time){var timestamp=this.english_timestamp(element.time);if(timestamp!=element.firstChild.textContent){element.firstChild.textContent=timestamp;appear(element,{"duration":0.5,"from":0,"to":1});}}}
MochiKit.Async.callLater(this.timestamp_refresh_rate,bind(function(){this.refresh_timestamps();},this));},render_view:function(view,alias){if(this.initialized){alias=alias?alias:"view";if(this.custom_view_renderers[view]&&this.custom_view_renderers[view][alias]&&(typeof(this.custom_view_renderers[view][alias])=="function")){var args=[];for(var x=2;x<arguments.length;x++){args[x-2]=arguments[x];}
this.debug_log("render_view("+[view,alias]+")");return this.custom_view_renderers[view][alias].apply(null,args);}}},reset_states:function(){Basis.state_handler.clear_states();Basis.state_handler.enter_state("dashboard");},resource_display_text:function(resource_id){if(resource_id&&this.resource_linker[resource_id]){var resource=this.resource_linker[resource_id];switch(resource["type"]){case"CONTACT":case"CONTACT.V2":switch(this.data(resource["misc_vars"]["CONTACT_type"])){case"organization":return this.data(resource["misc_vars"]["company_name"]).trim();break;default:return(this.data(resource["misc_vars"]["first_name"])+" "+this.data(resource["misc_vars"]["last_name"])).trim();break;}
break;default:return this.data(resource["display_text"]);break;}}
return"";},resource_get_existing_alert_resource_id_for:function(resource_id){if(Basis.is_number(resource_id)){if(this.available_resources["ALERT"]&&(Basis.array_length(this.available_resources["ALERT"])>0)){var keys=Basis.keys(this.available_resources["ALERT"]);for(var i=0;i<keys.length;i++){var alert_resource_id=keys[i];if(this.resource_linker[alert_resource_id]&&(this.resource_linker[alert_resource_id]["misc_vars"]["type"]=="alert")&&(Basis._int(this.resource_linker[alert_resource_id]["misc_vars"]["attached_to_resource_id"])==Basis._int(resource_id))){return Basis._int(alert_resource_id);}}}}
return false;},resource_has_existing_alerts:function(resource_id){return(this.resource_get_existing_alert_resource_id_for(resource_id)>0)?true:false;},resource_has_inherited_permissions:function(resource_id){if(Basis.is_number(resource_id)){switch(this.resource_linker[resource_id]["type"]){case"CONTACT.V2":var list=this.resource_linker[resource_id]["associated_resources"]["CONTACT_LIST"];if(list){var keys=Basis.keys(list);for(var i=0;i<keys.length;i++){if(this.resource_linker[keys[i]]&&this.resource_linker[keys[i]]["restrictions"]){return(Basis.keys(this.resource_linker[keys[i]]["restrictions"]).length==0)?false:true;}else{this.debug_log("Can't find resource #"+keys[i]);}}}
break;case"TASK":var list=this.resource_linker[resource_id]["associated_resources"]["TASK_LIST"];if(list){var keys=Basis.keys(list);for(var i=0;i<keys.length;i++){if(this.resource_linker[keys[i]]&&this.resource_linker[keys[i]]["restrictions"]){return(Basis.keys(this.resource_linker[keys[i]]["restrictions"]).length==0)?false:true;}else{this.debug_log("Can't find resource #"+keys[i]);}}}
break;case"FILE":case"FOLDER":var inherited=false;var list=this.resource_linker[resource_id]["misc_vars"]["path_parent_resources"];if(list&&list.length){for(var i=0;i<list.length;i++){if(this.resource_linker[list[i]]&&this.resource_linker[list[i]]["restrictions"]){inherited=(Basis.keys(this.resource_linker[list[i]]["restrictions"]).length==0)?inherited:true;}else{this.debug_log("Can't find resource #"+list[i]);}}}
return inherited;break;}}
return false;},resource_is_associated_with_resource:function(resource_id_a,resource_id_b){if(resource_id_a&&this.resource_linker[resource_id_a]&&resource_id_b&&this.resource_linker[resource_id_b]){return(this.resource_linker[resource_id_a]["associated_resources"][this.resource_linker[resource_id_b]["type"]]&&this.resource_linker[resource_id_a]["associated_resources"][this.resource_linker[resource_id_b]["type"]][resource_id_b]&&this.resource_linker[resource_id_b]["associated_resources"][this.resource_linker[resource_id_a]["type"]]&&this.resource_linker[resource_id_b]["associated_resources"][this.resource_linker[resource_id_a]["type"]][resource_id_a])?true:false;}
return false;},resource_type_text:function(resource_id_or_type){if(resource_id_or_type){var type=Basis.is_number(resource_id_or_type)?this.resource_linker[resource_id_or_type]["type"]:resource_id_or_type;var index=this.resource_types.indexOf(type);if(index>-1){return this.resource_types_text[index];}}},run_wizard:function(alias,options){if(Basis.state_handler.current_state!="wizard"){var options=options?options:{};if(alias&&this.wizards[alias]&&Basis.is_function(this.wizards[alias].compile)&&Basis.is_function(this.wizards[alias].setup)){this.wizards[alias].options=options;this.wizards[alias].setup();this.wizards[alias].compile();}}},set_custom_ajax_action:function(alias,func){this.debug_log(["set_custom_ajax_action()",alias]);if(alias&&func&&(typeof(func)=="function")){this.custom_ajax_actions[alias]=func;}},set_custom_view_renderer:function(view,alias,func){this.debug_log(["set_custom_view_renderer()",view,alias]);if(view&&alias&&func&&(typeof(func)=="function")){var to_update={};to_update[view]={};to_update[view][alias]=func;MochiKit.Base.updatetree(this.custom_view_renderers,to_update);}},set_up_custom_ajax_actions:function(){this.set_custom_ajax_action("get_site_diskspace",bind(function(){var to_post={};var as=new Basis.ajax_scaffold;as.alias="get_site_diskspace";as.dashboard=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(req.responseText);if(response["total"]){this.dashboard.max_diskspace=response["total"];}
if(response["used"]){this.dashboard.diskspace_used=response["used"];}
var obj=Basis.get_element("diskspace_meter");if(obj){obj.innerHTML=this.dashboard.render_view("FILE","diskspace").innerHTML;}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("dashboard_initialize",bind(function(get_available_resources_types){var to_post={};to_post["get_available_resources_types"]=get_available_resources_types?get_available_resources_types:{};var as=new Basis.ajax_scaffold;as.alias="dashboard_initialize";as.dashboard=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(req.responseText);if(response["get_site_settings"]){this.dashboard.site_settings[this.dashboard.site_id]=response["get_site_settings"];}
if(response["get_site_billing_info"]){this.dashboard.site_billing_info[this.dashboard.site_id]=response["get_site_billing_info"];}
if(response["get_site_folders"]){if(window.DOMParser){var parser=new DOMParser();var xmlDoc=parser.parseFromString(response["get_site_folders"],"text/xml");}else{var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async="false";xmlDoc.loadXML(response["get_site_folders"]);}
var root=xmlDoc.getElementsByTagName("root")[0];if(root){this.dashboard.folders={"files":root.getElementsByTagName("files")[0],"gallery_files":root.getElementsByTagName("gallery_files")[0]};}}
if(response["get_site_resource_history"]){this.dashboard.resource_history[this.dashboard.site_id]=response["get_site_resource_history"];}
if(response["get_site_pending_requests"]){this.dashboard.pending_requests[this.dashboard.site_id]=response["get_site_pending_requests"];}
if(response["get_site_custom_css"]){this.dashboard.custom_css[this.dashboard.site_id]=response["get_site_custom_css"];}
if(response["get_available_resources"]){MochiKit.Base.update(this.dashboard.available_resources,response["get_available_resources"]);this.dashboard.link_resources(this.dashboard.available_resources);}
if(response["get_site_diskspace"]){this.dashboard.max_diskspace=response["get_site_diskspace"]["total"];this.dashboard.diskspace_used=response["get_site_diskspace"]["used"];}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("set_resource_permissions",bind(function(resource_id,permissions,append_permissions,lock_icon){var to_post={};to_post["resource_id"]=resource_id;to_post["permissions"]=permissions;to_post["append"]=(append_permissions==true)?true:false;var as=new Basis.ajax_scaffold;as.alias="set_resource_permissions";as.dashboard=this;as.resource_id=resource_id;as.lock_icon=lock_icon;as.on_success=function(req){var response=MochiKit.Base.evalJSON(req.responseText);if(response["success"]==true){this.dashboard.resource_linker[this.resource_id]["has_restrictions"]=response["has_restrictions"];this.dashboard.resource_linker[this.resource_id]["restrictions"]=response["restrictions"];if(this.lock_icon&&Basis.get_element(this.lock_icon)){this.lock_icon.src=response["has_restrictions"]?"images/images/default_icons/png/lock.png":(this.dashboard.resource_has_inherited_permissions(this.resource_id)?"images/images/default_icons/png/lock_inherited.png":"images/images/default_icons/png/lock_open.grey.png");}}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("clear_resource_permissions",bind(function(resource_id,lock_icon){var to_post={};to_post["resource_id"]=resource_id;var as=new Basis.ajax_scaffold;as.alias="clear_resource_permissions";as.dashboard=this;as.resource_id=resource_id;as.lock_icon=lock_icon;as.on_success=function(req){if(req.responseText=="true"){this.dashboard.resource_linker[this.resource_id]["has_restrictions"]=false;this.dashboard.resource_linker[this.resource_id]["restrictions"]={};if(this.lock_icon&&Basis.get_element(this.lock_icon)){this.lock_icon.src=this.dashboard.resource_has_inherited_permissions(resource_id)?"images/images/default_icons/png/lock_inherited.png":"images/images/default_icons/png/lock_open.grey.png";}}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("import_contacts_from_vcard",bind(function(options){var to_post=options?options:{};var as=new Basis.ajax_scaffold;as.alias="import_contacts_from_vcard";as.dashboard=this;as.on_success=function(req){var resources_to_load=MochiKit.Base.evalJSON(req.responseText);if(resources_to_load&&resources_to_load.length&&(resources_to_load.length>0)){alert((resources_to_load.length-2)+" contact"+(((resources_to_load.length-2)==1)?"":"s")+" were successfully imported!");if((resources_to_load.length-2)>0){this.dashboard.get_assorted_resources(resources_to_load);}}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("email_contacts",bind(function(options){var options=options?options:{};var to_post=options["data_row"];to_post["resource_ids"]=options["currently_selected"];var as=new Basis.ajax_scaffold;as.alias="email_contacts";as.dashboard=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(req.responseText);if(Basis.is_number(response["email_resource_id"])){if(Basis.is_number(response["total_to_send"])&&Basis.is_number(response["total_sent"])&&(Basis._int(response["total_sent"])==Basis._int(response["total_to_send"]))){alert("The email was successfully sent!");}else{var num_sent=Basis._int(response["total_sent"]);alert("Only "+num_sent+" email"+((num_sent==1)?" was ":"s were ")+"sent - you may have run out of available email blasts for this month!");}
this.dashboard.get_assorted_resources([response["email_resource_id"],this.dashboard.get_site_resource_id()]);}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("verify_login",bind(function(){var to_post={};var as=new Basis.ajax_scaffold;as.alias="verify_login";as.url=Basis.preserve_url_path().substring(0,(Basis.preserve_url_path().length-5))+"is_logged.php";as.dashboard=this;as.on_success=function(req){if(req.responseText=="false"){var message=[P(null,"You've somehow become logged out!"),P(null,"Click OK to log back in.")];this.dashboard.error_message(message,function(){window.onbeforeunload=null;window.location.href=(""+window.location.href);});}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("log_browsing_environment",function(){var to_post={};to_post["os"]=BrowserDetect.OS+" / "+navigator.oscpu;to_post["browser"]=BrowserDetect.browser+" "+BrowserDetect.version;to_post["resolution"]=screen.width+"x"+screen.height;to_post["viewport"]=MochiKit.DOM.getViewportDimensions().w+"x"+MochiKit.DOM.getViewportDimensions().h;to_post["color_depth"]=screen.colorDepth;to_post["flash_version"]=Basis.get_flash_version();to_post["cookies_enabled"]=Basis.check_for_cookies()?"true":"false";var as=new Basis.ajax_scaffold;as.alias="log_browsing_environment";as.on_success=function(){window.status="Done";};return as.post({"to_post":to_post});});this.set_custom_ajax_action("save_site_custom_css",bind(function(raw_css,css){var to_post={};to_post["css"]=css;to_post["raw_css"]=raw_css;var as=new Basis.ajax_scaffold;as.alias="save_site_custom_css";as.dashboard=this;as.css={"css":css,"raw_css":raw_css};as.on_success=function(){this.dashboard.custom_css[this.dashboard.site_id].css=this.css.css;this.dashboard.custom_css[this.dashboard.site_id].raw_css=this.css.raw_css;window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("get_site_custom_css",bind(function(){var to_post={};var as=new Basis.ajax_scaffold;as.alias="get_site_custom_css";as.dashboard=this;as.on_success=function(){window.status="Done";};as.after_success=bind(function(){this.dashboard.custom_css[this.dashboard.site_id]=MochiKit.Base.evalJSON(this.scaffold.deferred.req.responseText);},{"dashboard":this,"scaffold":as});return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("complete_pending_request",bind(function(request_id,request_status,element_to_delete){if(request_id&&request_status&&element_to_delete){var to_post={};to_post["request_id"]=request_id?request_id:"";to_post["request_status"]=request_status?request_status:"";var as=new Basis.ajax_scaffold;as.alias="complete_pending_request";as.dashboard=this;as.on_success=function(){window.status="Done";};as.after_success=bind(function(){var list=this.dashboard.pending_requests[this.dashboard.site_id];for(var i in list){if(list[i]["id"]==this.request_id){delete list[i];var obj=Basis.get_element(this.element_to_delete);if(obj){MochiKit.Visual.fade(obj,{"duration":0.50,"afterFinish":function(){Basis.remove_element(obj);}});}}}},{"dashboard":this,"element_to_delete":element_to_delete,"request_id":request_id});return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("get_site_pending_requests",bind(function(site_id){var to_post={};to_post["site_id"]=site_id?site_id:this.site_id;var as=new Basis.ajax_scaffold;as.alias="get_site_pending_requests";as.dashboard=this;as.on_success=function(){window.status="Done";};as.after_success=bind(function(){var list=this.dashboard.pending_requests;list[this.site_id]=MochiKit.Base.evalJSON(this.scaffold.deferred.req.responseText);},{"dashboard":this,"scaffold":as,"site_id":site_id});return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("user_change_password",bind(function(resource_id,password){var to_post={};to_post["resource_id"]=resource_id;to_post["password"]=password;var as=new Basis.ajax_scaffold;as.alias="user_change_password";as.on_success=function(req){window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("add_site_product",bind(function(product_id){var to_post={};to_post["site_id"]=this.site_id;to_post["product_id"]=product_id?product_id:"";var as=new Basis.ajax_scaffold;as.alias="add_site_product";as.dashboard=this;as.on_success=function(req){if(req.responseText=="true"){var a=this.dashboard.custom_ajax_action("get_site_billing_info");a.addCallback(partial(function(dashboard){dashboard.render_view("WEBSITE","settings");},this.dashboard));}else{}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("renew_site",bind(function(){var to_post={};to_post["site_id"]=this.site_id;var as=new Basis.ajax_scaffold;as.alias="get_site_renew_url";as.on_success=function(req){if(req.responseText){window.onbeforeunload=null;window.location.href=req.responseText;}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("save_site_template_configuration",bind(function(site_id){if(site_id){var to_post=new Object();to_post["site_id"]=site_id;to_post["custom_css"]=encodeBase64(MochiKit.DOM.getElement("custom_css_999999").value);if(this.manage_template_overrides&&(this.manage_template_overrides.length>0)){to_post["overrides"]=new Array();for(var x=0;x<this.manage_template_overrides.length;x++){var o_value=MochiKit.DOM.getElement("value_"+this.manage_template_overrides[x]+"_999999");var o_link=MochiKit.DOM.getElement("link_value_"+this.manage_template_overrides[x]+"_999999");var o_type=MochiKit.DOM.getElement("type_"+this.manage_template_overrides[x]+"_999999");if(this.manage_template_overrides[x]){to_post["overrides"][to_post["overrides"].length]={"replacement_id":this.manage_template_overrides[x],"value":((o_value)?(o_value.value):""),"link":((o_link)?(o_link.value):""),"type":((o_type&&o_type.options)?(o_type.options[o_type.selectedIndex].value):"")};}}}
var objs=MochiKit.DOM.getElementsByTagAndClassName("input","manage_template_template_id");if(objs){for(var i in objs){if(objs[i]&&objs[i].checked){to_post["template_id"]=objs[i].value;}}}
if(this.color_chooser&&this.color_chooser.color&&this.color_chooser.color.toHexString){to_post["color"]=this.color_chooser.color.toHexString();}
var obj=MochiKit.DOM.getElement("restore_template_999999_0");if(obj&&obj.checked){to_post["restore_default_color"]="true";}
window.status="Applying changes to site template...";var as=new Basis.ajax_scaffold;as.alias="save_site_template_configuration";as.sid=this.session_id;as.url=this.post_url;as.site_id=site_id;as.on_success=function(req){var response=MochiKit.Base.evalJSON(decodeBase64(req.responseText));if(response["text"]=="true"){window.status="Done";}else{window.status="save_site_template_configuration(): ERROR!";}};return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("get_site_template_configuration",bind(function(site_id){var site_id=Basis.is_number(site_id)?site_id:this.site_id;if(site_id){var to_post={};to_post["site_id"]=site_id;var as=new Basis.ajax_scaffold;as.alias="get_site_template_configuration";as.on_success=function(req){window.status="Done";};return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("invite_contacts_as_user",bind(function(options){var options=options?options:{};var to_post=options["data_row"];to_post["resource_ids"]=options["currently_selected"];var as=new Basis.ajax_scaffold;as.alias="invite_contacts_as_user";as.on_success=function(req){if(req.responseText=="true"){alert("The requested user(s) have been invited to join the site!");}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("get_site_resource_history",bind(function(){var to_post={};to_post["site_id"]=this.site_id;to_post["level_of_detail"]="HIGH";var as=new Basis.ajax_scaffold;as.alias="get_site_resource_history";as.dashboard=this;as.on_success=function(req){if(req.responseText){this.dashboard.resource_history[this.dashboard.site_id]=evalJSON(req.responseText);}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("associate_resources",bind(function(resource_id,resources,execute_after_reload){var to_post={};to_post["resource_id"]=resource_id;to_post["resources"]=resources;to_post["site_id"]=this.site_id;var as=new Basis.ajax_scaffold;as.alias="associate_resources";as.dashboard=this;as.resource_id=resource_id;as.resources=resources;as.execute_after_reload=execute_after_reload;as.on_success=function(req){if(req.responseText!="false"){var a=this.dashboard.get_assorted_resources(flattenArray([this.resource_id,this.resources]));if(Basis.is_function(this.execute_after_reload)){a.addCallback(bind(this.execute_after_reload,a));}}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("unassociate_resources",bind(function(resource_id,resources,execute_after_reload){if(Basis.is_number(resources)){var resources=[resources];}
var to_post={};to_post["resource_id"]=resource_id;to_post["resources"]=resources;to_post["site_id"]=this.site_id;var as=new Basis.ajax_scaffold;as.alias="unassociate_resources";as.dashboard=this;as.resource_id=resource_id;as.resources=resources;as.execute_after_reload=execute_after_reload;as.on_success=function(req){if(req.responseText!="false"){var a=this.dashboard.get_assorted_resources(flattenArray([this.resource_id,this.resources]));if(Basis.is_function(this.execute_after_reload)){a.addCallback(bind(this.execute_after_reload,a));}}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("get_site_settings",bind(function(site_id){var to_post={};to_post["site_id"]=site_id?site_id:this.site_id;var as=new Basis.ajax_scaffold;as.alias="get_site_settings";as.dashboard=this;as.on_success=function(){window.status="Done";};as.after_success=bind(function(){var list=this.dashboard.site_settings;list[this.site_id]=evalJSON(this.scaffold.deferred.req.responseText);},{"dashboard":this,"scaffold":as,"site_id":site_id});return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("get_site_billing_info",bind(function(){var to_post={};to_post["site_id"]=this.site_id;var as=new Basis.ajax_scaffold;as.alias="get_site_billing_info";as.dashboard=this;as.on_success=function(req){if(req.responseText){this.dashboard.site_billing_info[this.dashboard.site_id]=evalJSON(req.responseText);}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("save_resource_alerts",bind(function(resource_id,alerts){if(resource_id&&alerts){var to_post={};to_post["resource_id"]=resource_id;to_post["alerts"]=alerts;window.status="save_resource_alerts()...";var as=new Basis.ajax_scaffold;as.alias="save_resource_alerts";as.resource_id=resource_id;as.alerts=alerts;as.dashboard=this;as.on_success=function(req){if(req.responseText=="true"){this.dashboard.resource_linker[this.resource_id]["alerts"]=this.alerts;window.status="Done";}else{window.status="save_resource_alerts(): ERROR!";}};as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("save_resource_consent",bind(function(resource_id,permissions){if(resource_id&&permissions){var to_post={};to_post["resource_id"]=resource_id;to_post["permissions"]=permissions;window.status="save_resource_consent()...";var as=new Basis.ajax_scaffold;as.alias="save_resource_consent";as.resource_id=resource_id;as.permissions=permissions;as.dashboard=this;as.on_success=function(req){if(req.responseText=="true"){this.dashboard.resource_linker[this.resource_id]["permissions"]=this.permissions;window.status="Done";}else{window.status="save_resource_consent(): ERROR!";}};as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("add_page",bind(function(name,type,url,comments,content,page_where,page_id){if(this.site_id&&name&&type){var to_post={};to_post["site_id"]=this.site_id;to_post["page_name"]=name;to_post["page_type"]=type;to_post["url"]=url?url:"";to_post["comments"]=comments?comments:"";to_post["content"]=content?content:"";to_post["page_where"]=page_where?page_where:"";to_post["page_id"]=page_id?page_id:"";window.status="Adding page to site...";var as=new Basis.ajax_scaffold;as.alias="add_page";as.dashboard=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(decodeBase64(req.responseText));if(response["text"]=="true"){var a=this.dashboard.get_assorted_resources(flattenArray([Basis.keys(this.dashboard.resource_linker[this.dashboard.site_resource_id]["associated_resources"]["PAGE"]),response["resource_id"],this.dashboard.site_resource_id]));a.addCallback(bind(function(){this.render_view("WEBSITE","default");},this.dashboard));window.status="Done";}else{window.status="add_page(): ERROR!";}};as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("move_page",bind(function(page_id,page_where,before_after_under_page_id){if(page_id&&page_where&&before_after_under_page_id){var to_post={};to_post["site_id"]=this.site_id;to_post["page_id"]=page_id?page_id:"";to_post["page_where"]=page_where?page_where:"";to_post["before_after_under_page_id"]=before_after_under_page_id?before_after_under_page_id:"";window.status="Moving page within site...";var as=new Basis.ajax_scaffold;as.alias="move_page";as.dashboard=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(decodeBase64(req.responseText));if(response["text"]=="true"){var a=this.dashboard.get_assorted_resources(flattenArray([Basis.keys(this.dashboard.resource_linker[this.dashboard.site_resource_id]["associated_resources"]["PAGE"]),this.dashboard.site_resource_id]));a.addCallback(bind(function(){this.render_view("WEBSITE","default");},this.dashboard));window.status="Done";}else{window.status="move_page(): ERROR!";}};as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("save_page_order",bind(function(element){var element=MochiKit.DOM.getElement(element);if(element){var final_site=[];if(!element.childNodes||element.childNodes.length==0){return false;}
var pages=Basis.get_direct_child_elements_by_tag_and_class_name(this.ns.li_tag,this.ns.li_class,element);for(var i=0;i<pages.length;i++){var resource_id=pages[i].id.replace(/[^0-9]/g,"");var page_id=this.resource_linker[resource_id]["misc_vars"]["id"];final_site.push(page_id);}
var resource_id=element.id.replace(/[^0-9]/g,"");var parent_type=resource_id?"page":"site";var parent_id=resource_id?this.resource_linker[resource_id]["misc_vars"]["id"]:this.site_id;for(var i=0;i<pages.length;i++){var resource_id=pages[i].id.replace(/[^0-9]/g,"");this.resource_linker[resource_id]["misc_vars"]["rank"]=i;this.resource_linker[resource_id]["misc_vars"]["parent_page_id"]=(parent_id!=this.site_id)?parent_id:0;}
var final_order={"parent_id":parent_id,"type":parent_type,"order":final_site};}
var to_post=new Object();to_post.final_order=final_order;window.status="Auto-saving page rankings...";var as=new Basis.ajax_scaffold;as.alias="save_page_order";as.dashboard=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(decodeBase64(req.responseText));if(response["text"]=="true"){this.dashboard.render_view("WEBSITE","default");window.status="Done";}else{window.status="save_page_order(): ERROR!";}};as.post({"to_post":to_post});},this));this.set_custom_ajax_action("get_site_documents",bind(function(site_id,dropdown){var to_post={};to_post["site_id"]=site_id?site_id:this.site_id;var as=new Basis.ajax_scaffold;as.alias="get_site_documents";as.dashboard=this;as.on_success=function(){window.status="Done";};as.after_success=bind(function(){this.dashboard.site_documents=this.dashboard.site_documents?this.dashboard.site_documents:{};var list=this.dashboard.site_documents;list[this.site_id]=MochiKit.Base.evalJSON(this.scaffold.deferred.req.responseText);if(this.dropdown){this.dropdown.options.length=0;}
for(var i in list[this.site_id]){var group=new OPTGROUP(i);for(var j in list[this.site_id][i]){if(Basis.is_number(j)){group.appendChild(new Option(list[this.site_id][i][j],j));}}
if(this.dropdown){this.dropdown.appendChild(group);}}},{"dashboard":this,"scaffold":as,"site_id":site_id,"dropdown":dropdown});return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("add_new_resource",bind(function(type,data_row,list,what_to_return){var what_to_return=(what_to_return=="data_row")?"data_row":"display_text";if(type&&data_row&&what_to_return){this.system_log("Adding new "+type+"...",true);var to_post={};to_post["type"]=type;to_post["data_row"]=data_row;var as=new Basis.ajax_scaffold;as.alias="add_new_resource";as.list=list;as.data_row=data_row;as.what_to_return=what_to_return;as.dashboard=this;as.on_success=partial(function(type,req){var response=MochiKit.Base.evalJSON(req.responseText);switch(type){case"USER":if(response&&response["user"]&&response["contact"]){this.dashboard.resource_linker[response["user"]["resource_id"]]=response["user"]["data_row"];this.dashboard.resource_linker[response["contact"]["resource_id"]]=response["contact"]["data_row"];if(this.list){this.list.clear_cached_datasets(true);this.list.raw_data[response["user"]["resource_id"]]=(this.what_to_return=="data_row")?response["user"]["data_row"]["misc_vars"]:{"display_text":response["user"]["data_row"]["display_text"]};this.list.group_map[response["user"]["resource_id"]]=this.data_row["groups"];this.list.refresh();}
if(!this.dashboard.available_resources[response["data_row"]["type"]]){this.dashboard.available_resources[response["data_row"]["type"]]={};}
this.dashboard.available_resources[response["user"]["data_row"]["type"]][response["user"]["resource_id"]]=response["user"]["data_row"];var to_refresh=Basis.filter_numbers(Basis.keys(this.dashboard.resource_linker[response["user"]["resource_id"]]["associated_resources"],true));this.dashboard.get_assorted_resources(to_refresh);this.dashboard.system_log("Success!",true);}
break;default:if(response&&response["data_row"]&&response["resource_id"]){this.dashboard.resource_linker[response["resource_id"]]=response["data_row"];if(this.list){this.list.clear_cached_datasets(true);this.list.raw_data[response["resource_id"]]=(this.what_to_return=="data_row")?response["data_row"]["misc_vars"]:{"display_text":response["data_row"]["display_text"]};this.list.group_map[response["resource_id"]]=this.data_row["groups"];this.list.refresh();}
if(!this.dashboard.available_resources[response["data_row"]["type"]]){this.dashboard.available_resources[response["data_row"]["type"]]={};}
this.dashboard.available_resources[response["data_row"]["type"]][response["resource_id"]]=response["data_row"];if(!this.dashboard.resource_linker[this.dashboard.site_resource_id]["associated_resources"][response["data_row"]["type"]]){this.dashboard.resource_linker[this.dashboard.site_resource_id]["associated_resources"][response["data_row"]["type"]]={};}
this.dashboard.resource_linker[this.dashboard.site_resource_id]["associated_resources"][response["data_row"]["type"]][response["resource_id"]]={};var to_refresh=Basis.filter_numbers(Basis.keys(this.dashboard.resource_linker[response["resource_id"]]["associated_resources"],true));this.dashboard.get_assorted_resources(to_refresh);this.dashboard.system_log("Success!",true);}
break;}
window.status="Done";},type);return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("delete_resources",bind(function(resource_ids){if(resource_ids&&(resource_ids.length>0)&&confirm("Are you sure you want to PERMANENTLY DELETE "+((resource_ids.length>1)?"these":"this")+" resource"+((resource_ids.length>1)?"s":"")+"?")){this.system_log("Deleting resources...",true);if(resource_ids.length>25){this.please_wait_this_could_take_a_while();}
var to_post={};to_post["resource_ids"]=resource_ids;var as=new Basis.ajax_scaffold;as.alias="delete_resources";as.dashboard=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(req.responseText);if(response&&(response.length>0)){for(var i=0;i<response.length;i++){var resource_id=Basis.filter_number(response[i]);var type=this.dashboard.resource_linker[resource_id]["type"];delete this.dashboard.available_resources[type][resource_id];delete this.dashboard.resource_linker[resource_id];}
this.dashboard.custom_ajax_action("get_available_resources",["CONTACT","CONTACT.V2","CONTACT_LIST","CUSTOM_FORM","CUSTOM_FORM_ROW","DISCUSSION","FOLDER","FORUM","GROUP","IMAGE_GALLERY","PAGE","POLL","SITE","TASK","TASK_LIST","USER"]);this.dashboard.system_log("Success!",true);}
window.status="Done";};return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("save_resource",bind(function(resource_id,data_row,list,what_to_return){var what_to_return=(what_to_return=="data_row")?"data_row":"display_text";if(resource_id&&data_row&&list&&what_to_return){this.system_log("Saving resource "+resource_id+"...",true);var to_post={};to_post["resource_id"]=resource_id;to_post["data_row"]=data_row;var as=new Basis.ajax_scaffold;as.alias="save_resource";as.list=list;as.resource_id=resource_id;as.data_row=data_row;as.what_to_return=what_to_return;as.dashboard=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(req.responseText);if(Basis.is_number(response["resource_id"])&&response["data_row"]){this.dashboard.resource_linker[response["resource_id"]]=response["data_row"];if(Basis.array_length(this.list.raw_data)>0){this.list.clear_cached_datasets(true);this.list.raw_data[response["resource_id"]]=(this.what_to_return=="data_row")?response["data_row"]["misc_vars"]:{"display_text":response["data_row"]["display_text"]};this.list.group_map[response["resource_id"]]=this.data_row["groups"];this.list.refresh();}
this.dashboard.system_log("Success!",true);}
window.status="Done";};return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("get_assorted_resources",bind(function(resource_ids){if(Basis.array_length(resource_ids)>0){var to_post={};to_post["resource_ids"]=resource_ids;to_post["organization_id"]=this.organization_id;to_post["site_id"]=this.site_id;var as=new Basis.ajax_scaffold;as.alias="get_assorted_resources";as.dashboard=this;as.on_success=function(req){var resources=MochiKit.Base.evalJSON(req.responseText);MochiKit.Base.updatetree(this.dashboard.resource_linker,resources);for(var i in resources){if(typeof(resources[i])!="function"){var update={};update[i]=resources[i];MochiKit.Base.updatetree(this.dashboard.available_resources[resources[i]["type"]],update);}}
window.status="Done";};return as.post({"to_post":to_post});}else{return new MochiKit.Async.succeed();}},this));this.set_custom_ajax_action("get_available_resources",bind(function(types){if((this.view||types)&&this.organization_id){var to_post={};to_post["types"]=(!types)?[this.view]:((Basis.array_length(types)>0)?types:this.view_associations[types]);to_post["organization_id"]=this.organization_id;to_post["site_id"]=this.site_id;var as=new Basis.ajax_scaffold;as.alias="get_available_resources";as.dashboard=this;as.on_success=function(req){var resources=MochiKit.Base.evalJSON(req.responseText);MochiKit.Base.update(this.dashboard.available_resources,resources);this.dashboard.link_resources(this.dashboard.available_resources);window.status="Done";};return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("create_new_folder",bind(function(parent_folder_path_reference){if(!parent_folder_path_reference){return false;}
if(confirm("Are you sure you want to create a new folder?")){var to_post={};to_post["folder_path_reference"]=parent_folder_path_reference;var as=new Basis.ajax_scaffold;as.alias="create_new_folder";as.dashboard=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(req.responseText);var new_folder_resource_id=response["new_folder_resource_id"];var parent_folder_resource_id=response["parent_folder_resource_id"];if(new_folder_resource_id&&parent_folder_resource_id){var a=this.dashboard.get_assorted_resources([new_folder_resource_id]);a.addCallback(bind(function(){var parent=this.folders["files"].getElementsByTagName("resource_id_"+parent_folder_resource_id)[0];if(parent){if(BrowserDetect.browser=="Explorer"){var xmlDocument=new ActiveXObject('Microsoft.XMLDOM');var node=xmlDocument.createElement("resource_id_"+new_folder_resource_id);MochiKit.DOM.addElementClass(node,"resource");parent.appendChild(node);}else{parent.appendChild(MochiKit.DOM.createDOM(("resource_id_"+new_folder_resource_id),{"class":"resource"}));}}
this.elements["file_explorer"].render_again();Basis.signal_handler.execute_interactive_element(("resource_"+new_folder_resource_id),"onmousedown");Basis.signal_handler.execute_interactive_element(("resource_"+new_folder_resource_id),"onclick");},this.dashboard));}
window.status="Done";};return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("create_new_root_folder",bind(function(type){switch(type){case"files":case"gallery":break;default:type=null;break;}
if(!type){return false;}
if(confirm("Are you sure you want to create a new folder?")){var to_post={};to_post["type"]=type;to_post["site_id"]=this.site_id;var as=new Basis.ajax_scaffold;as.alias="create_new_root_folder";as.dashboard=this;as.on_success=function(req){var new_folder_resource_id=req.responseText;if(Basis.is_number(new_folder_resource_id)){var a=this.dashboard.custom_ajax_action("get_assorted_resources",[new_folder_resource_id]);a.addCallback(bind(partial(function(type,new_folder_resource_id){if(BrowserDetect.browser=="Explorer"){var xmlDocument=new ActiveXObject('Microsoft.XMLDOM');var node=xmlDocument.createElement("resource_id_"+new_folder_resource_id);MochiKit.DOM.addElementClass(node,"resource");this.folders["files"].appendChild(node);}else{this.folders["files"].appendChild(MochiKit.DOM.createDOM(("resource_id_"+new_folder_resource_id),{"class":"resource"}));}
this.elements["file_explorer"].render_again();Basis.signal_handler.execute_interactive_element(("resource_"+new_folder_resource_id),"onmousedown");Basis.signal_handler.execute_interactive_element(("resource_"+new_folder_resource_id),"onclick");},type,new_folder_resource_id),this.dashboard));}
window.status="Done";};return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("delete_files",bind(function(files_to_delete){if(Basis.array_length(files_to_delete)<1){alert("You haven't selected any files to delete!");return false;}
if(confirm("Are you sure you want to delete the selected files?")){var to_post={};to_post["files_to_delete"]=files_to_delete;var as=new Basis.ajax_scaffold;as.alias="delete_files";as.dashboard=this;as.on_success=function(req){var successfully_deleted=MochiKit.Base.evalJSON(req.responseText);var effects=[];var is_folder=false;for(var i in successfully_deleted){if(typeof(successfully_deleted[i])!="function"){if(as.dashboard.resource_linker[i]["type"]=="FOLDER"){is_folder=true;}
effects.push(new MochiKit.Visual.fade(("resource_"+i),{"duration":0.50,"afterFinish":bind(function(){Basis.remove_element(("resource_"+i));delete this.resource_linker[i];},as.dashboard)}));}}
as.dashboard.custom_ajax_action("get_site_diskspace");new MochiKit.Visual.Parallel(effects,{"duration":0.50,"afterFinish":bind(function(){if(is_folder){this.compile("file_explorer",this.mode);}},as.dashboard)});window.status="Done";};return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("delete_folder",bind(function(parent_folder_path_reference){if(!parent_folder_path_reference){return false;}
if(confirm("Are you sure you want to PERMANENTLY DELETE this folder and all of its contents?")){var to_post={};to_post["folder_path_reference"]=parent_folder_path_reference;var as=new Basis.ajax_scaffold;as.alias="delete_folder";as.dashboard=this;as.on_success=function(req){var resource_id=req.responseText;if(resource_id){var node=this.dashboard.folders["files"].getElementsByTagName("resource_id_"+resource_id)[0];if(node){MochiKit.Visual.fade(("resource_"+resource_id),{"duration":0.50,"afterFinish":partial(function(node,resource_id,dashboard){Basis.remove_element("resource_"+resource_id);var parent_id=Basis.filter_number(node.parentNode.tagName);Basis.remove_element(node);dashboard.elements["file_explorer"].render_again(("resource_"+parent_id));dashboard.custom_ajax_action("get_site_diskspace");},node,resource_id,this.dashboard)});}}
window.status="Done";};return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("get_folder_files",bind(function(resource_id){var to_post={};to_post["resource_id"]=resource_id;var as=new Basis.ajax_scaffold;as.alias="get_folder_files";as.dashboard=this;as.on_success=function(req){var root=req.responseXML.getElementsByTagName("root")[0];if(root){this.dashboard.files=root.getElementsByTagName("files")[0];}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("get_site_folders",bind(function(){if(this.folders.files!=null){return new MochiKit.Async.succeed();}
var to_post={};to_post["site_id"]=this.site_id;var as=new Basis.ajax_scaffold;as.alias="get_site_folders";as.dashboard=this;as.on_success=function(req){var root=req.responseXML.getElementsByTagName("root")[0];if(root){this.dashboard.folders={"files":root.getElementsByTagName("files")[0],"gallery_files":root.getElementsByTagName("gallery_files")[0]};}
window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("move_files",bind(function(folder_path_reference,files_to_move,section){var section=(!section||(section=="files"))?"files":"gallery_files";var to_post={};to_post["folder_path_reference"]=folder_path_reference;to_post["files_to_move"]=files_to_move;var as=new Basis.ajax_scaffold;as.alias="move_files";as.dashboard=this;as.on_success=function(req){var successfully_moved=MochiKit.Base.evalJSON(req.responseText);var effects=[];var to_load=[];var is_folder=false;for(var i in successfully_moved){if(typeof(successfully_moved[i])!="function"){var old_file_resource_id=successfully_moved[i]["old_file_resource_id"];var new_file_resource_id=successfully_moved[i]["new_file_resource_id"];if(this.dashboard.resource_linker[old_file_resource_id]&&(this.dashboard.resource_linker[old_file_resource_id]["type"]=="FOLDER")){is_folder=true;}
if(old_file_resource_id!=new_file_resource_id){delete this.dashboard.resource_linker[old_file_resource_id];}
to_load.push(new_file_resource_id);effects.push(new MochiKit.Visual.fade(getElement("resource_"+old_file_resource_id),{"duration":0.50,"afterFinish":partial(function(resource_id,is_folder,dashboard,successfully_moved,section){Basis.remove_element("resource_"+resource_id);if(is_folder){var old_parent_resource_id=successfully_moved[i]["old_parent_resource_id"];var new_parent_resource_id=successfully_moved[i]["new_parent_resource_id"];if(old_parent_resource_id&&new_parent_resource_id){var old_parent=dashboard.folders[section].getElementsByTagName("resource_id_"+old_parent_resource_id)[0];var new_parent=dashboard.folders[section].getElementsByTagName("resource_id_"+new_parent_resource_id)[0];var old_node=dashboard.folders[section].getElementsByTagName("resource_id_"+resource_id)[0];if(old_parent&&new_parent&&(old_parent!=new_parent)&&old_node){new_parent.appendChild(old_node);}}}},old_file_resource_id,is_folder,this.dashboard,successfully_moved,section)}));}}
var a=this.dashboard.custom_ajax_action("get_assorted_resources",[new_file_resource_id]);a.addCallback(partial(function(is_folder,dashboard,resource_id){new MochiKit.Visual.Parallel(effects,{"duration":0.50,"afterFinish":bind(partial(function(is_folder,resource_id){if(is_folder){this.elements["file_explorer"].render_again();Basis.signal_handler.execute_interactive_element(("resource_"+resource_id),"onmousedown");Basis.signal_handler.execute_interactive_element(("resource_"+resource_id),"onclick");}},is_folder,resource_id),dashboard)});},is_folder,this.dashboard,new_file_resource_id));window.status="Done";};return as.post({"to_post":to_post});},this));this.set_custom_ajax_action("configure_access_restrictor",bind(function(mode,key){var lists=["full_access","read_only","no_access"];for(var x in lists){if(typeof(lists[x])!="function"){var ul=MochiKit.DOM.getElement(this.element_ids["elements"][lists[x]]);if(ul&&ul.childNodes){for(var i in ul.childNodes){var obj=MochiKit.DOM.getElement(ul.childNodes[i]);if(obj&&Basis.is_element(obj)){obj.signals=obj.signals?obj.signals:[];obj.signals.push(new MochiKit.DragAndDrop.Draggable(obj,{"revert":true,"reverteffect":function(innerelement,top_offset,left_offset){return new MochiKit.Visual.Move(innerelement,{"x":-left_offset,"y":-top_offset,"duration":0});}}));}}}
if(Basis.is_element(ul)){ul.signals=ul.signals?ul.signals:[];ul.signals.push(new MochiKit.DragAndDrop.Droppable(ul,{"hoverclass":"drop-hover","ondrop":bind(partial(function(mode,key,element,dropped_on){var resource_id=element.id.replace(/[^0-9]/g,"");var from_ul=element.id.split("|")[0];if(mode=="page"){if(this.page_restrictions[key]&&this.page_restrictions[key][from_ul]){var list=this.page_restrictions[key][from_ul];var index=MochiKit.Base.findValue(list,resource_id);if(index>-1){list.splice(index,1);}
var id=dropped_on.id.split(".");var list=this.page_restrictions[key][id[id.length-1]];if(list){list.push(resource_id);}}}else{if(this.file_restrictions[key]&&this.file_restrictions[key][from_ul]){var list=this.file_restrictions[key][from_ul];var index=MochiKit.Base.findValue(list,resource_id);if(index>-1){list.splice(index,1);}
var id=dropped_on.id.split(".");var list=this.file_restrictions[key][id[id.length-1]];if(list){list.push(resource_id);}}}
dropped_on.appendChild(element);Basis.sort_ul(dropped_on,function(nodes,a){if(nodes[a]){var text=MochiKit.DOM.scrapeText(nodes[a].firstChild.firstChild.firstChild.childNodes[1]);return text;}});this.attempt_save(bind(partial(function(mode,key){(mode=="page")?this.custom_ajax_action("save_page_restrictions",key):this.custom_ajax_action("save_file_restrictions",key);},mode,key),this));},mode,key),this)}));}}}},this));this.set_custom_ajax_action("get_file_restrictions",bind(function(path_reference){if(path_reference){var to_post={};to_post["path_reference"]=path_reference;var as=new Basis.ajax_scaffold;as.alias="get_file_restrictions";as.dashboard=this;as.on_success=function(req){var restrictions=MochiKit.Base.evalJSON(decodeBase64(req.responseText));var update={};update[path_reference]=restrictions;MochiKit.Base.updatetree(as.dashboard.file_restrictions,update);window.status="Done";};return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("get_page_restrictions",bind(function(page_id){if(page_id){var to_post={};to_post["page_id"]=page_id;var as=new Basis.ajax_scaffold;as.alias="get_page_restrictions";as.dashboard=this;as.on_success=function(req){var restrictions=MochiKit.Base.evalJSON(decodeBase64(req.responseText));var update={};update[page_id]=restrictions;MochiKit.Base.updatetree(as.dashboard.page_restrictions,update);window.status="Done";};return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("populate_access_restrictor",bind(function(users){var lists=["full_access","read_only","no_access"];var users=MochiKit.Base.updatetree({"full_access":[],"read_only":[],"no_access":[]},users);var to_populate=[];for(var x in lists){for(var y in users[lists[x]]){if(typeof(users[lists[x]])!="function"){if(typeof(users[lists[x]][y])!="function"){var resource_id=users[lists[x]][y];if(!this.resource_linker[resource_id]){to_populate.push(resource_id);}}}}}
to_populate=Basis.clone(to_populate);var a=(Basis.array_length(to_populate)>0)?this.get_assorted_resources(to_populate):new MochiKit.Async.succeed();a.addCallback(bind(function(){for(var x in lists){var ul=MochiKit.DOM.getElement(this.element_ids["elements"][lists[x]]);if(ul){var lis=Basis.get_direct_child_elements_by_tag_and_class_name("LI",null,ul);for(var i=0;i<lis.length;i++){Basis.remove_element(lis[i]);}
Basis.updated_live_dom();}}
for(var x in lists){var ul=MochiKit.DOM.getElement(this.element_ids["elements"][lists[x]]);for(var y in users[lists[x]]){var resource_id=users[lists[x]][y];if((typeof(resource_id)!="function")&&this.in_site(resource_id)){if(ul){var li=LI({"id":(lists[x]+"|"+resource_id),"style":"margin: 0px; padding-left: 0px; cursor: move;"},TABLE({"width":"100%","border":"0","cellpadding":"2","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"20","style":"padding-bottom: 3px;"},IMG({"src":this.get_view_association_icon("USER")})),TD({"width":"75"},(this.resource_linker[resource_id]["display_text"])),TD({"style":"color: #808080;"},null)))));ul.appendChild(li);}}}
if(ul){Basis.sort_ul(ul,function(nodes,a){if(nodes[a]){var text=MochiKit.DOM.scrapeText(nodes[a].firstChild.firstChild.firstChild.childNodes[1]);return text;}});}}},this));return a;},this));this.set_custom_ajax_action("populate_preset",bind(function(mode,preset){var list=this.available_resources["USER"];var key=(mode=="page")?this.resource_linker[this.resource_id]["misc_vars"]["id"]:this.resource_linker[this.resource_id]["misc_vars"]["path_reference"];if(preset&&list){var users={"full_access":[],"read_only":[],"no_access":[]};switch(preset){case"RESET":users=(mode=="page")?this.original_page_restrictions[key]:this.original_file_restrictions[key];break;case"ALL_BASIC":for(var resource_id in list){if((typeof(list[resource_id])!="function")&&this.in_site(resource_id)&&list[resource_id]["misc_vars"]["site_levels"]){var level=list[resource_id]["misc_vars"]["site_levels"][this.site_id];if(level){switch(level){case"USER_LEVEL_BASIC_READ_ONLY":users["read_only"].push(resource_id);break
case"USER_LEVEL_BASIC":users["full_access"].push(resource_id);break
default:users["no_access"].push(resource_id);break}}}}
break;case"ALL_PRIVATE":for(var resource_id in list){if((typeof(list[resource_id])!="function")&&this.in_site(resource_id)&&list[resource_id]["misc_vars"]["site_levels"]){var level=list[resource_id]["misc_vars"]["site_levels"][this.site_id];if(level){switch(level){case"USER_LEVEL_PRIVATE_READ_ONLY":users["read_only"].push(resource_id);break
case"USER_LEVEL_PRIVATE":users["full_access"].push(resource_id);break
default:users["no_access"].push(resource_id);break}}}}
break;case"ALL_READ_ONLY":for(var resource_id in list){if((typeof(list[resource_id])!="function")&&this.in_site(resource_id)){(this.user_levels[level]>=this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"])?users["full_access"].push(resource_id):users["read_only"].push(resource_id);}}
break;case"ALL_FULL_ACCESS":for(var resource_id in list){if((typeof(list[resource_id])!="function")&&this.in_site(resource_id)){users["full_access"].push(resource_id);}}
break;case"ALL_NO_ACCESS":for(var resource_id in list){if((typeof(list[resource_id])!="function")&&this.in_site(resource_id)){(this.user_levels[level]>=this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"])?users["full_access"].push(resource_id):users["no_access"].push(resource_id);}}
break;}
if(mode=="page"){this.page_restrictions[key]=users;}else{this.file_restrictions[key]=users;}
this.custom_ajax_action("populate_access_restrictor",mode,users);this.custom_ajax_action("configure_access_restrictor",mode,key);if(mode=="page"){this.custom_ajax_action("save_page_restrictions",key);}else if(mode=="file"){this.custom_ajax_action("save_file_restrictions",key);}}},this));this.set_custom_ajax_action("save_file_restrictions",bind(function(path_reference){if(path_reference){var restrictions=Basis.clone(this.file_restrictions[path_reference]);delete restrictions["no_access"];var to_post={};to_post["path_reference"]=path_reference;to_post["restrictions"]=restrictions;var as=new Basis.ajax_scaffold;as.alias="save_file_restrictions";as.dashboard=this;as.on_success=function(req){var list=as.dashboard.resource_linker;for(var i in list){if(typeof(list[i])!="function"){switch(list[i]["type"]){case"FILE":case"FOLDER":if(list[i]["misc_vars"]["path_reference"]==path_reference){if((Basis.array_length(restrictions["full_access"])+Basis.array_length(restrictions["read_only"]))==0){list[i]["has_restrictions"]=false;var icon=Basis.get_element("resource_id_"+i+"_access_restrictor");if(icon){icon.src=(as.dashboard.resource_has_inherited_permissions(i)?"images/images/default_icons/png/lock_inherited.png":"images/images/default_icons/png/lock_open.grey.png");}}else{list[i]["has_restrictions"]=true;var icon=Basis.get_element("resource_id_"+i+"_access_restrictor");if(icon){icon.src="images/images/default_icons/png/lock.png";}}}
break;}}}
window.status="Done";};return as.post({"to_post":to_post});}},this));this.set_custom_ajax_action("save_page_restrictions",bind(function(page_id){if(page_id){var restrictions=Basis.clone(this.page_restrictions[page_id]);delete restrictions["no_access"];var to_post={};to_post["page_id"]=page_id;to_post["restrictions"]=restrictions;var as=new Basis.ajax_scaffold;as.alias="save_page_restrictions";as.dashboard=this;as.on_success=function(req){window.status="Done";};return as.post({"to_post":to_post});}},this));},set_up_custom_renderers:function(){Basis.state_handler.add_state("DEFAULT_my_profile");this.set_custom_view_renderer("DEFAULT","my_profile",bind(function(){this.resource_id=null;this.reset_states();Basis.state_handler.enter_state("DEFAULT_my_profile");this.populate_submenu("default","Default");this.tiles.ui.clear_all_tiles();var content=this.render_view("DEFAULT","resource_detail",this.current_user_resource_id);var index=this.render_view("DEFAULT","default","My Profile",content);content.menu.highlight_item(0);this.tiles.ui.go_to(index);if(Basis.get_cookie("do_not_show_user_profile_contacts_location")!="true"){var element=getElement(("CONTACT.V2_connected_to_"+this.current_user_resource_id));var custom_animation=partial(function(obj){Basis.misc_vars.edit_bar_alert_box=Basis.create_edit_bar_alert_box("<div style=\"white-space: nowrap; text-align: center;\"><div style=\"padding-bottom: 5px;\">These are your contacts.</div><div>You can edit one by clicking on it.</div>","white",200,null,true);Basis.align_element_to_element(Basis.misc_vars.edit_bar_alert_box,obj,"left_to_left",{"x":8});Basis.misc_vars.edit_bar_alert_box.style.top=null;Basis.misc_vars.edit_bar_alert_box.style.position="fixed";var bottom=(getViewportDimensions().h+document.body.scrollTop-getElementPosition(obj).y+5);document.body.appendChild(Basis.misc_vars.edit_bar_alert_box);appear(Basis.misc_vars.edit_bar_alert_box);var starting_point=getViewportDimensions().h;var t1=new Tween(Basis.misc_vars.edit_bar_alert_box.style,"bottom",Tween.bounceEaseOut,starting_point,bottom,1.0,"px");t1.onMotionFinished=function(){MochiKit.Async.callLater(3,function(){if(Basis.misc_vars.edit_bar_alert_box.fader&&Basis.misc_vars.edit_bar_alert_box.fader.cancel){Basis.misc_vars.edit_bar_alert_box.fader.cancel();}
Basis.misc_vars.edit_bar_alert_box.fader=fade(Basis.misc_vars.edit_bar_alert_box,{"afterFinish":function(){if(Basis.misc_vars.edit_bar_alert_box.fader.state=="finished"){Basis.remove_element(Basis.misc_vars.edit_bar_alert_box);Basis.misc_vars.edit_bar_alert_box=null;Basis.destroy_modal_background();Basis.set_cookie("do_not_show_user_profile_contacts_location","true",365);}}});});};t1.start();},element);Basis.create_modal_background(null,null,{"afterFinish":custom_animation});}},this));this.set_custom_view_renderer("DEFAULT","profile_content",bind(function(){var receives_emails=SELECT();Basis.select_add_options(receives_emails,{"yes":"Yes","no":"No"});Basis.select_select_item_by_value(receives_emails,(this.resource_linker[this.current_user_resource_id]["misc_vars"]["receives_emails"]?"yes":"no"));Basis.make_text_element_dropdown(receives_emails,null,{"resource_id":this.current_user_resource_id,"field":"receives_emails","after_success":partial(function(dashboard,resource_id,element,req){dashboard.resource_linker[resource_id]["misc_vars"]["receives_emails"]=element.options[element.selectedIndex].value;},this,this.current_user_resource_id,receives_emails)});var profile=DIV({"style":"padding: 10px"},TABLE({"width":"100%","border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"100","style":"font-weight: bold;"},"Receive emails?"),TD(null,receives_emails)))));return profile;},this));this.set_custom_view_renderer("DEFAULT","resource_alerts_button",bind(function(resource_id){var content=DIV();if(resource_id&&this.resource_linker[resource_id]){if(!this.resource_has_existing_alerts(resource_id)){if(this.resource_linker[resource_id]["resource_access"]["full_access"]){var button=INPUT({"type":"button","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/png/error.png);","value":"Click here to set an Alert for when this "+this.resource_type_text(resource_id)+" changes"});Basis.signal_handler.connect(button,"onclick",bind(partial(function(target_resource_id){this.run_wizard("ALERT",{"data_row":{},"target_resource_id":target_resource_id,"mode":"add"});},resource_id),this),false);content=button;}}else{var delete_button=Basis.nbsp();if(this.resource_linker[resource_id]["resource_access"]["full_access"]){var delete_button=IMG({"src":"images/images/default_icons/png/delete.png","style":"cursor: pointer;"});Basis.signal_handler.connect(delete_button,"onclick",bind(partial(function(resource_id,alert_resource_id){var a=this.custom_ajax_action("delete_resources",[alert_resource_id]);if(a){a.addCallback(bind(partial(function(resource_id){if(resource_id&&this.resource_linker[resource_id]){this.tiles.ui.pop_tile();Basis.block_updating_live_dom();var detail=this.render_view("DEFAULT","resource_detail",resource_id);var index=this.render_view("DEFAULT","default",this.resource_display_text(resource_id),detail);detail.menu.highlight_item(detail.menu.selected_index);this.tiles.ui.go_to(index);this.tiles.ui.tiles[index].content=detail;Basis.unblock_updating_live_dom();Basis.updated_live_dom();}},resource_id),this));}},resource_id,this.resource_get_existing_alert_resource_id_for(resource_id)),this),false);Basis.attach_tooltip(delete_button,"Delete this "+this.resource_type_text(this.resource_get_existing_alert_resource_id_for(resource_id)),null,false);}
var alert_link=this.render_view("DEFAULT","resource_with_icon",this.resource_get_existing_alert_resource_id_for(resource_id),true,"Click here to change who should be alerted");content=DIV(null,alert_link,Basis.nbsp(),delete_button);alert_link.style.display="inline";delete_button.style.display="inline";content.style.display="inline";}
var button=null;if(!this.resource_is_associated_with_resource(this.current_user_resource_id,this.resource_get_existing_alert_resource_id_for(resource_id))){var button=INPUT({"type":"button","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/png/eye.png);","value":"I want to be alerted when this "+this.resource_type_text(resource_id)+" changes"});Basis.signal_handler.connect(button,"onclick",bind(partial(function(target_resource_id){if(!this.resource_has_existing_alerts(resource_id)){var data_row={"type":"alert","attached_to_resource_id":target_resource_id,"auto_associate_user_resource_id":this.current_user_resource_id};var a=this.custom_ajax_action("add_new_resource","ALERT",data_row);a.addCallback(bind(partial(function(dashboard){if((dashboard.tiles.ui.tiles.length==1)&&(dashboard.tiles.ui.current_tile==null)){dashboard.tiles.ui.tiles[0].list.grid_control.fetch_raw_data("ALERT");dashboard.tiles.ui.tiles[0].list.grid_control.clear_cached_datasets();dashboard.tiles.ui.tiles[0].list.grid_control.refresh();}else{var response=MochiKit.Base.evalJSON(this.req.responseText);var resource_id=Basis._int(response["data_row"]["misc_vars"]["attached_to_resource_id"]);if(resource_id&&dashboard.resource_linker[resource_id]){dashboard.tiles.ui.pop_tile();Basis.block_updating_live_dom();var detail=dashboard.render_view("DEFAULT","resource_detail",resource_id);var index=dashboard.render_view("DEFAULT","default",dashboard.resource_display_text(resource_id),detail);detail.menu.highlight_item(detail.menu.selected_index);dashboard.tiles.ui.go_to(index);dashboard.tiles.ui.tiles[index].content=detail;Basis.unblock_updating_live_dom();Basis.updated_live_dom();}}},this),a));}else{var after_reload=partial(function(dashboard,target_resource_id){if((dashboard.tiles.ui.tiles.length==1)&&(dashboard.tiles.ui.current_tile==null)&&dashboard.tiles.ui.tiles[0].list){dashboard.tiles.ui.tiles[0].list.grid_control.fetch_raw_data("ALERT");dashboard.tiles.ui.tiles[0].list.grid_control.clear_cached_datasets();dashboard.tiles.ui.tiles[0].list.grid_control.refresh();}else{var resource_id=target_resource_id;if(resource_id&&dashboard.resource_linker[resource_id]){dashboard.tiles.ui.pop_tile();Basis.block_updating_live_dom();var detail=dashboard.render_view("DEFAULT","resource_detail",resource_id);var index=dashboard.render_view("DEFAULT","default",dashboard.resource_display_text(resource_id),detail);detail.menu.highlight_item(detail.menu.selected_index);dashboard.tiles.ui.go_to(index);dashboard.tiles.ui.tiles[index].content=detail;Basis.unblock_updating_live_dom();Basis.updated_live_dom();}}},this,target_resource_id);this.custom_ajax_action("associate_resources",this.current_user_resource_id,[this.resource_get_existing_alert_resource_id_for(resource_id)],after_reload);}},resource_id),this),false);}else{var button=INPUT({"type":"button","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/png/stop.png);","value":"Stop alerting me when this "+this.resource_type_text(resource_id)+" changes"});Basis.signal_handler.connect(button,"onclick",bind(partial(function(target_resource_id){var after_reload=partial(function(dashboard,target_resource_id){if((dashboard.tiles.ui.tiles.length==1)&&(dashboard.tiles.ui.current_tile==null)&&dashboard.tiles.ui.tiles[0].list){dashboard.tiles.ui.tiles[0].list.grid_control.fetch_raw_data("ALERT");dashboard.tiles.ui.tiles[0].list.grid_control.clear_cached_datasets();dashboard.tiles.ui.tiles[0].list.grid_control.refresh();}else{var response=MochiKit.Base.evalJSON(this.req.responseText);var resource_id=target_resource_id;if(resource_id&&dashboard.resource_linker[resource_id]){dashboard.tiles.ui.pop_tile();Basis.block_updating_live_dom();var detail=dashboard.render_view("DEFAULT","resource_detail",resource_id);var index=dashboard.render_view("DEFAULT","default",dashboard.resource_display_text(resource_id),detail);detail.menu.highlight_item(detail.menu.selected_index);dashboard.tiles.ui.go_to(index);dashboard.tiles.ui.tiles[index].content=detail;Basis.unblock_updating_live_dom();Basis.updated_live_dom();}}},this,target_resource_id);this.custom_ajax_action("unassociate_resources",this.resource_get_existing_alert_resource_id_for(target_resource_id),this.current_user_resource_id,after_reload);},resource_id),this),false);}
if(button){content=DIV(null,DIV(null,content),DIV(null,button));}
return content;}},this));this.set_custom_view_renderer("DEFAULT","resource_type_associator",bind(function(resource_type,resource_id){var resource_type=resource_type?resource_type.toUpperCase():"";var content=DIV();if(resource_id&&this.resource_linker[resource_id]&&this.resource_types.indexOf(resource_type)>-1){var button=IMG({"src":"images/images/default_icons/png/add.png","style":"cursor: pointer;"});Basis.signal_handler.connect(button,"onclick",bind(partial(function(resource_type,resource_id){this.render_view("DEFAULT","resource_associate_from_list",resource_type,resource_id);},resource_type,resource_id),this),false);Basis.attach_tooltip(button,"Click here to connect "+Basis.pluralize(this.resource_type_text(resource_type)).toLowerCase()+" to "+this.resource_display_text(resource_id),false,false);var content=DIV(null,TABLE({"width":"100%","style":"border-bottom: 1px solid #c0c0c0; margin-bottom: 5px; padding-bottom: 5px;"},TBODY(null,TR(null,TD(null,STRONG(null,Basis.pluralize(this.resource_type_text(resource_type)))),TD({"width":"16"},button)))),this.render_view("DEFAULT","resource_type_associator_list",resource_type,"unassociate",resource_id));return content;}},this));Basis.state_handler.add_state("resource_associate_from_list");this.set_custom_view_renderer("DEFAULT","resource_associate_from_list",bind(function(resource_type,resource_id){Basis.state_handler.enter_state("resource_associate_from_list");var content=DIV({"style":"width: 400px; display: inline;"},this.render_view("DEFAULT","resource_type_associator_list",resource_type,"associate",resource_id));var index=this.render_view("DEFAULT","default",this.resource_display_text(resource_id),content);this.tiles.ui.go_to(index);},this));this.set_custom_view_renderer("DEFAULT","resource_type_associator_list",bind(function(resource_type,associate_or_unassociate,resource_id){var resource_type=resource_type?resource_type.toUpperCase():"";var associate_or_unassociate=(associate_or_unassociate=="unassociate")?"unassociate":"associate";var content=TBODY();if(resource_id&&this.resource_linker[resource_id]&&this.resource_types.indexOf(resource_type)>-1){var list=new Basis.grid_control.generic_resource.simplified({"dashboard":this});list.resource_type=resource_type;list.grid_control.num_per_page=9999999;list.grid_control.fetch_raw_data(list.resource_type);list.grid_control.refresh_data();var list=Basis.keys(list.grid_control.current_dataset);if(list&&(list.length>0)){for(var i=0;i<list.length;i++){if(((associate_or_unassociate=="associate")&&!this.resource_is_associated_with_resource(resource_id,list[i]))||((associate_or_unassociate=="unassociate")&&this.resource_is_associated_with_resource(resource_id,list[i]))){var button=IMG({"src":(associate_or_unassociate=="associate")?"images/images/default_icons/png/add.png":"images/images/default_icons/png/decline.png","style":"cursor: pointer;"});var row=TR(null,TD(null,this.render_view("DEFAULT","resource_with_icon",list[i],true)),TD({"width":"16"},button));Basis.signal_handler.connect(button,"onclick",bind(partial(function(resource_id,resource_id_to_associate_or_unassociate,associate_or_unassociate,row){var btype=this.resource_linker[resource_id_to_associate_or_unassociate]["type"];var atype=this.resource_linker[resource_id]["type"];if(atype&&btype&&confirm("Are you sure you want to "+((associate_or_unassociate=="associate")?"connect":"disconnect")+" "+this.resource_display_text(resource_id_to_associate_or_unassociate)+" "+((associate_or_unassociate=="associate")?"with":"from")+" "+this.resource_display_text(resource_id)+"?")){switch(associate_or_unassociate){case"associate":this.resource_linker[resource_id]["associated_resources"][btype]=this.resource_linker[resource_id]["associated_resources"][btype]?this.resource_linker[resource_id]["associated_resources"][btype]:{};this.resource_linker[resource_id]["associated_resources"][btype][resource_id_to_associate_or_unassociate]=[];this.resource_linker[resource_id_to_associate_or_unassociate]["associated_resources"][atype]=this.resource_linker[resource_id_to_associate_or_unassociate]["associated_resources"][atype]?this.resource_linker[resource_id_to_associate_or_unassociate]["associated_resources"][atype]:{};this.resource_linker[resource_id_to_associate_or_unassociate]["associated_resources"][atype][resource_id]=[];fade(row,{"duration":0.50,"afterFinish":bind(partial(function(dashboard){Basis.signal_handler.execute_interactive_element(dashboard.tiles.ui.tiles[dashboard.tiles.ui.current_tile-1].getElementsByTagName("table")[3].menu.menu_items[0],"onclick");Basis.remove_element(this);},this),row)});break;case"unassociate":delete(this.resource_linker[resource_id]["associated_resources"][btype][resource_id_to_associate_or_unassociate]);delete(this.resource_linker[resource_id_to_associate_or_unassociate]["associated_resources"][atype][resource_id]);fade(row,{"duration":0.50,"afterFinish":bind(partial(function(dashboard){Basis.remove_element(this);},this),row)});break;}
this.custom_ajax_action("associate_resources",resource_id,Basis.filter_numbers(Basis.keys(this.resource_linker[resource_id]["associated_resources"],true)));}},resource_id,list[i],associate_or_unassociate,row),this),false);content.appendChild(row);}}
content=TABLE({"width":"300"},content);}else{content=DIV();}
return content;}},this));this.set_custom_view_renderer("DEFAULT","resource_permissions_rendering",bind(function(resource_id){if(!this.resource_linker[resource_id]["has_restrictions"]&&this.resource_has_inherited_permissions(resource_id)){var resource_ids=this.get_resource_ids_that_resource_inherits_permissions_from(resource_id);var rendered_permissions=[];for(var i=0;i<resource_ids.length;i++){rendered_permissions.push(DIV({"style":"border: 1px solid #c0c0c0; padding: 10px;"},TABLE(null,TBODY(null,TR(null,TD(null,H3({"style":"padding: 0px; margin: 0px;"},"Permissions inherited from ")),TD(null,this.render_view("DEFAULT","resource_with_icon",resource_ids[i],true))))),this.render_view("DEFAULT","resource_permissions_rendering",resource_ids[i])));}
return rendered_permissions;}else{var content=DIV();var list=this.resource_linker[resource_id]["restrictions"];list=list?list:{};if(list["user_specific"]||list["group"]){if(list["user_specific"]){content.appendChild(H3(null,"User-Specific Permissions"));if(list["user_specific"]["read_only"]){content.appendChild(STRONG({"style":"padding-bottom: 5px; display: block;"},"Read-Only Access"));for(var i=0;i<list["user_specific"]["read_only"].length;i++){content.appendChild(DIV({"style":"padding-left: 10px;"},this.render_view("DEFAULT","resource_with_icon",this.get_resource_id_by_type_and_id("USER",list["user_specific"]["read_only"][i]),true)));}}
if(list["user_specific"]["full_access"]){content.appendChild(STRONG({"style":"padding-bottom: 5px; display: block;"},"Full Access"));for(var i=0;i<list["user_specific"]["full_access"].length;i++){content.appendChild(DIV({"style":"padding-left: 10px;"},this.render_view("DEFAULT","resource_with_icon",this.get_resource_id_by_type_and_id("USER",list["user_specific"]["full_access"][i]),true)));}}}
if(list["group"]){content.appendChild(H3(null,"Group Permissions"));if(list["group"]["read_only"]){content.appendChild(STRONG({"style":"padding-bottom: 5px; display: block;"},"Read-Only Access"));for(var i=0;i<list["group"]["read_only"].length;i++){content.appendChild(DIV({"style":"padding-left: 10px;"},this.render_view("DEFAULT","resource_with_icon",list["group"]["read_only"][i],true)));}}
if(list["group"]["full_access"]){content.appendChild(STRONG({"style":"padding-bottom: 5px; display: block;"},"Full Access"));for(var i=0;i<list["group"]["full_access"].length;i++){content.appendChild(DIV({"style":"padding-left: 10px;"},this.render_view("DEFAULT","resource_with_icon",list["group"]["read_only"][i],true)));}}}}else if(list["user_level"]){content.appendChild(H3(null,"User-Level Permissions"));if(list["user_level"]["read_only"]){content.appendChild(STRONG({"style":"display: block;"},"Read-Only Access"));for(var i=0;i<list["user_level"]["read_only"].length;i++){if(list["user_level"]["read_only"][i]["site_id"]==this.site_id){content.appendChild(P({"style":"padding-left: 10px;"},this.user_levels_text[list["user_level"]["read_only"][i]["user_level"]]));}}}
if(list["user_level"]["full_access"]){content.appendChild(STRONG({"style":"display: block;"},"Full Access"));for(var i=0;i<list["user_level"]["full_access"].length;i++){if(list["user_level"]["full_access"][i]["site_id"]==this.site_id){content.appendChild(P({"style":"padding-left: 10px;"},this.user_levels_text[list["user_level"]["full_access"][i]["user_level"]]));}}}}
return content;}},this));this.set_custom_view_renderer("DEFAULT","resource_permissions_1_tile",bind(function(resource_id,lock_icon){var button_manage_permissions=INPUT({"type":"button","value":this.resource_linker[resource_id]["has_restrictions"]?"Click here to change permissions":(this.resource_has_inherited_permissions(resource_id)?"Click here to set permissions that override any inherited permissions":"Click here to set permissions")});Basis.signal_handler.connect(button_manage_permissions,"onclick",bind(partial(function(resource_id,lock_icon){this.render_view("DEFAULT","resource_permissions_2",resource_id,lock_icon);},resource_id,lock_icon),this),false);var button_remove_permissions=INPUT({"type":"button","value":this.resource_has_inherited_permissions(resource_id)?"Click here to remove these permissions and re-inherit from above":"Click here to make this public again"});Basis.signal_handler.connect(button_remove_permissions,"onclick",bind(partial(function(resource_id,lock_icon){var message=this.resource_has_inherited_permissions(resource_id)?"Are you sure you want to remove permissions from this "+this.resource_type_text(resource_id).toLowerCase()+" and re-inherit from above?":"Are you sure you want to make this "+this.resource_type_text(resource_id).toLowerCase()+" public again?";if(confirm(message)){var a=this.custom_ajax_action("clear_resource_permissions",resource_id,lock_icon);a.addCallback(bind(function(){this.tiles.ui.back();},this));}},resource_id,lock_icon),this),false);var rendered_permissions=this.render_view("DEFAULT","resource_permissions_rendering",resource_id);var content=DIV(null,P({"style":"text-align: center;"},this.resource_linker[resource_id]["has_restrictions"]?"This "+this.resource_type_text(resource_id).toLowerCase()+" has permissions set for it. ":(this.resource_has_inherited_permissions(resource_id)?"This "+this.resource_type_text(resource_id).toLowerCase()+" has permissions inherited from above. ":"This "+this.resource_type_text(resource_id).toLowerCase()+" is public and can be viewed by anybody. ")),TABLE({"style":"margin-left: auto; margin-right: auto;","align":"center"},TBODY(null,TR(null,TD(null,rendered_permissions)))),this.resource_linker[resource_id]["has_restrictions"]?[P({"style":"text-align: center;"},button_manage_permissions),P({"style":"text-align: center;"},button_remove_permissions)]:P({"style":"text-align: center;"},button_manage_permissions));return content;},this));Basis.state_handler.add_state("DEFAULT_resource_permissions_1");this.set_custom_view_renderer("DEFAULT","resource_permissions_1",bind(function(resource_id,lock_icon){Basis.state_handler.enter_state("DEFAULT_resource_permissions_1");var index=this.render_view("DEFAULT","default",this.resource_display_text(resource_id),this.render_view("DEFAULT","resource_permissions_1_tile",resource_id,lock_icon));this.tiles.ui.go_to(index);},this));Basis.state_handler.add_state("DEFAULT_resource_permissions_2");this.set_custom_view_renderer("DEFAULT","resource_permissions_2",bind(function(resource_id,lock_icon){Basis.state_handler.enter_state("DEFAULT_resource_permissions_2");var read_only_access=SELECT();var full_access=SELECT();var button_advanced=INPUT({"type":"button","value":"Click here to set permissions for users and groups"});Basis.select_add_options(read_only_access,this.user_levels_text);Basis.select_add_options(full_access,this.user_levels_text);if(this.resource_linker[resource_id]["restrictions"]&&this.resource_linker[resource_id]["restrictions"]["user_level"]&&this.resource_linker[resource_id]["restrictions"]["user_level"]["read_only"]){var list=this.resource_linker[resource_id]["restrictions"]["user_level"]["read_only"];for(var i=0;i<list.length;i++){if(list[i]["site_id"]==this.site_id){Basis.select_select_item_by_value(read_only_access,list[i]["user_level"]);}}}
if(this.resource_linker[resource_id]["restrictions"]&&this.resource_linker[resource_id]["restrictions"]["user_level"]&&this.resource_linker[resource_id]["restrictions"]["user_level"]["full_access"]){var list=this.resource_linker[resource_id]["restrictions"]["user_level"]["full_access"];for(var i=0;i<list.length;i++){if(list[i]["site_id"]==this.site_id){Basis.select_select_item_by_value(full_access,list[i]["user_level"]);}}}
Basis.signal_handler.connect(button_advanced,"onclick",bind(partial(function(resource_id,lock_icon){this.render_view("DEFAULT","resource_consent_tile",null,resource_id,lock_icon);},resource_id,lock_icon),this),false);read_only_access.onchange=bind(partial(function(resource_id,read_only_access,full_access,lock_icon,save_via_ajax){var save_via_ajax=(save_via_ajax==false)?false:true;var permissions=MochiKit.Base.isArrayLike(this.resource_linker[resource_id].restrictions)?{}:this.resource_linker[resource_id].restrictions;permissions["user_level"]=permissions["user_level"]?permissions["user_level"]:{};permissions["user_level"]["read_only"]=permissions["user_level"]["read_only"]?permissions["user_level"]["read_only"]:[];var found=false;for(var i=0;i<permissions["user_level"]["read_only"].length;i++){if(permissions["user_level"]["read_only"][i]["site_id"]==this.site_id){permissions["user_level"]["read_only"]=Basis.array_delete_index(permissions["user_level"]["read_only"],i);continue;}}
permissions["user_level"]["read_only"].push({"site_id":this.site_id,"user_level":read_only_access.options[read_only_access.selectedIndex].value});this.resource_linker[resource_id].restrictions=permissions;if(this.user_levels[Basis.select_get_selected_value(full_access)]<this.user_levels[Basis.select_get_selected_value(read_only_access)]){full_access.selectedIndex=read_only_access.selectedIndex;full_access.onchange(false);var permissions=this.resource_linker[resource_id].restrictions;}
if(save_via_ajax){var a=this.custom_ajax_action("set_resource_permissions",resource_id,permissions,false,lock_icon);a.addCallback(bind(partial(function(resource_id,lock_icon){var content=this.tiles.ui.tiles[this.tiles.ui.current_tile-1].firstChild.content;Basis.remove_children(content);content.appendChild(this.render_view("DEFAULT","resource_permissions_1_tile",resource_id,lock_icon));},resource_id,lock_icon),this));}},resource_id,read_only_access,full_access,lock_icon),this);full_access.onchange=bind(partial(function(resource_id,read_only_access,full_access,lock_icon,save_via_ajax){var save_via_ajax=(save_via_ajax==false)?false:true;var permissions=MochiKit.Base.isArrayLike(this.resource_linker[resource_id].restrictions)?{}:this.resource_linker[resource_id].restrictions;permissions["user_level"]=permissions["user_level"]?permissions["user_level"]:{};permissions["user_level"]["full_access"]=permissions["user_level"]["full_access"]?permissions["user_level"]["full_access"]:[];var found=false;for(var i=0;i<permissions["user_level"]["full_access"].length;i++){if(permissions["user_level"]["full_access"][i]["site_id"]==this.site_id){permissions["user_level"]["full_access"]=Basis.array_delete_index(permissions["user_level"]["full_access"],i);continue;}}
permissions["user_level"]["full_access"].push({"site_id":this.site_id,"user_level":full_access.options[full_access.selectedIndex].value});this.resource_linker[resource_id].restrictions=permissions;if(this.user_levels[Basis.select_get_selected_value(full_access)]<this.user_levels[Basis.select_get_selected_value(read_only_access)]){read_only_access.selectedIndex=full_access.selectedIndex;read_only_access.onchange(false);var permissions=this.resource_linker[resource_id].restrictions;}
if(save_via_ajax){var a=this.custom_ajax_action("set_resource_permissions",resource_id,permissions,false,lock_icon);a.addCallback(bind(partial(function(resource_id,lock_icon){var content=this.tiles.ui.tiles[this.tiles.ui.current_tile-1].firstChild.content;Basis.remove_children(content);content.appendChild(this.render_view("DEFAULT","resource_permissions_1_tile",resource_id,lock_icon));},resource_id,lock_icon),this));}},resource_id,read_only_access,full_access,lock_icon),this);var content=DIV(null,P({"style":"text-align: center;"},"Users will need to be at least this user level to access this "+this.resource_type_text(resource_id).toLowerCase()+":"),P({"style":"text-align: center;"},read_only_access),P({"style":"text-align: center;"},"Users will need to be at least this user level to modify or delete this "+this.resource_type_text(resource_id).toLowerCase()+":"),P({"style":"text-align: center;"},full_access),P({"style":"text-align: center;"},"Or"),P({"style":"text-align: center;"},button_advanced));var index=this.render_view("DEFAULT","default",this.resource_display_text(resource_id),content);this.tiles.ui.go_to(index);},this));this.set_custom_view_renderer("DEFAULT","resource_alerts",bind(function(mode,resource_id){var mode=(mode!==null)?mode:"page";if(mode&&resource_id){var alerts=this.resource_linker[resource_id]["alerts"];var users_list_tab=INPUT({"type":"button","value":"Users"});var groups_list_tab=INPUT({"type":"button","value":"Groups"});var contacts_list_tab=INPUT({"type":"button","value":"Contacts"});var search_list_contents=DIV({"style":"overflow-y: auto; border: 1px solid #c0c0c0;"});var to_alert_contents=DIV({"style":"overflow-y: auto; border: 1px solid #c0c0c0;"});var users_list=new Basis.grid_control.generic_resource.simplified({"dashboard":this});users_list.resource_type="USER";users_list.grid_control.elements["container_output"]=search_list_contents;users_list_tab.onclick=bind(partial(function(container_output){search_list_contents.list=this;this.grid_control.elements["list_output"]=null;this.grid_control.elements["container_output"]=search_list_contents;this.render();},search_list_contents),users_list);var groups_list=new Basis.grid_control.generic_resource.simplified({"dashboard":this});groups_list.resource_type="GROUP";groups_list.grid_control.elements["container_output"]=search_list_contents;groups_list_tab.onclick=bind(partial(function(container_output){search_list_contents.list=this;this.grid_control.elements["list_output"]=null;this.grid_control.elements["container_output"]=search_list_contents;this.render();},search_list_contents),groups_list);var contacts_list=new Basis.grid_control.generic_resource.simplified({"dashboard":this});contacts_list.resource_type="CONTACT.V2";contacts_list.grid_control.elements["container_output"]=search_list_contents;contacts_list_tab.onclick=bind(partial(function(container_output){search_list_contents.list=this;this.grid_control.elements["list_output"]=null;this.grid_control.elements["container_output"]=search_list_contents;this.render();},search_list_contents),contacts_list);var to_alert=new Basis.grid_control.generic_resource.simplified({"dashboard":this});to_alert.grid_control.elements["container_output"]=to_alert_contents;to_alert.render();var users_list_ajax=users_list.grid_control.fetch_raw_data("USER");var groups_list_ajax=groups_list.grid_control.fetch_raw_data("GROUP");var contacts_list_ajax=contacts_list.grid_control.fetch_raw_data("CONTACT.V2");var after_fetch=new MochiKit.Async.DeferredList([users_list_ajax,groups_list_ajax,contacts_list_ajax]);if(alerts&&alerts.length){after_fetch.addCallback(partial(function(alerts,to_alert,users_list,groups_list,contacts_list){for(var i=0;i<alerts.length;i++){var resource_id=Basis._int(alerts[i]);var lists=[users_list,groups_list,contacts_list];for(var x=0;x<lists.length;x++){if(lists[x].grid_control.raw_data[resource_id]){to_alert.grid_control.raw_data[resource_id]=lists[x].grid_control.raw_data[resource_id];delete lists[x].grid_control.raw_data[resource_id];}}}
for(var x=0;x<lists.length;x++){lists[x].grid_control.currently_selected=[];lists[x].grid_control.clear_cached_datasets();to_alert.grid_control.clear_cached_datasets();lists[x].grid_control.refresh();to_alert.grid_control.refresh();}},alerts,to_alert,users_list,groups_list,contacts_list));}
after_fetch.addCallback(bind(function(){this.onclick();},users_list_tab));var button_to_alert=INPUT({"type":"button","value":"Add To Alerts"});var button_to_alert_remove_selected=INPUT({"type":"button","value":"Remove Selected"});to_alert.render();var dummy={};MochiKit.Signal.connect(dummy,"save",bind(partial(function(resource_id,to_alert){var alerts=[];var keys=Basis.keys(to_alert.grid_control.raw_data);for(var i=0;i<keys.length;i++){alerts.push(keys[i]);}
this.attempt_save(bind(partial(function(resource_id,alerts){this.custom_ajax_action("save_resource_alerts",resource_id,alerts);},resource_id,alerts),this));},resource_id,to_alert),this));Basis.signal_handler.connect(button_to_alert,"onclick.greedy.swallow",bind(partial(function(dummy,search_list_contents,to_alert){var list=search_list_contents.list;if(list){var resources=list.grid_control.currently_selected;for(var i=0;i<resources.length;i++){to_alert.grid_control.raw_data[resources[i]]=list.grid_control.raw_data[resources[i]];}
list.grid_control.currently_selected=[];list.grid_control.clear_cached_datasets();to_alert.grid_control.clear_cached_datasets();list.grid_control.refresh();to_alert.grid_control.refresh();}
MochiKit.Signal.signal(dummy,"save");},dummy,search_list_contents,to_alert),this),false);Basis.signal_handler.connect(button_to_alert_remove_selected,"onclick",bind(partial(function(dummy,search_list_contents,to_alert){var list=to_alert;if(list&&search_list_contents.list){var resources=list.grid_control.currently_selected;for(var i=0;i<resources.length;i++){search_list_contents.list.grid_control.raw_data[resources[i]]=list.grid_control.raw_data[resources[i]];delete list.grid_control.raw_data[resources[i]];}
list.grid_control.currently_selected=[];list.grid_control.clear_cached_datasets();search_list_contents.list.grid_control.clear_cached_datasets();list.grid_control.refresh();search_list_contents.list.grid_control.refresh();}
MochiKit.Signal.signal(dummy,"save");},dummy,search_list_contents,to_alert),this),false);var table=TABLE({"width":"100%","cellpadding":"10"},TBODY(null,TR(null,TD({"width":"50%","style":"vertical-align: top;"},DIV(null,users_list_tab,groups_list_tab,contacts_list_tab),search_list_contents,DIV({"style":"text-align: center;"},button_to_alert)),TD({"width":"50%","style":"vertical-align: top;"},DIV({"style":"padding: 3px;"},STRONG(null,"Will be alerted when anything about this changes:")),to_alert_contents,DIV({"style":"text-align: center;"},button_to_alert_remove_selected)))));var ui=table;Basis.register_size_constraints(table,"100%","100%");Basis.register_size_constraints(search_list_contents,"100%","100%");Basis.register_size_constraints(to_alert_contents,"100%","100%");return ui;}},this));Basis.state_handler.add_state("DEFAULT_resource_consent_tile");this.set_custom_view_renderer("DEFAULT","resource_consent_tile",bind(function(mode,resource_id,lock_icon){Basis.state_handler.enter_state("DEFAULT_resource_consent_tile");Basis.block_updating_live_dom();var index=this.render_view("DEFAULT","default",this.resource_display_text(resource_id),this.render_view("DEFAULT","resource_consent",mode,resource_id,lock_icon));Basis.unblock_updating_live_dom();this.tiles.ui.go_to(index);},this));this.set_custom_view_renderer("DEFAULT","resource_consent",bind(function(mode,resource_id,lock_icon){var mode=(mode!==null)?mode:"page";if(mode&&resource_id){var permissions=this.resource_linker[resource_id]["restrictions"];var users_list_tab=INPUT({"type":"button","value":"Users"});var groups_list_tab=INPUT({"type":"button","value":"Groups"});var search_list_contents=DIV({"style":"overflow-y: auto; border: 1px solid #c0c0c0;"});var read_only_contents=DIV({"style":"overflow-y: auto; border: 1px solid #c0c0c0;"});var full_access_contents=DIV({"style":"overflow-y: auto; border: 1px solid #c0c0c0;"});var users_list=new Basis.grid_control.generic_resource.simplified({"dashboard":this});users_list.resource_type="USER";users_list.grid_control.elements["container_output"]=search_list_contents;users_list_tab.onclick=bind(partial(function(container_output){search_list_contents.list=this;this.grid_control.elements["list_output"]=null;this.grid_control.elements["container_output"]=search_list_contents;this.render();},search_list_contents),users_list);var groups_list=new Basis.grid_control.generic_resource.simplified({"dashboard":this});groups_list.resource_type="GROUP";groups_list.grid_control.elements["container_output"]=search_list_contents;groups_list_tab.onclick=bind(partial(function(container_output){search_list_contents.list=this;this.grid_control.elements["list_output"]=null;this.grid_control.elements["container_output"]=search_list_contents;this.render();},search_list_contents),groups_list);var read_only=new Basis.grid_control.generic_resource.simplified({"dashboard":this});read_only.grid_control.elements["container_output"]=read_only_contents;var full_access=new Basis.grid_control.generic_resource.simplified({"dashboard":this});full_access.grid_control.elements["container_output"]=full_access_contents;var users_list_ajax=users_list.grid_control.fetch_raw_data("USER");var groups_list_ajax=groups_list.grid_control.fetch_raw_data("GROUP");var after_fetch=new MochiKit.Async.DeferredList([users_list_ajax,groups_list_ajax]);after_fetch.addCallback(bind(function(){this.onclick();},users_list_tab));if(permissions){after_fetch.addCallback(bind(partial(function(permissions,read_only,full_access,users_list,groups_list,dashboard){var lists=[users_list,groups_list];if(permissions["user_specific"]&&permissions["user_specific"]["read_only"]){var list=permissions["user_specific"]["read_only"];for(var i=0;i<list.length;i++){var user_resource_id=Basis._int(this.get_resource_id_by_type_and_id("USER",list[i]));if(Basis.is_number(user_resource_id)){for(var x=0;x<lists.length;x++){if(lists[x].grid_control.raw_data[user_resource_id]){read_only.grid_control.raw_data[user_resource_id]=lists[x].grid_control.raw_data[user_resource_id];delete lists[x].grid_control.raw_data[user_resource_id];}}}}}
if(permissions["user_specific"]&&permissions["user_specific"]["full_access"]){var list=permissions["user_specific"]["full_access"];for(var i=0;i<list.length;i++){var user_resource_id=Basis._int(this.get_resource_id_by_type_and_id("USER",list[i]));if(Basis.is_number(user_resource_id)){for(var x=0;x<lists.length;x++){if(lists[x].grid_control.raw_data[user_resource_id]){full_access.grid_control.raw_data[user_resource_id]=lists[x].grid_control.raw_data[user_resource_id];delete lists[x].grid_control.raw_data[user_resource_id];}}}}}
if(permissions["group"]&&permissions["group"]["read_only"]){var list=permissions["group"]["read_only"];for(var i=0;i<list.length;i++){for(var x=0;x<lists.length;x++){var resource_id=list[i];if(lists[x].grid_control.raw_data[resource_id]){read_only.grid_control.raw_data[resource_id]=lists[x].grid_control.raw_data[resource_id];delete lists[x].grid_control.raw_data[resource_id];}}}}
if(permissions["group"]&&permissions["group"]["full_access"]){var list=permissions["group"]["full_access"];for(var i=0;i<list.length;i++){var resource_id=list[i];for(var x=0;x<lists.length;x++){if(lists[x].grid_control.raw_data[resource_id]){full_access.grid_control.raw_data[resource_id]=lists[x].grid_control.raw_data[resource_id];delete lists[x].grid_control.raw_data[resource_id];}}}}
for(var x=0;x<lists.length;x++){lists[x].grid_control.currently_selected=[];lists[x].grid_control.clear_cached_datasets();read_only.grid_control.clear_cached_datasets();full_access.grid_control.clear_cached_datasets();lists[x].grid_control.refresh();read_only.grid_control.refresh();full_access.grid_control.refresh();}},permissions,read_only,full_access,users_list,groups_list),this));}
var button_full_access=INPUT({"type":"button","value":"Full Access"});var button_read_only=INPUT({"type":"button","value":"Read Only"});var button_remove_all=INPUT({"type":"button","value":"Remove All Permissions","style":"width: 100%;"});var button_read_only_remove_selected=INPUT({"type":"button","value":"Remove Selected"});var button_full_access_remove_selected=INPUT({"type":"button","value":"Remove Selected"});read_only.render();full_access.render();var dummy={};MochiKit.Signal.connect(dummy,"save",bind(partial(function(resource_id,full_access,read_only,lock_icon){var permissions=MochiKit.Base.isArrayLike(this.resource_linker[resource_id]["restrictions"])?{}:this.resource_linker[resource_id]["restrictions"];permissions=Basis.is_object(permissions)?permissions:{};var keys=Basis.keys(read_only.grid_control.raw_data);for(var i=0;i<keys.length;i++){if(this.resource_linker[keys[i]]){switch(this.resource_linker[keys[i]]["type"]){case"USER":permissions["user_specific"]=permissions["user_specific"]?permissions["user_specific"]:{};permissions["user_specific"]["read_only"]=permissions["user_specific"]["read_only"]?permissions["user_specific"]["read_only"]:[];if(Basis.array_search(permissions["user_specific"]["read_only"],this.resource_linker[keys[i]]["misc_vars"]["id"])==null){permissions["user_specific"]["read_only"].push(this.resource_linker[keys[i]]["misc_vars"]["id"]);}
break;case"GROUP":permissions["group"]=permissions["group"]?permissions["group"]:{};permissions["group"]["read_only"]=permissions["group"]["read_only"]?permissions["group"]["read_only"]:[];if(Basis.array_search(permissions["group"]["read_only"],keys[i])==null){permissions["group"]["read_only"].push(keys[i]);}
break;}}}
var keys=Basis.keys(full_access.grid_control.raw_data);for(var i=0;i<keys.length;i++){if(this.resource_linker[keys[i]]){switch(this.resource_linker[keys[i]]["type"]){case"USER":permissions["user_specific"]=permissions["user_specific"]?permissions["user_specific"]:{};permissions["user_specific"]["full_access"]=permissions["user_specific"]["full_access"]?permissions["user_specific"]["full_access"]:[];if(Basis.array_search(permissions["user_specific"]["full_access"],this.resource_linker[keys[i]]["misc_vars"]["id"])==null){permissions["user_specific"]["full_access"].push(this.resource_linker[keys[i]]["misc_vars"]["id"]);}
break;case"GROUP":permissions["group"]=permissions["group"]?permissions["group"]:{};permissions["group"]["full_access"]=permissions["group"]["full_access"]?permissions["group"]["full_access"]:[];if(Basis.array_search(permissions["group"]["full_access"],keys[i])==null){permissions["group"]["full_access"].push(keys[i]);}
break;}}}
this.attempt_save(bind(partial(function(resource_id,permissions,lock_icon){this.custom_ajax_action("set_resource_permissions",resource_id,permissions,false,lock_icon);},resource_id,permissions,lock_icon),this));},resource_id,full_access,read_only,lock_icon),this));Basis.signal_handler.connect(button_full_access,"onclick.greedy.swallow",bind(partial(function(dummy,search_list_contents,full_access){var list=search_list_contents.list;if(list){var resources=list.grid_control.currently_selected;for(var i=0;i<resources.length;i++){full_access.grid_control.raw_data[resources[i]]=list.grid_control.raw_data[resources[i]];delete list.grid_control.raw_data[resources[i]];}
list.grid_control.currently_selected=[];list.grid_control.clear_cached_datasets();full_access.grid_control.clear_cached_datasets();list.grid_control.refresh();full_access.grid_control.refresh();}
MochiKit.Signal.signal(dummy,"save");},dummy,search_list_contents,full_access),this),false);Basis.signal_handler.connect(button_read_only,"onclick.greedy.swallow",bind(partial(function(dummy,search_list_contents,read_only){var list=search_list_contents.list;if(list){var resources=list.grid_control.currently_selected;for(var i=0;i<resources.length;i++){read_only.grid_control.raw_data[resources[i]]=list.grid_control.raw_data[resources[i]];delete list.grid_control.raw_data[resources[i]];}
list.grid_control.currently_selected=[];list.grid_control.clear_cached_datasets();read_only.grid_control.clear_cached_datasets();list.grid_control.refresh();read_only.grid_control.refresh();}
MochiKit.Signal.signal(dummy,"save");},dummy,search_list_contents,read_only),this),false);Basis.signal_handler.connect(button_full_access_remove_selected,"onclick",bind(partial(function(dummy,resource_id,search_list_contents,full_access,users_list,groups_list){var permissions=this.resource_linker[resource_id]["restrictions"];var list=full_access;if(list&&search_list_contents.list){var resources=list.grid_control.currently_selected;for(var i=0;i<resources.length;i++){switch(this.resource_linker[resources[i]]["type"]){case"USER":users_list.grid_control.raw_data[resources[i]]=list.grid_control.raw_data[resources[i]];break;case"GROUP":groups_list.grid_control.raw_data[resources[i]]=list.grid_control.raw_data[resources[i]];break;}
delete list.grid_control.raw_data[resources[i]];if(this.resource_linker[resource_id]){switch(this.resource_linker[resources[i]]["type"]){case"USER":permissions["user_specific"]=permissions["user_specific"]?permissions["user_specific"]:{};permissions["user_specific"]["full_access"]=permissions["user_specific"]["full_access"]?permissions["user_specific"]["full_access"]:[];permissions["user_specific"]["full_access"]=Basis.array_delete_value(permissions["user_specific"]["full_access"],this.resource_linker[resources[i]]["misc_vars"]["id"]);break;case"GROUP":permissions["group"]=permissions["group"]?permissions["group"]:{};permissions["group"]["full_access"]=permissions["group"]["full_access"]?permissions["group"]["full_access"]:[];permissions["group"]["full_access"]=Basis.array_delete_value(permissions["group"]["full_access"],resources[i]);break;}}}
list.grid_control.currently_selected=[];list.grid_control.clear_cached_datasets();search_list_contents.list.grid_control.clear_cached_datasets();users_list.grid_control.clear_cached_datasets();groups_list.grid_control.clear_cached_datasets();list.grid_control.refresh();search_list_contents.list.grid_control.refresh();}
this.resource_linker[resource_id]["restrictions"]=permissions;MochiKit.Signal.signal(dummy,"save");},dummy,resource_id,search_list_contents,full_access,users_list,groups_list),this),false);Basis.signal_handler.connect(button_read_only_remove_selected,"onclick",bind(partial(function(dummy,resource_id,search_list_contents,read_only,users_list,groups_list){var permissions=this.resource_linker[resource_id]["restrictions"];var list=read_only;if(list&&search_list_contents.list){var resources=list.grid_control.currently_selected;for(var i=0;i<resources.length;i++){switch(this.resource_linker[resources[i]]["type"]){case"USER":users_list.grid_control.raw_data[resources[i]]=list.grid_control.raw_data[resources[i]];break;case"GROUP":groups_list.grid_control.raw_data[resources[i]]=list.grid_control.raw_data[resources[i]];break;}
delete list.grid_control.raw_data[resources[i]];if(this.resource_linker[resources[i]]){switch(this.resource_linker[resources[i]]["type"]){case"USER":permissions["user_specific"]=permissions["user_specific"]?permissions["user_specific"]:{};permissions["user_specific"]["read_only"]=permissions["user_specific"]["read_only"]?permissions["user_specific"]["read_only"]:[];permissions["user_specific"]["read_only"]=Basis.array_delete_value(permissions["user_specific"]["read_only"],this.resource_linker[resources[i]]["misc_vars"]["id"]);break;case"GROUP":permissions["group"]=permissions["group"]?permissions["group"]:{};permissions["group"]["read_only"]=permissions["group"]["read_only"]?permissions["group"]["read_only"]:[];permissions["group"]["read_only"]=Basis.array_delete_value(permissions["group"]["read_only"],resources[i]);break;}}}
list.grid_control.currently_selected=[];list.grid_control.clear_cached_datasets();search_list_contents.list.grid_control.clear_cached_datasets();users_list.grid_control.clear_cached_datasets();groups_list.grid_control.clear_cached_datasets();list.grid_control.refresh();search_list_contents.list.grid_control.refresh();}
this.resource_linker[resource_id]["restrictions"]=permissions;MochiKit.Signal.signal(dummy,"save");},dummy,resource_id,search_list_contents,read_only,users_list,groups_list),this),false);var table=TABLE({"width":"100%","cellpadding":"10"},TBODY(null,TR(null,TD({"width":"50%","style":"vertical-align: top;"},DIV(null,users_list_tab,groups_list_tab),search_list_contents,DIV({"style":"text-align: center;"},"Give: ",button_full_access,button_read_only)),TD({"width":"50%","style":"vertical-align: top;"},DIV({"style":"padding: 3px;"},STRONG(null,"Full Access")),full_access_contents,DIV({"style":"text-align: center;"},button_full_access_remove_selected),DIV({"style":"padding: 3px;"},STRONG(null,"Read Only")),read_only_contents,DIV({"style":"text-align: center;"},button_read_only_remove_selected),null))));var maximize=IMG({"src":"images/images/default_icons/png/arrow_out.png","style":"cursor: pointer"});var ui=DIV(null,DIV({"style":"text-align: right; padding: 0px; padding-right: 10px; padding-top: 10px;"},maximize),table);Basis.signal_handler.connect(maximize,"onclick",partial(function(element){Basis.make_element_fullscreen(element);},table),false);Basis.register_size_constraints(ui,"100%","100%");Basis.register_size_constraints(table,"100%","100%");Basis.register_size_constraints(search_list_contents,"100%","100%");Basis.register_size_constraints(full_access_contents,"100%","50%");Basis.register_size_constraints(read_only_contents,"100%","100%");return ui;}},this));this.set_custom_view_renderer("DEFAULT","resource_with_icon",bind(function(resource_id,clickable,overriding_resource_name){var clickable=(clickable===true)?((this.resource_linker[resource_id]&&this.resource_linker[resource_id]["resource_access"]&&(this.resource_linker[resource_id]["resource_access"]["read_only"]||this.resource_linker[resource_id]["resource_access"]["full_access"]))?true:false):false;var resource=this.resource_linker[resource_id];if(resource){switch(resource["type"]){case"FILE":var icon=resource["misc_vars"]["icon"];break;default:var icon=this.get_view_association_icon(resource_id);break;}
var resource_name=SPAN({"id":("resource_"+resource_id)},overriding_resource_name?overriding_resource_name:this.resource_display_text(resource_id));var resource_link=TABLE({"border":"0","cellpadding":"2","cellspacing":"0","style":""},TBODY(null,TR(null,TD({"width":"20"},IMG({"src":icon})),TD({},resource_name))));if(clickable){if(resource_link&&resource_link.style){resource_link.style.cursor="pointer";}
Basis.signal_handler.connect(resource_link,"onclick.greedy.swallow",bind(partial(function(resource_id){this.show_resource(resource_id);},resource_id),this),false);}
return resource_link;}
return null;},this));this.set_custom_view_renderer("DEFAULT","coming_soon",bind(function(section_name){this.resource_id=null;this.reset_states();Basis.state_handler.enter_state("DEFAULT_coming_soon");this.populate_submenu("collaborate",section_name);this.tiles.ui.clear_all_tiles();var index=this.render_view("DEFAULT","default","Coming Soon!",DIV(null,"Coming soon!"));this.tiles.ui.go_to(index);},this));this.set_custom_view_renderer("DEFAULT","deleted_resource_with_icon",bind(function(resource_type,resource_text){if(resource_type&&resource_text){var icon=this.get_view_association_icon(resource_type,true);return TABLE({"border":"0","cellpadding":"2","cellspacing":"0","style":""},TBODY(null,TR(null,TD({"width":"20"},IMG({"src":icon})),TD({"style":"color: #999999;"},resource_text))));}
return null;},this));this.set_custom_view_renderer("DEFAULT","browser_row",bind(function(resource_id,options){var options=options?options:{};var resource=this.resource_linker[resource_id];if(resource){var id=resource_id+"_browser_row";var resource_name=this.render_view("DEFAULT","resource_with_icon",resource_id);var manage_resources=null;var associate_button=null;var item=DIV({"id":id,"class":"Basis.dashboard.resource_browser.resource"},TABLE({"width":"100%","border":"0","cellpadding":"2","cellspacing":"0","style":""},TBODY(null,TR(null,TD(null,resource_name),TD({"width":"20","style":"text-align: right; cursor: pointer;"},manage_resources),TD({"width":"20","style":"text-align: right; cursor: pointer;"},associate_button)))));Basis.signal_handler.connect(item,"onmouseenter",bind(function(){MochiKit.DOM.addElementClass(this,"Basis.dashboard.resource_browser.resource.selected");},item),false);Basis.signal_handler.connect(item,"onmouseleave",bind(function(){MochiKit.DOM.removeElementClass(this,"Basis.dashboard.resource_browser.resource.selected");},item),false);Basis.set_style(resource_name,{"cursor":"pointer"});Basis.signal_handler.connect(resource_name,"onclick.greedy",bind(partial(function(resource_id){if(resource_id&&this.resource_linker[resource_id]){Basis.block_updating_live_dom();var detail=this.render_view("DEFAULT","resource_detail",resource_id);var index=this.render_view("DEFAULT","default",this.resource_display_text(resource_id),detail);detail.menu.highlight_item(0);this.tiles.ui.go_to(index);this.tiles.ui.tiles[index].content=detail;Basis.unblock_updating_live_dom();Basis.updated_live_dom();}},resource_id),this),false);return item;}},this));this.set_custom_view_renderer("DEFAULT","default",bind(function(tile_name,tile_contents,ui_or_wizard){switch(ui_or_wizard){case"ui":case"wizard":break;default:var ui_or_wizard="ui";break;}
var go_back=(this.tiles[ui_or_wizard].tiles.length>0)?true:false;var go_back_text=(go_back)?this.tiles[ui_or_wizard].tiles[this.tiles[ui_or_wizard].tiles.length-1].name:null;var go_back_icon="images/images/default_icons/png/resultset_previous.png";var tile=this.tiles[ui_or_wizard].create_tile();tile.name=tile_name;var default_screen=this.default_screen(tile.name,go_back,go_back_text,go_back_icon);Basis.signal_handler.connect(default_screen.header.go_back_icon,"onclick.greedy.swallow",bind(function(){this.tiles[ui_or_wizard].back();},this),false);Basis.signal_handler.connect(default_screen.header.go_back,"onclick.greedy.swallow",bind(function(){this.tiles[ui_or_wizard].back();},this),false);tile.appendChild(default_screen);var index=this.tiles[ui_or_wizard].push_tile(tile);tile.hide_when_sliding=tile.firstChild.content;Basis.convert_div_to_box(tile.firstChild.content);if(tile_contents){tile.firstChild.content.appendChild(tile_contents);}
MochiKit.Style.resizeConstrainedElements();Basis.updated_live_dom();return index;},this));this.set_custom_view_renderer("DEFAULT","resource_detail",bind(function(resource_id,return_content_only,content_container){var return_content_only=(return_content_only!==null)?return_content_only:false;if(resource_id&&this.resource_linker[resource_id]){var resource=this.resource_linker[resource_id];this.resource_id=resource_id;if(!return_content_only){var menu=this.create_menu(resource_id+"_resource_detail");var menu_right=this.create_menu(resource_id+"_resource_detail_right",true,false);menu_right.add_menu_item("button_link","Link to This",bind(partial(function(resource_id){var url=(Basis.preserve_url_path()+"/dashboard.php?load=resource&id="+resource_id);prompt("The text below is a direct link to this "+this.resource_type_text(resource_id)+". (Ctrl-C to Copy, Ctrl-V to Paste)",url);},resource_id),this));var button_history=INPUT({"type":"button","value":"History"});button_history.disabled=true;var button_remove=INPUT({"type":"button","value":"Remove"});button_remove.disabled=true;var button_delete=INPUT({"type":"button","value":"Delete"});button_delete.disabled=true;var content_container=content_container?content_container:DIV({"style":"overflow-y: auto; border-bottom: 1px solid #c8c8c8;"},content);switch(this.resource_linker[resource_id]["type"]){case"TASK_LIST":case"CONTACT_LIST":menu.add_menu_item("button_list","List",bind(partial(function(resource_id,container){Basis.remove_children(container);var content=this.render_view("DEFAULT","resource_detail",resource_id,true,container);container.appendChild(content);MochiKit.Style.resizeConstrainedElements();Basis.updated_live_dom();},resource_id,content_container),this));menu.add_menu_item("button_info","Info",bind(partial(function(resource_id,container){Basis.remove_children(container);var content=DIV(null,TABLE({"border":"0","cellpadding":"10","cellspacing":"0","width":"100%","style":"border-bottom: 1px solid #c0c0c0;","class":"resource_detail"},TBODY(null,TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},SPAN({"class":"resource_title"},this.resource_display_text(resource_id))),TD({"style":"border-bottom: 1px solid #c8c8c8;","align":"right"},Basis.nbsp())),TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},this.render_view("DEFAULT","resource_alerts_button",resource_id)),TD({"style":"border-bottom: 1px solid #c8c8c8;","align":"right"},Basis.nbsp())),TR(null,TD({"style":"vertical-align: top;"},FIELDSET({"style":"border: 1px solid #c0c0c0;"},LEGEND(null,STRONG("Who Can Access This "+this.resource_type_text(resource_id)+"?")),this.render_view("DEFAULT","resource_permissions_1_tile",resource_id))),TD({"style":"vertical-align: top;"},FIELDSET({"style":"border: 1px solid #c0c0c0;"},LEGEND(null,STRONG("Who Is Connected To This "+this.resource_type_text(resource_id)+"?")),TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: top; border-right: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","GROUP",resource_id)),TD({"style":"vertical-align: top;"},this.render_view("DEFAULT","resource_type_associator","USER",resource_id)))))))))));container.appendChild(content);MochiKit.Style.resizeConstrainedElements();Basis.updated_live_dom();},resource_id,content_container),this));break;default:menu.add_menu_item("button_info","Info",bind(partial(function(resource_id,container){Basis.remove_children(container);var content=this.render_view("DEFAULT","resource_detail",resource_id,true,container);container.appendChild(content);MochiKit.Style.resizeConstrainedElements();Basis.updated_live_dom();},resource_id,content_container),this));break;}
if(this.resource_linker[resource_id]["type"]!="DISCUSSION"){menu.add_menu_item("button_notes","Notes",bind(partial(function(resource_id,dashboard){Basis.remove_children(this);var header=DIV();this.appendChild(header);notes=new Basis.discussion_board();notes.resource_id=resource_id;notes.logged_in=true;notes.is_collapsible=false;notes.is_admin=true;notes.is_moderated=false;notes.title="Notes";notes.content_element=header;notes.compile();},resource_id,this),content_container));}}
switch(this.resource_linker[resource_id]["type"]){case"CONTACT_LIST":var content=SPAN();var contact_list=new Basis.grid_control.contact_list({"dashboard":this,"num_per_page":50});contact_list.grid_control.contact_list_resource_id=resource_id;contact_list.grid_control.elements["container_output"]=content_container;var a=contact_list.grid_control.fetch_raw_data();a.addCallback(bind(partial(function(dashboard){this.render();this.grid_control.fetch_groups();dashboard.system_log("Contact list loaded successfully",true);},this),contact_list));content_container.contact_list=contact_list;break;case"DISCUSSION":var content=DIV();notes=new Basis.discussion_board();notes.resource_id=resource_id;notes.logged_in=true;notes.is_collapsible=false;notes.is_admin=true;notes.is_moderated=false;notes.content_element=content;notes.compile();break;case"TASK_LIST":var content=SPAN();var task_list=new Basis.grid_control.task_list({"dashboard":this,"num_per_page":50});task_list.grid_control.task_list_resource_id=resource_id;task_list.grid_control.elements["container_output"]=content_container;var a=task_list.grid_control.fetch_raw_data();a.addCallback(bind(partial(function(dashboard){this.render();this.grid_control.fetch_groups();dashboard.system_log("Task list '[NAME]' loaded successfully",true);},this),task_list));content_container.task_list=task_list;break;case"LIST":var content=SPAN();var list=new Basis.grid_control.generic_resource({"dashboard":this,"num_per_page":50});list.grid_control.fetch_raw_data=bind(partial(function(resource_type){if(this.dashboard){this.raw_data={};this.group_map={};var site_resource_id=null;var keys=Basis.keys(this.dashboard.available_resources["SITE"]);for(var i=0;i<keys.length;i++){if(Basis._int(this.dashboard.available_resources["SITE"][keys[i]]["misc_vars"]["id"])==Basis._int(this.dashboard.site_id)){site_resource_id=keys[i];}}
if(site_resource_id){var keys=Basis.keys(this.dashboard.resource_linker[site_resource_id]["associated_resources"][resource_type]);keys=keys?keys:[];for(var i=0;i<keys.length;i++){if(this.dashboard.resource_linker[keys[i]]&&this.dashboard.resource_linker[keys[i]]["associated_resources"]){this.raw_data[keys[i]]={"display_text":this.dashboard.resource_display_text(keys[i])};this.group_map[keys[i]]=Basis.keys(this.dashboard.resource_linker[keys[i]]["associated_resources"]["GROUP"]);}}}
return new MochiKit.Async.succeed();}else{var to_post={"resource_type":resource_type};var as=new Basis.ajax_scaffold;as.alias="get_raw_resource_data";as.list=this;as.on_success=function(req){var raw_data=MochiKit.Base.evalJSON(req.responseText);this.list.raw_data=raw_data["raw_data"];this.list.group_map=raw_data["group_map"];window.status="Done";};return as.post({"to_post":to_post});}},"LIST_ITEM"),list.grid_control);list.resource_type="LIST_ITEM";list.grid_control.list_resource_id=resource_id;list.grid_control.elements["container_output"]=content_container;var a=list.grid_control.fetch_raw_data();a.addCallback(bind(partial(function(dashboard){this.render();this.grid_control.fetch_groups();dashboard.system_log("List list '[NAME]' loaded successfully",true);},this),list));content_container.list=list;break;case"IMAGE_GALLERY":var content=SPAN(null,"I will load an image gallery.");break;case"ALERT":var edit_button=INPUT({"type":"button","value":"Edit"});Basis.signal_handler.connect(edit_button,"onclick",bind(partial(function(resource_id,menu){var list=this.tiles.ui.tiles[this.tiles.ui.current_tile-1].list;if(!list){var list=new Basis.grid_control.generic_resource({"dashboard":this,"num_per_page":50});list.grid_control.grid_field_map={"type":{"text":"Type","type":"text","field":"type"},"date_from":{"text":"Remind Me On","type":"text","field":"date_from"},"date_to":{"text":"Through This Date","type":"text","field":"date_to"},"time":{"text":"At This Time","type":"text","field":"time"},"notes":{"text":"Notes","type":"text","field":"notes"},"disabled":{"text":"Disabled","type":"select","array":{"yes":"Yes","no":"No"},"field":"disabled"}};}
this.run_wizard("ALERT",{"grid_control":list.grid_control,"data_row":this.resource_linker[resource_id]["misc_vars"],"resource_id":resource_id,"target_resource_id":this.resource_linker[resource_id]["misc_vars"]["attached_to_resource_id"],"mode":"edit"});},resource_id,menu),this),false);var list=new Basis.grid_control.generic_resource({"dashboard":this,"num_per_page":50});list.grid_control.grid_field_map={"type":{"text":"Type","type":"text","field":"type"},"date_from":{"text":"Remind Me On","type":"text","field":"date_from"},"date_to":{"text":"Through This Date","type":"text","field":"date_to"},"time":{"text":"At This Time","type":"text","field":"time"},"notes":{"text":"Notes","type":"text","field":"notes"},"disabled":{"text":"Disabled","type":"select","array":{"yes":"Yes","no":"No"},"field":"disabled"}};var data=bind(partial(function(data,field){return this.grid_control.get_master_field_data(field,data)},this.resource_linker[resource_id]["misc_vars"]),list);switch(this.resource_linker[resource_id]["misc_vars"]["type"]){case"alert":var attached_to=this.render_view("DEFAULT","resource_with_icon",this.resource_linker[resource_id]["misc_vars"]["attached_to_resource_id"],true);var content=DIV(null,TABLE({"border":"0","cellpadding":"10","cellspacing":"0","width":"100%","class":"resource_detail"},TBODY(null,TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},SPAN({"class":"resource_title"},this.resource_display_text(resource_id))),TD({"style":"border-bottom: 1px solid #c8c8c8;","align":"right"},(this.resource_linker[resource_id]["resource_access"]["full_access"])?edit_button:null),TD({"width":"75"},Basis.nbsp())),TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},TABLE({"border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: middle;"},STRONG(null,"Attached to"),Basis.nbsp(),Basis.nbsp()),TD(null,attached_to))))),TD({"style":"border-bottom: 1px solid #c8c8c8;"},Basis.nbsp())),TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},TABLE({"border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: middle;"},STRONG(null,"Optional Notes:"),Basis.nbsp(),Basis.nbsp()),TD(null,SPAN(null,data("notes"))))))),TD({"style":"border-bottom: 1px solid #c8c8c8;"},Basis.nbsp())),TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},TABLE({"border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: middle;"},STRONG(null,"Disabled?"),Basis.nbsp(),Basis.nbsp()),TD(null,SPAN(null,data("disabled"))))))),TD({"style":"border-bottom: 1px solid #c8c8c8;"},Basis.nbsp())))),TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: top;"},FIELDSET({"style":"border: 1px solid #c0c0c0;"},LEGEND(null,STRONG("Who Should Be Alerted When ",SPAN({"style":"font-style: italic;"},this.resource_display_text(this.resource_linker[resource_id]["misc_vars"]["attached_to_resource_id"]))," Changes?")),TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: top; border-right: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","GROUP",resource_id)),TD({"style":"vertical-align: top;"},this.render_view("DEFAULT","resource_type_associator","USER",resource_id)))))))))));break;case"reminder":var content=DIV(null,TABLE({"border":"0","cellpadding":"10","cellspacing":"0","width":"100%","class":"resource_detail"},TBODY(null,TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},SPAN({"class":"resource_title"},this.resource_display_text(resource_id))),TD({"style":"border-bottom: 1px solid #c8c8c8;","align":"right"},(this.resource_linker[resource_id]["resource_access"]["full_access"])?edit_button:null),TD({"width":"75"},Basis.nbsp())),TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},TABLE({"border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: middle;"},STRONG(null,"Remind Me Of:"),Basis.nbsp()),TD(null,SPAN(null,data("notes"))))))),TD({"style":"border-bottom: 1px solid #c8c8c8;"},Basis.nbsp())),TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},TABLE({"border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: middle;"},STRONG(null,"On This Date:"),Basis.nbsp()),TD(null,SPAN(null,data("date_from")),((data("date_to")>"0000-00-00")?["(through",Basis.nbsp(),data("date_to"),")"]:null)))))),TD({"style":"border-bottom: 1px solid #c8c8c8;"},Basis.nbsp())),TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},TABLE({"border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: middle;"},STRONG(null,"Disabled?"),Basis.nbsp(),Basis.nbsp()),TD(null,SPAN(null,data("disabled"))))))),TD({"style":"border-bottom: 1px solid #c8c8c8;"},Basis.nbsp())))),TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: top;"},FIELDSET({"style":"border: 1px solid #c0c0c0;"},LEGEND(null,STRONG("Who Should This Reminder Be Sent To?")),TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: top; border-right: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","GROUP",resource_id)),TD({"style":"vertical-align: top;"},this.render_view("DEFAULT","resource_type_associator","USER",resource_id)))))))))));break;}
break;case"TASK":var edit_button=INPUT({"type":"button","value":"Edit"});Basis.signal_handler.connect(edit_button,"onclick",bind(partial(function(resource_id,menu){this.run_wizard("TASK",{"grid_control":this.tiles.ui.tiles[this.tiles.ui.current_tile].task_list,"data_row":this.resource_linker[resource_id]["misc_vars"],"resource_id":resource_id,"mode":"edit"});},resource_id,menu),this),false);var print_button=INPUT({"type":"button","value":"Print"});Basis.signal_handler.connect(print_button,"onclick",bind(partial(function(resource_id){var url=window.location.href.split("?")[0];url=url.split("/");delete url[url.length-1];url=url.join("/");url+="/index.print.php?type=TASK&mode=detail&include_archived=true&ids="+escape(encodeBase64(MochiKit.Base.serializeJSON([resource_id])));var temp=window.onbeforeunload;window.onbeforeunload=null;window.location.href=url;window.onbeforeunload=temp;},resource_id),this),false);var task_list=new Basis.grid_control.task_list({"dashboard":this,"num_per_page":50});var data=bind(partial(function(data,field){return this.grid_control.get_master_field_data(field,data)},this.resource_linker[resource_id]["misc_vars"]),task_list);var assigned_to=this.render_view("DEFAULT","resource_with_icon",this.resource_linker[resource_id]["misc_vars"]["assigned_to"],true);var content=DIV(null,TABLE({"border":"0","cellpadding":"10","cellspacing":"0","width":"100%","style":"background-image: url(images/images/dashboard/v2/icon_task.png); background-repeat: no-repeat; background-position: 100% 5; border-bottom: 1px solid #c0c0c0;","class":"resource_detail"},TBODY(null,TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},SPAN({"class":"resource_title"},this.resource_display_text(resource_id)),Basis.nbsp(),SPAN({"style":"color: #464646; margin-left: 10px;"},"(",data("percent_complete")," complete)"),Basis.nbsp(),Basis.nbsp(),Basis.nbsp(),this.render_view("DEFAULT","resource_alerts_button",resource_id)),TD({"style":"border-bottom: 1px solid #c8c8c8;","align":"right"},print_button,(this.resource_linker[resource_id]["resource_access"]["full_access"])?edit_button:null),TD({"width":"75"},Basis.nbsp())),TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},TABLE({"border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: middle;"},STRONG(null,"Assigned to"),Basis.nbsp(),Basis.nbsp()),TD(null,assigned_to))))),TD({"style":"border-bottom: 1px solid #c8c8c8;","align":"right"},STRONG(null,"Due:"),Basis.nbsp(),SPAN(null,data("date_due"))),TD({"style":"border-bottom: 1px solid #c8c8c8;"},Basis.nbsp())),TR(null,TD({"style":"padding: 0px;","colspan":"2"},TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD(null,STRONG(null,"Assigned:")),TD({"style":"padding-left: 0px; border-right: 1px solid #c8c8c8;"},data("date_assigned")),TD({"rowspan":"3"},data("notes"))),TR(null,TD(null,STRONG(null,"Status:")),TD({"style":"padding-left: 0px; border-right: 1px solid #c8c8c8;"},data("status"))),TR(null,TD(null,STRONG(null,"Started:")),TD({"style":"padding-left: 0px; border-right: 1px solid #c8c8c8;"},data("priority")))))),TD(null,Basis.nbsp())))),TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: top;"},FIELDSET({"style":"border: 1px solid #c0c0c0;"},LEGEND(null,STRONG("Who Can Access This "+this.resource_type_text(resource_id)+"?")),this.render_view("DEFAULT","resource_permissions_1_tile",resource_id))),TD({"style":"vertical-align: top;"},FIELDSET({"style":"border: 1px solid #c0c0c0;"},LEGEND(null,STRONG("Who Is Connected To This "+this.resource_type_text(resource_id)+"?")),TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: top; border-right: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","GROUP",resource_id)),TD({"style":"vertical-align: top;"},this.render_view("DEFAULT","resource_type_associator","USER",resource_id)))))))))));break;case"CONTACT.V2":var edit_button=INPUT({"type":"button","value":"Edit"});Basis.signal_handler.connect(edit_button,"onclick",bind(partial(function(resource_id){this.run_wizard("CONTACT",{"grid_control":this.tiles.ui.tiles[this.tiles.ui.current_tile].contact_list,"data_row":this.resource_linker[resource_id]["misc_vars"],"resource_id":resource_id,"mode":"edit"});},resource_id),this),false);var print_button=INPUT({"type":"button","value":"Print"});Basis.signal_handler.connect(print_button,"onclick",bind(partial(function(resource_id){var url=window.location.href.split("?")[0];url=url.split("/");delete url[url.length-1];url=url.join("/");url+="/index.print.php?type=CONTACT.V2&mode=detail&include_archived=true&ids="+escape(encodeBase64(MochiKit.Base.serializeJSON([resource_id])));var temp=window.onbeforeunload;window.onbeforeunload=null;window.location.href=url;window.onbeforeunload=temp;},resource_id),this),false);var contact_list=new Basis.grid_control.contact_list({"dashboard":this,"num_per_page":50});var data=bind(partial(function(data,field){return this.grid_control.get_master_field_data(field,data)},this.resource_linker[resource_id]["misc_vars"]),contact_list);var address=DIV(null,DIV(null,data("address1")),(data("address2")?DIV(null,data("address2")):null),DIV(null,data("city"),", ",data("state")," ",data("zip_code")),DIV(null,data("country")));var emails=DIV();if(this.resource_linker[resource_id].associated_resources&&this.resource_linker[resource_id].associated_resources["EMAIL"]){var list=Basis.keys(this.resource_linker[resource_id].associated_resources["EMAIL"]);for(var i=0;i<list.length;i++){emails.appendChild(this.render_view("DEFAULT","resource_with_icon",list[i],true));}}
var content=TABLE({"border":"0","cellpadding":"10","cellspacing":"0","width":"100%","style":"background-image: url(images/images/dashboard/v2/icon_contact.png); background-repeat: no-repeat; background-position: 100% 5;","class":"resource_detail"},TBODY(null,TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},SPAN({"class":"resource_title"},this.resource_display_text(resource_id)),Basis.nbsp(),SPAN({"style":"color: #464646;"}," - ",STRONG(null,data("type"))," contact"),Basis.nbsp(),Basis.nbsp(),Basis.nbsp(),this.render_view("DEFAULT","resource_alerts_button",resource_id)),TD({"style":"border-bottom: 1px solid #c8c8c8;","align":"right"},print_button,(this.resource_linker[resource_id]["resource_access"]["full_access"])?edit_button:null),TD({"width":"75"},Basis.nbsp())),TR(null,TD({"style":"padding: 0px;","colspan":"2"},TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"175","style":"border-right: 1px solid #c8c8c8;"},address),TD(null,data("notes"))))))),TR(null,TD({"style":"padding: 0px;","colspan":"3"},TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"180","style":"padding-left: 10px; border-right: 1px solid #c8c8c8;"},STRONG(null,"Primary Email")),TD(null,data("email_address1"))),TR(null,TD({"width":"180","style":"padding-left: 10px; border-right: 1px solid #c8c8c8;"},STRONG(null,"Email")),TD(null,data("email_address2"))),TR(null,TD({"width":"180","style":"padding-left: 10px; border-right: 1px solid #c8c8c8;"},STRONG(null,"Work Phone")),TD(null,data("phone_business"))),TR(null,TD({"width":"180","style":"padding-bottom: 10px; padding-left: 10px; border-right: 1px solid #c8c8c8;"},STRONG(null,"Mobile Phone")),TD({"style":"padding-bottom: 10px;"},data("phone_cell"))))))),TR(null,TD({"style":"padding: 0px; border-top: 1px solid #c8c8c8;","colspan":"3"},TABLE({"border":"0","cellpadding":"10","cellspacing":"0","width":"100%"},TBODY(null,TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: top;"},FIELDSET({"style":"border: 1px solid #c0c0c0;"},LEGEND(null,STRONG("Who Can Access This "+this.resource_type_text(resource_id)+"?")),this.render_view("DEFAULT","resource_permissions_1_tile",resource_id))),TD({"style":"vertical-align: top;"},FIELDSET({"style":"border: 1px solid #c0c0c0;"},LEGEND(null,STRONG("Who Is Connected To This "+this.resource_type_text(resource_id)+"?")),TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: top; border-bottom: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","GROUP",resource_id))),TR(null,TD({"style":"vertical-align: top; border-bottom: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","USER",resource_id))),TR(null,TD({"style":"vertical-align: top;"},this.render_view("DEFAULT","resource_type_associator","CONTACT.V2",resource_id)))))))))))),TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},STRONG(null,"Emails Received:"))),TR(null,TD(null,emails))))))));break;case"EMAIL":var list=new Basis.grid_control.generic_resource({"dashboard":this});list.resource_type="EMAIL";list.grid_control.grid_field_map={"from_name":{"text":"From (name)","type":"text","field":"from_name"},"from_address":{"text":"From (address)","type":"text","field":"from_address"},"to":{"text":"To","type":"text","field":"to"},"subject":{"text":"Subject","type":"text","field":"subject"},"body":{"text":"Body","type":"text","field":"body"}};var data=bind(partial(function(data,field){return this.grid_control.get_master_field_data(field,data)},this.resource_linker[resource_id]["misc_vars"]),list);var contacts=DIV();if(this.resource_linker[resource_id].associated_resources&&this.resource_linker[resource_id].associated_resources["CONTACT.V2"]){var list=Basis.keys(this.resource_linker[resource_id].associated_resources["CONTACT.V2"]);for(var i=0;i<list.length;i++){contacts.appendChild(this.render_view("DEFAULT","resource_with_icon",list[i],true));}}
var content=TABLE({"border":"0","cellpadding":"10","cellspacing":"0","width":"100%","class":"resource_detail"},TBODY(null,TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},SPAN({"class":"resource_title"},this.resource_display_text(resource_id))),TD({"width":"75"},Basis.nbsp())),TR(null,TD({"style":"padding: 0px;","colSpan":"2"},TABLE({"border":"0","cellpadding":"10","cellspacing":"0","width":"100%"},TBODY(null,TR(null,TD({"width":"175","style":"border-bottom: 1px solid #c8c8c8;"},STRONG(null,"Sent To:")),TD({"width":"75","style":"border-bottom: 1px solid #c8c8c8;"},STRONG(null,"From:")),TD({"style":"border-bottom: 1px solid #c8c8c8;"},data("from_name"),Basis.nbsp(),"[",data("from_address"),"]")),TR(null,TD({"width":"175","rowSpan":"2","style":"border-right: 1px solid #c8c8c8;"},contacts),TD({"width":"75","style":"border-bottom: 1px solid #c8c8c8;"},STRONG(null,"Subject:")),TD({"style":"border-bottom: 1px solid #c8c8c8;"},data("subject"))),TR(null,TD({"width":"75","style":"border-bottom: 1px solid #c8c8c8;"},STRONG(null,"Body:")),TD({"style":"border-bottom: 1px solid #c8c8c8;"},data("body")))))))));break;case"GROUP":var edit_button=INPUT({"type":"button","value":"Edit"});Basis.signal_handler.connect(edit_button,"onclick",bind(partial(function(resource_id){this.run_wizard("GROUP",{"data_row":this.resource_linker[resource_id]["misc_vars"],"resource_id":resource_id,"mode":"edit"});},resource_id),this),false);var list=new Basis.grid_control.generic_resource({"dashboard":this});var data=bind(partial(function(data,field){return this.grid_control.get_master_field_data(field,data)},this.resource_linker[resource_id]["misc_vars"]),list);var content=TABLE({"border":"0","cellpadding":"10","cellspacing":"0","width":"100%","style":"background-image: url(images/images/dashboard/v2/icon_group.png); background-repeat: no-repeat; background-position: 100% 5;","class":"resource_detail"},TBODY(null,TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},SPAN({"class":"resource_title"},this.resource_display_text(resource_id))),TD({"style":"border-bottom: 1px solid #c8c8c8;","align":"right"},(this.resource_linker[resource_id]["resource_access"]["full_access"])?edit_button:Basis.nbsp()),TD({"width":"75"},Basis.nbsp())),TR(null,TD({"style":"padding: 0px;","colspan":"3"},TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: top;"},FIELDSET({"style":"border: 1px solid #c0c0c0;"},LEGEND(null,STRONG("What Is Connected To This "+this.resource_type_text(resource_id)+"?")),TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: top; border-right: 1px solid #c0c0c0; border-bottom: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","USER",resource_id)),TD({"style":"vertical-align: top; border-right: 1px solid #c0c0c0; border-bottom: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","CONTACT_LIST",resource_id)),TD({"style":"vertical-align: top; border-bottom: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","CONTACT.V2",resource_id))),TR(null,TD({"style":"vertical-align: top; border-right: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","DISCUSSION",resource_id)),TD({"style":"vertical-align: top; border-right: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","TASK_LIST",resource_id)),TD({"style":"vertical-align: top;"},this.render_view("DEFAULT","resource_type_associator","TASK",resource_id))))))))))))));break;case"LIST_ITEM":var edit_button=INPUT({"type":"button","value":"Edit"});Basis.signal_handler.connect(edit_button,"onclick",bind(partial(function(resource_id){this.run_wizard("LIST_ITEM",{"grid_control":this.tiles.ui.tiles[this.tiles.ui.current_tile-1].list,"data_row":this.resource_linker[resource_id]["misc_vars"],"resource_id":resource_id,"mode":"edit"});},resource_id),this),false);var list=new Basis.grid_control.generic_resource({"dashboard":this});var data=bind(partial(function(data,field){return this.grid_control.get_master_field_data(field,data)},this.resource_linker[resource_id]["misc_vars"]),list);var content=TABLE({"border":"0","cellpadding":"10","cellspacing":"0","width":"100%","class":"resource_detail"},TBODY(null,TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},SPAN({"class":"resource_title"},this.resource_display_text(resource_id))),TD({"style":"border-bottom: 1px solid #c8c8c8;","align":"right"},(this.resource_linker[resource_id]["resource_access"]["full_access"])?edit_button:Basis.nbsp()),TD({"width":"75"},Basis.nbsp()))));break;case"USER":var change_password=INPUT({"type":"button","value":"Change Password"});Basis.signal_handler.connect(change_password,"onclick",bind(partial(function(resource_id){this.run_wizard("USER_EDIT",{"data_row":this.resource_linker[resource_id]["misc_vars"],"resource_id":resource_id});},resource_id),this),false);var level_text=this.user_levels_text[this.resource_linker[resource_id]["misc_vars"]["site_levels"][this.site_id]];var user_level=level_text?SPAN(null,level_text):SPAN(null,SPAN({"style":"color: #FF0000; font-weight: bold;"},"User not added to site yet"));var user_level_tooltip="";if(level_text){var user_levels={};for(var i in this.user_levels_text){if(typeof(this.user_levels_text[i])!="function"){user_levels[(this.site_id+":user_level:"+i)]=this.user_levels_text[i];}}
if(this.resource_linker[resource_id]["resource_access"]["full_access"]){Basis.make_text_element_dropdown(user_level,user_levels,{"resource_id":resource_id,"field":"user_level","after_success":bind(partial(function(resource_id){this.get_assorted_resources([resource_id]);},resource_id),this)});}
var user_level_tooltip=IMG({"src":"images/images/default_icons/help.gif","style":"cursor: pointer; vertical-align: middle; margin-left: 5px;"});Basis.signal_handler.connect(user_level_tooltip,"onclick",function(){Basis.popup({"window_title":"User Level","id":"user_level_tooltip","html":' <table cellpadding="5" cellspacing="0" border="0" width="500">\
                                                    <tr>\
                                                      <td valign="top"><b>Public</b></td>\
                                                      <td valign="top">Allows users to log in and view Public pages, but not interact with the site.</td>\
                                                    </tr>\
                                                    <tr>\
                                                      <td valign="top"><b>Basic (Read Only)</b></td>\
                                                      <td valign="top">Can see polls, discussion boards and Basic pages, but cannot interact with them.</td>\
                                                    </tr>\
                                                    <tr>\
                                                      <td valign="top"><b>Basic</b></td>\
                                                      <td valign="top">Can vote in polls, comment on discussion boards and add contacts to be approved by an administrator, but cannot view any private pages.</td>\
                                                    </tr>\
                                                    <tr>\
                                                      <td valign="top"><b>Private (Read Only)</b></td>\
                                                      <td valign="top">Can see Private pages, but cannot modify them.</td>\
                                                    </tr>\
                                                    <tr>\
                                                      <td valign="top"><b>Private</b></td>\
                                                      <td valign="top">Can modify Basic and Private pages that aren\'t Admin Change Only.</td>\
                                                    </tr>\
                                                    <tr>\
                                                      <td valign="top"><b>Site Administrator</b></td>\
                                                      <td valign="top">Has access to edit anything on the site, view the Admin section, create, modify, and delete pages, users, and contacts, and change the look and feel of the sites they have access to.</td>\
                                                    </tr>\
                                                    <tr>\
                                                      <td valign="top"><b>Organization Administrator</b></td>\
                                                      <td valign="top">Has all rights of a Site Adminstrator on every site within an organization.</td>\
                                                    </tr>\
                                                  </table>'});},false);}
var list=new Basis.grid_control.generic_resource({"dashboard":this});var data=bind(partial(function(data,field){return this.grid_control.get_master_field_data(field,data)},this.resource_linker[resource_id]["misc_vars"]),list);var contacts=DIV();var groups=DIV();if(this.resource_linker[resource_id].associated_resources&&this.resource_linker[resource_id].associated_resources["CONTACT.V2"]){var list=Basis.keys(this.resource_linker[resource_id].associated_resources["CONTACT.V2"]);for(var i=0;i<list.length;i++){var resource_link=this.render_view("DEFAULT","resource_with_icon",list[i],true);contacts.appendChild(resource_link);}}
if(this.resource_linker[resource_id].associated_resources&&this.resource_linker[resource_id].associated_resources["GROUP"]){var list=Basis.keys(this.resource_linker[resource_id].associated_resources["GROUP"]);for(var i=0;i<list.length;i++){groups.appendChild(this.render_view("DEFAULT","resource_with_icon",list[i],true));}}
var restrictions=this.get_user_restrictions(this.resource_linker[resource_id]["misc_vars"]["id"]);var read_only=DIV(null,DIV({"style":"border-bottom: 1px solid #c0c0c0; padding: 5px; margin-bottom: 10px;"},STRONG(null,"Read Only")));var full_access=DIV(null,DIV({"style":"border-bottom: 1px solid #c0c0c0; padding: 5px; margin-bottom: 10px;"},STRONG(null,"Full Access")));if(restrictions["read_only"].length>0){for(var i=0;i<restrictions["read_only"].length;i++){read_only.appendChild(DIV({"style":"padding-left: 10px; padding-bottom: 3px;"},this.render_view("DEFAULT","resource_with_icon",restrictions["read_only"][i],true)));}}else{read_only.appendChild(DIV({"style":"padding-bottom: 3px;"},Basis.nbsp()));}
if(restrictions["full_access"].length>0){for(var i=0;i<restrictions["full_access"].length;i++){full_access.appendChild(DIV({"style":"padding-left: 10px; padding-bottom: 3px;"},this.render_view("DEFAULT","resource_with_icon",restrictions["full_access"][i],true)));}}else{full_access.appendChild(DIV({"style":"padding-bottom: 3px;"},Basis.nbsp()));}
var content=TABLE({"border":"0","cellpadding":"10","cellspacing":"0","width":"100%","style":"background-image: url(images/images/dashboard/v2/icon_user.png); background-repeat: no-repeat; background-position: 100% 5;","class":"resource_detail"},TBODY(null,TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;"},SPAN({"class":"resource_title"},this.resource_display_text(resource_id))),TD({"style":"border-bottom: 1px solid #c8c8c8;","align":"right"},(this.resource_linker[resource_id]["resource_access"]["full_access"])?change_password:Basis.nbsp()),TD({"width":"75"},Basis.nbsp())),TR(null,TD({"style":"border-bottom: 1px solid #c8c8c8;","colspan":"3"},TABLE({"cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD(null,STRONG(null,"User level:")),TD({"style":"padding-left: 5px;"},user_level)))))),TR(null,TD({"style":"padding: 0px;","colspan":"3"},TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"vertical-align: top;"},FIELDSET({"style":"border: 1px solid #c0c0c0;"},LEGEND(null,STRONG("Special Access Given To This "+this.resource_type_text(resource_id)+":")),read_only,full_access)),TD({"style":"vertical-align: top;"},FIELDSET({"style":"border: 1px solid #c0c0c0;"},LEGEND(null,STRONG("What Is Connected To This "+this.resource_type_text(resource_id)+"?")),TABLE({"border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"id":("CONTACT.V2_connected_to_"+resource_id),"style":"vertical-align: top; border-right: 1px solid #c0c0c0; border-bottom: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","CONTACT.V2",resource_id)),TD({"style":"vertical-align: top; border-bottom: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","CONTACT_LIST",resource_id))),TR(null,TD({"style":"vertical-align: top; border-right: 1px solid #c0c0c0; border-bottom: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","TASK",resource_id)),TD({"style":"vertical-align: top; border-bottom: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","TASK_LIST",resource_id))),TR(null,TD({"style":"vertical-align: top; border-right: 1px solid #c0c0c0;"},this.render_view("DEFAULT","resource_type_associator","DISCUSSION",resource_id))))))))))))));break;default:var content=SPAN(null,"I AM CONTENT, POPULATE ME");break;}
if(return_content_only){return content;}
if(content){content_container.appendChild(content);}
var last_updated=Basis.filter_number(this.resource_linker[resource_id]["last_updated"]);last_updated=(last_updated>0)?new Date(last_updated*1000).toLocaleString():"???";var last_updated_by=this.resource_display_text(Basis.filter_number(this.resource_linker[resource_id]["last_updated_by"]));last_updated_by=!last_updated_by?"???":this.render_view("DEFAULT","resource_with_icon",last_updated_by,true);var detail=TABLE({"width":"100%","cellspacing":"0","cellpadding":"5"},TBODY(null,TR(null,TD({"style":"height: 24px; padding: 0px;"},menu),TD({"style":"height: 24px; padding: 0px; text-align: right;"},menu_right)),TR(null,TD({"colspan":"2"},content_container)),TR(null,TD({"style":"height: 30px;"},this.render_view("DEFAULT","resource_with_icon",resource_id)),TD({"style":"height: 30px; text-align: right;"},STRONG("Last updated: "),(last_updated+" by "),last_updated_by))));detail.content=content_container;detail.menu=menu;detail.menu_right=menu_right;Basis.register_size_constraints(detail,"100%","100%");Basis.register_size_constraints(content_container,"100%","100%");return detail;}},this));this.set_custom_view_renderer("ALERT","wizard_form",bind(function(data_row,resource_id,target_resource_id,mode){var mode=mode?mode:"";var type=data_row["type"];if(!type){type=(!target_resource_id&&resource_id&&this.resource_linker[resource_id])?this.resource_linker[resource_id]["misc_vars"]["type"]:((!resource_id&&target_resource_id&&this.resource_linker[target_resource_id])?"alert":"reminder");}
var content=null;if(data_row){data_row["type"]=type;var disabled=SELECT();Basis.select_add_options(disabled,{"yes":"Yes","no":"No"});Basis.select_select_item_by_value(disabled,(this.resource_linker[resource_id]["misc_vars"]["disabled"]?"yes":"no"));this.bind_form_element(disabled,"disabled",data_row);var disabled=P(null,STRONG(null,"Disabled? "),Basis.nbsp(),disabled);switch(type){case"alert":data_row["attached_to_resource_id"]=target_resource_id;var notes=Basis.textarea({"style":"width: 300px;"},data_row["notes"]);this.bind_form_element(notes,"notes",data_row);Basis.set_input_descriptive_text(notes,"Optional notes to send with the alert...");content=DIV(null,P(null,"I want to alert users or groups when this "+this.resource_type_text(this.resource_linker[target_resource_id]["type"])+" changes."),P({"style":"font-style: italic"},"(you will choose users and groups to be alerted after you create it)"),DIV(null,notes),(mode=="edit")?disabled:null);content={"element":content,"fields":{"notes":notes}};break;case"reminder":var notes=Basis.textarea({"style":"width: 300px;"},data_row["notes"]);this.bind_form_element(notes,"notes",data_row);var date_from=Basis.create_date_formfield(data_row["date_from"],false);this.bind_form_element(date_from,"date_from",data_row);var date_to=Basis.create_date_formfield(data_row["date_to"],true);this.bind_form_element(date_to,"date_to",data_row);content=DIV(null,TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"text-align: right;"},STRONG(null,"Remind me of:")),TD(null,notes)),TR(null,TD({"style":"text-align: right;"},STRONG(null,"On this day:")),TD(null,date_from)),TR(null,TD(null,DIV({"style":"text-align: right;"},STRONG(null,"Through this day:")),DIV({"style":"text-align: right; padding: 5px; font-style: italic;"},"(optional)")),TD(null,date_to)))),(mode=="edit")?disabled:null);content={"element":content,"fields":{"notes":notes,"date_from":date_from,"date_to":date_to}};break;}}
return content;},this));this.set_custom_view_renderer("FILE","diskspace",bind(function(){var amount_used=Basis.format_filesize(this.diskspace_used);var amount_used_percentage=(((this.diskspace_used/this.max_diskspace)*100).toFixed(2))+"%";var amount_left=Basis.format_filesize(this.max_diskspace-this.diskspace_used);var amount_left_percentage=(100-(((this.diskspace_used/this.max_diskspace)*100))).toFixed(2)+"%";var used=Basis.nbsp();var used_full_text=[amount_used,Basis.nbsp(),"used (",amount_used_percentage,")"];if((Basis.filter_number(amount_used_percentage)>=20)&&(Basis.filter_number(amount_used_percentage)<35)){used=amount_used;}else if(Basis.filter_number(amount_used_percentage)>=35){used=used_full_text;}
var left=Basis.nbsp();var left_full_text=[amount_left,Basis.nbsp(),"left (",amount_left_percentage,")"];if((Basis.filter_number(amount_left_percentage)>=20)&&(Basis.filter_number(amount_left_percentage)<35)){left=amount_left;}else if(Basis.filter_number(amount_left_percentage)>=35){left=left_full_text;}
var red=TD({"width":amount_used_percentage,"style":"padding: 2px; padding-left: 5px; padding-right: 5px; background-image: url(images/images/dashboard/v2/bar_red.png); background-repeat: repeat-x; background-position: bottom left; background-color: #d34242; color: #FFFFFF; font-size: 9px;"},used);if(Basis.filter_number(amount_used_percentage)<20){Basis.attach_tooltip(red,DIV(null,used_full_text).innerHTML,true,false);}
var green=TD({"width":amount_left_percentage,"style":"padding: 2px; padding-left: 5px; padding-right: 5px; background-image: url(images/images/dashboard/v2/bar_green.png); background-repeat: repeat-x; background-position: bottom left; background-color: #42d349; color: #08560c; text-align: right; font-size: 9px;"},left);if(Basis.filter_number(amount_left_percentage)<20){Basis.attach_tooltip(green,DIV(null,left_full_text).innerHTML,true,false);}
var diskspace_meter=DIV({"id":"diskspace_meter","style":"border: 1px solid #c8c8c8; padding: 1px;"},TABLE({"width":"100%","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,red,green))));return diskspace_meter;},this));this.set_custom_view_renderer("FILE","browser",bind(function(mode,ui_or_wizard){switch(ui_or_wizard){case"ui":case"wizard":break;default:var ui_or_wizard="ui";break;}
this.file_browser_drags["file"]=new multipleDraggables();this.file_browser_drags["file"].selected_class="Basis.file_explorer.selected";this.file_browser_drags["file"].selectable_class="Basis.file_explorer.selectable";var nodes=[];var list=MochiKit.DOM.getElementsByTagAndClassName(null,"resource",this.files);if(list.length==0){nodes.push(DIV(null,"No files to display for ",STRONG(null,this.resource_display_text(this.file_browser_current_folder))));}else{nodes.push(DIV({"style":"margin-bottom: 10px;"},"Displaying files for ",STRONG(null,this.resource_display_text(this.file_browser_current_folder))));for(var i=0;i<list.length;i++){nodes.push(this.render_view("FILE","browser_row",Basis.filter_number(list[i].tagName),mode,ui_or_wizard));}}
return nodes;},this));this.set_custom_view_renderer("FILE","browser_row",bind(function(resource_id,mode,ui_or_wizard){var mode=(this.file_manager_only)?"file_explorer_embedded":mode;var mode=(mode!==null)?mode:"file_explorer_embedded";switch(ui_or_wizard){case"ui":case"wizard":break;default:var ui_or_wizard="ui";break;}
var element=null;if(resource_id&&this.resource_linker[resource_id]){var download_button=IMG({"src":"images/images/download.gif","style":"cursor: pointer; margin-right: 5px;"});var idx=Basis.signal_handler.connect(download_button,"onclick",bind(partial(function(resource_id){var url=Basis.preserve_url({"original_url":Basis.preserve_url_path()+"/../ajax/ajax/force_download_resource.2.php","keys_add":{"finfo":this.resource_linker[resource_id]["misc_vars"]["path_reference"],"site_id":this.site_id}});var temp=window.onbeforeunload;window.onbeforeunload=null;window.location.href=url;window.onbeforeunload=temp;},resource_id),this),false);Basis.attach_tooltip(download_button,("Download this file"),null,false);switch(mode){case"file_explorer_choose_file":this.use_this_file=bind(function(resource_id,ui_or_wizard){switch(ui_or_wizard){case"ui":case"wizard":break;default:var ui_or_wizard="ui";break;}
if(this.resource_linker[resource_id]){var turl=this.resource_linker[resource_id]["misc_vars"]["public_link"];var obj=Basis.misc_vars.to_populate;if(obj){obj.value=turl;if(obj.onchange){obj.onchange();}
if(obj.onblur){obj.onblur();}
MochiKit.Signal.signal(obj,"onchange");MochiKit.Signal.signal(obj,"onblur");this.tiles[ui_or_wizard].back();}}},this);var link_button=IMG({"src":"images/images/arrow_right_small.gif","style":"cursor: pointer; margin-right: 5px;"});Basis.signal_handler.connect(link_button,"onclick",bind(partial(function(resource_id,ui_or_wizard){this.use_this_file(resource_id,ui_or_wizard);},resource_id,ui_or_wizard),this),this.commit);Basis.attach_tooltip(link_button,("Use this file"));var access_restrictor="";break;case"file_explorer_embedded":this.use_this_file=bind(function(resource_id){if(this.resource_linker[resource_id]){var turl=this.resource_linker[resource_id]["misc_vars"]["public_link"];if(window.opener&&window.opener.Basis){var obj=window.opener.Basis.misc_vars.to_populate;}
if(obj){obj.value=turl;if(obj.onchange){obj.onchange();}
if(obj.onblur){obj.onblur();}
MochiKit.Signal.signal(obj,"onchange");MochiKit.Signal.signal(obj,"onblur");window.onbeforeunload=function(){};window.close();}}},this);var link_button=IMG({"src":"images/images/arrow_right_small.gif","style":"cursor: pointer; margin-right: 5px;"});Basis.signal_handler.connect(link_button,"onclick",bind(partial(function(resource_id){this.use_this_file(resource_id);},resource_id),this),this.commit);Basis.attach_tooltip(link_button,("Use this file"));var access_restrictor="";break;default:var link_button=IMG({"src":"images/images/arrow_right_small.gif","style":"cursor: pointer; margin-right: 5px;"});Basis.signal_handler.connect(link_button,"onclick",bind(partial(function(resource_id){var url=this.resource_linker[resource_id]["misc_vars"]["public_link"];prompt("The text below is a direct link to this file. (Ctrl-C to Copy, Ctrl-V to Paste)",url);},resource_id),this),false);Basis.attach_tooltip(link_button,("Link to this file"),null,false);var access_restrictor=IMG({"id":("resource_id_"+resource_id+"_access_restrictor"),"src":(this.resource_linker[resource_id]["has_restrictions"]?"images/images/default_icons/png/lock.png":(this.resource_has_inherited_permissions(resource_id)?"images/images/default_icons/png/lock_inherited.png":"images/images/default_icons/png/lock_open.grey.png")),"style":"margin-right: 5px;"});if(this.resource_linker[resource_id]["resource_access"]["full_access"]){access_restrictor.style.cursor="pointer";Basis.signal_handler.connect(access_restrictor,"onclick.greedy.swallow",bind(partial(function(resource_id,lock_icon){this.render_view("DEFAULT","resource_permissions_1",resource_id,lock_icon);},resource_id,access_restrictor),this),false);Basis.attach_tooltip(access_restrictor,("Manage custom permissions for "+this.resource_linker[resource_id]["display_text"]),null,false);}else{Basis.attach_tooltip(access_restrictor,"You don't have permission to manage this!",null,false,true);}
break;}
var file_name=SPAN({"id":("resource_"+resource_id+"_display_text"),"style":"white-space: nowrap;"},this.resource_display_text(resource_id));var file_size=SPAN({"style":"white-space: nowrap;"},Basis.format_filesize(this.resource_linker[resource_id]["misc_vars"]["filesize"]));var last_update=SPAN({"style":"white-space: nowrap;"},this.english_timestamp(this.resource_linker[resource_id]["misc_vars"]["last_changed"],true));if(this.resource_linker[resource_id]["resource_access"]["full_access"]){Basis.make_text_element_editable(file_name,{"sid":this.session_id,"url":this.post_url,"resource_id":resource_id,"field":"filename","after_success":bind(function(){this.dashboard.get_assorted_resources([this.resource_id]);},{"dashboard":this,"resource_id":resource_id})},false);}
var icon=IMG({"src":(this.resource_linker[resource_id]?this.resource_linker[resource_id]["misc_vars"]["icon"]:""),"style":"margin-right: 4px;"});var element=DIV({"id":("resource_"+(resource_id?resource_id:""))},TABLE({"width":"100%","border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"18"},icon),TD(null,file_name),TD({"width":"100","style":"text-align: right; white-space: nowrap; padding-right: 5px; color: #999999;"},last_update),TD({"width":"85","style":"text-align: right; white-space: nowrap; padding-right: 5px;"},file_size),TD({"width":"75","style":"text-align: right; white-space: nowrap;"},[access_restrictor,download_button,link_button])))));this.file_browser_drags["file"].add_draggable(element);}
return element;},this));this.set_custom_view_renderer("FOLDER","browser",bind(function(type,mode,ui_or_wizard){var mode=(mode!==null)?mode:"file_explorer_embedded";switch(ui_or_wizard){case"ui":case"wizard":break;default:var ui_or_wizard="ui";break;}
var nodes=[];var list=this.folders[type].childNodes;if(list){this.file_browser_drags["folder"].drags={};for(var i=0;i<list.length;i++){var resource_id=Basis.filter_number(list[i].tagName);if(list[i].tagName&&(resource_id!=null)){nodes[nodes.length]=this.render_view("FOLDER","browser_row",resource_id,list[i],type,null,mode,ui_or_wizard);}}}
return nodes;},this));this.set_custom_view_renderer("FOLDER","browser_row",bind(function(resource_id,node,type,recursive,mode,ui_or_wizard){var mode=(this.file_manager_only)?"file_explorer_embedded":mode;var mode=(mode!==null)?mode:"file_explorer_embedded";switch(ui_or_wizard){case"ui":case"wizard":break;default:var ui_or_wizard="ui";break;}
var element=null;var recursive=(recursive!=null)?recursive:true;if(resource_id&&this.resource_linker[resource_id]&&node){switch(mode){case"file_explorer_choose_file":this.use_this_folder=bind(function(resource_id,ui_or_wizard){switch(ui_or_wizard){case"ui":case"wizard":break;default:var ui_or_wizard="ui";break;}
if(this.resource_linker[resource_id]){var turl=this.resource_linker[resource_id]["misc_vars"]["public_link"];var obj=Basis.misc_vars.to_populate;if(obj){obj.value=turl;if(obj.onchange){obj.onchange();}
if(obj.onblur){obj.onblur();}
MochiKit.Signal.signal(obj,"onchange");MochiKit.Signal.signal(obj,"onblur");this.tiles[ui_or_wizard].back();}}},this);var access_restrictor=IMG({"src":"images/images/arrow_right_small.gif","style":"cursor: pointer; margin-right: 5px;"});Basis.signal_handler.connect(access_restrictor,"onclick",bind(partial(function(resource_id,ui_or_wizard){this.use_this_folder(resource_id,ui_or_wizard);},resource_id,ui_or_wizard),this),false);Basis.attach_tooltip(access_restrictor,("Use this folder"),null,false);break;case"file_explorer_embedded":this.use_this_folder=bind(function(resource_id){if(this.resource_linker[resource_id]){var turl=this.resource_linker[resource_id]["misc_vars"]["public_link"];if(window.opener.Basis){var obj=window.opener.Basis.misc_vars.to_populate;}
if(obj){obj.value=turl;if(obj.onchange){obj.onchange();}
if(obj.onblur){obj.onblur();}
MochiKit.Signal.signal(obj,"onchange");MochiKit.Signal.signal(obj,"onblur");}
window.onbeforeunload=function(){};window.close();}},this);var access_restrictor=IMG({"src":"images/images/arrow_right_small.gif","style":"cursor: pointer; margin-right: 5px;"});Basis.signal_handler.connect(access_restrictor,"onclick",bind(partial(function(resource_id){this.use_this_folder(resource_id);},resource_id),this),false);Basis.attach_tooltip(access_restrictor,("Use this folder"),null,false);break;default:var access_restrictor=IMG({"id":("resource_id_"+resource_id+"_access_restrictor"),"src":(this.resource_linker[resource_id]["has_restrictions"]?"images/images/default_icons/png/lock.png":(this.resource_has_inherited_permissions(resource_id)?"images/images/default_icons/png/lock_inherited.png":"images/images/default_icons/png/lock_open.grey.png")),"style":"margin-right: 5px;"});if(this.resource_linker[resource_id]["resource_access"]["full_access"]){access_restrictor.style.cursor="pointer";Basis.signal_handler.connect(access_restrictor,"onclick.greedy.swallow",bind(partial(function(resource_id,lock_icon){this.render_view("DEFAULT","resource_permissions_1",resource_id,lock_icon);},resource_id,access_restrictor),this),false);Basis.attach_tooltip(access_restrictor,("Manage custom permissions for "+this.resource_linker[resource_id]["display_text"]),null,false);}else{Basis.attach_tooltip(access_restrictor,"You don't have permission to manage this!",null,false,true);}
break;}
var add_folder=IMG({"src":"images/images/default_icons/folder_add.gif","style":"cursor: pointer; margin-right: 5px;"});Basis.signal_handler.connect(add_folder,"onclick.greedy.swallow",bind(function(){this.custom_ajax_action("create_new_folder",this.resource_linker[resource_id]["misc_vars"]["path_reference"]);},this),false);Basis.attach_tooltip(add_folder,("Add a new folder inside of "+this.resource_linker[resource_id]["display_text"]),null,false);var delete_folder=IMG({"src":"images/images/default_icons/folder_delete.gif","style":"cursor: pointer; margin-right: 5px;"});Basis.signal_handler.connect(delete_folder,"onclick.greedy.swallow",bind(function(){this.custom_ajax_action("delete_folder",this.resource_linker[resource_id]["misc_vars"]["path_reference"]);},this),false);Basis.attach_tooltip(delete_folder,("Permanently delete this folder and everything inside of it"),null,false);var folder_name=SPAN({"id":("resource_"+resource_id+"_display_text"),"style":"white-space: nowrap;"},this.resource_display_text(resource_id));if(type!="gallery_files"){if(this.resource_linker[resource_id]["resource_access"]["full_access"]){Basis.make_text_element_editable(folder_name,{"resource_id":resource_id,"field":"filename","after_success":bind(partial(function(resource_id){var folder_resource_ids=this.dashboard.determine_resources_from_xml_node(this.dashboard.folders.files);var file_resource_ids=this.dashboard.determine_resources_from_xml_node(this.dashboard.files);var reload_resource_ids=MochiKit.Base.flattenArray([folder_resource_ids,(file_resource_ids?file_resource_ids:[])]);var a=this.dashboard.custom_ajax_action("get_assorted_resources",reload_resource_ids);a.addCallback(partial(function(resource_id){var folder_browser_row=Basis.get_element("resource_"+resource_id);Basis.signal_handler.execute_interactive_element(("resource_"+resource_id),"onmousedown");Basis.signal_handler.execute_interactive_element(("resource_"+resource_id),"onclick");},resource_id));},resource_id),{"dashboard":this,"resource_id":resource_id})},false);}}
var element=DIV({"id":("resource_"+(resource_id?resource_id:"")),"class":"resource"},TABLE({"width":"100%","border":"0","cellpadding":"0","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"18"},IMG({"src":(this.resource_linker[resource_id]?this.resource_linker[resource_id]["misc_vars"]["icon"]:""),"style":"margin-right: 4px;"})),TD(null,folder_name),(this.resource_linker[resource_id]["resource_access"]["full_access"])?TD({"width":"18"},delete_folder):null,(this.resource_linker[resource_id]["resource_access"]["full_access"])?TD({"width":"18"},add_folder):null,TD({"width":"18"},access_restrictor)))));this.file_browser_drags["folder"].add_draggable(element);if(!element.onclick_connected){Basis.signal_handler.connect(element,"onclick.greedy",bind(partial(function(mode){var resource_id=Basis.filter_number(this.element.id);var a=this.dashboard.custom_ajax_action("get_folder_files",resource_id);a.addCallback(bind(partial(function(mode){var resources_to_load=this.determine_missing_resources_from_xml(this.files);var b=this.custom_ajax_action("get_assorted_resources",resources_to_load);b.addCallback(bind(partial(function(mode){if(this.elements["files_container"]){Basis.remove_children(this.elements["files_container"]);Basis.updated_live_dom();var upload_button=INPUT({"type":"button","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/page_white_add.gif);","value":"Upload Files"});Basis.signal_handler.connect(upload_button,"onclick",bind(function(){this.toggle_uploader();},this),false);var delete_button=INPUT({"type":"button","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/page_white_delete.gif);","value":"Delete Files"});Basis.signal_handler.connect(delete_button,"onclick",bind(function(){var files=[];var list=this.file_browser_drags.file.selected;for(var i in list){if(typeof(list[i])!="function"){var resource_id=Basis.parse_number(i.replace(/([^0-9\.])/g,""));files.push(this.resource_linker[resource_id]["misc_vars"]["path_reference"]);}}
this.custom_ajax_action("delete_files",files);},this),false);Basis.signal_handler.connect(delete_button,"onmouseenter",bind(function(){delete_button.ctrl_state=Basis.key_handler.key_state("KEY_CTRL");Basis.key_handler.set_key_state("KEY_CTRL","down");},this),false);Basis.signal_handler.connect(delete_button,"onmouseleave",bind(function(){Basis.key_handler.set_key_state("KEY_CTRL",delete_button.ctrl_state);},this),false);var download_archive=INPUT({"type":"button","class":"gfx_but_default","style":"background-image: url(images/images/default_icons/folder_go.gif);","value":"Download this Folder"});Basis.signal_handler.connect(download_archive,"onclick",bind(function(){if(confirm("Are you sure you want to download an archive of this folder?")){var recursive=confirm("Do you want to download all subfolders of this folder as well?");var url=Basis.preserve_url();url=url.split("/");delete url[url.length-1];url=url.join("/")+"archive_folder.basis2.php?token="+this.resource_linker[this.file_browser_current_folder]["misc_vars"]["path_reference"]+(recursive?"&recursive=true":"");window.open(url);}},this),false);if(this.resource_linker[resource_id]["resource_access"]["full_access"]){this.elements["files_container"].appendChild(upload_button);this.elements["files_container"].appendChild(delete_button);}
this.elements["files_container"].appendChild(download_archive);this.file_browser_current_folder=resource_id;var files=this.render_view("FILE","browser",mode,ui_or_wizard);var resource_container=DIV({"style":"padding: 10px;"});for(var i in files){if(files[i]&&!Basis.is_function(files[i])){resource_container.appendChild(files[i]);}}
this.elements["files_container"].appendChild(resource_container);Basis.updated_live_dom();}},mode),this));},mode),this.dashboard));},mode),{"element":element,"dashboard":this}),false);element.onclick_connected=true;}
new MochiKit.DragAndDrop.Droppable(folder_name,{"hoverclass":"Basis.file_explorer.droppable","hoverfunc":bind(function(droppable){var folder_resource_id=Basis.parse_number(droppable.id.replace(/([^0-9\.])/g,""));if(this.file_browser_current_folder==folder_resource_id){}},this),"ondrop":bind(partial(function(section,draggable,droppable){var folder_resource_id=Basis.parse_number(droppable.id.replace(/([^0-9\.])/g,""));var path_reference=this.resource_linker[folder_resource_id]["misc_vars"]["path_reference"];var to_move=[];var list=MochiKit.Base.evalJSON(draggable._selected);for(var i in list){if(typeof(list[i])!="function"){var file_resource_id=Basis.parse_number(i.replace(/([^0-9\.])/g,""));var file_path_reference=this.resource_linker[file_resource_id]["misc_vars"]["path_reference"];if(file_path_reference!=path_reference){to_move.push(file_path_reference);}}}
if(Basis.array_length(to_move)>0){this.custom_ajax_action("move_files",path_reference,to_move,section);}},type),this)});var keys=this.determine_resources_from_xml_node(node,true);for(var i=0;i<keys.length;i++){var key="resource_id_"+keys[i];var child=DIV({"id":key,"class":"resource"});if(element&&child){element.appendChild(child);}}}
return element;},this));Basis.state_handler.add_state("HOME_default");this.set_custom_view_renderer("HOME","default",bind(function(){this.reset_states();Basis.state_handler.enter_state("HOME_default");this.populate_submenu("home");this.tiles.ui.clear_all_tiles();var index=this.render_view("DEFAULT","default","Home",DIV(null,"Home Placeholder"));this.tiles.ui.go_to(index);},this));Basis.state_handler.add_state("WEBSITE_default");this.set_custom_view_renderer("WEBSITE","default",bind(function(){this.reset_states();Basis.state_handler.enter_state("WEBSITE_default");this.populate_submenu("website");this.tiles.ui.clear_all_tiles();var content=this.render_view("PAGE","browser");var index=this.render_view("DEFAULT","default","Website",content);Basis.convert_nested_elements_to_tree(content.pages_root,null,true,true);this.ns=new Basis.nested_sortables();this.ns.ul_tag="div";this.ns.ul_class="Basis.file_explorer.container";this.ns.li_tag="span";this.ns.li_class="Basis.file_explorer.node_container";this.ns.custom_ondrop=bind(function(element,onto){this.custom_ajax_action("save_page_order",onto);},this);this.ns.on_update=bind(function(element){this.custom_ajax_action("save_page_order",element);},this);this.ns.build_nested_sortables(content,{"onUpdate":this.ns.on_update,"hide_dropzones":(this.managing_menus?false:true),"handle":"Basis.dashboard.page_handle","hoverclass":"hoverclass"});this.tiles.ui.go_to(index);},this));Basis.state_handler.add_state("WEBSITE");this.set_custom_view_renderer("WEBSITE","look_and_feel",bind(function(){this.reset_states();Basis.state_handler.enter_state("WEBSITE_look_and_feel");this.tiles.ui.clear_all_tiles();var menu=Basis.misc_vars.dashboard.create_menu("WEBSITE_look_and_feel");var settings=DIV();var css=DIV();var content=DIV(null,menu,settings,css);menu.add_menu_item("settings","General Settings",bind(partial(function(settings,css){var a=this.custom_ajax_action("get_site_template_configuration",this.site_id);a.addCallback(bind(partial(function(ajax,css){this.innerHTML=ajax.req.responseText;Basis.execute_javascript(this);css.style.display="none";this.style.display="";},a,css),settings));},settings,css),this));menu.add_menu_item("css","Backgrounds & Colors",bind(partial(function(settings,css){var options=new Basis.CSS();options.css=this.custom_css[this.site_id].css;options.selectors={"body":"Body",".Basis\\\\.header":"Header",".Basis\\\\.menu":"Menu",".Basis\\\\.menu\\\\.top_level_item > *":"Menu Items",".Basis\\\\.menu\\\\.submenu":"Submenu",".Basis\\\\.menu\\\\.submenu li":"Submenu Items","#content":"Main Content",".Basis\\\\.footer":"Footer"};var content=options.compile();content.options=options;Basis.remove_children(css);css.appendChild(content);css.style.display="";settings.style.display="none";},settings,css),this));menu.select_menu_item("settings");Basis.signal_handler.execute_interactive_element(menu.menu_items[menu.item_index("settings")],"onclick");var index=this.render_view("DEFAULT","default","Site Look and Feel",content);this.tiles.ui.go_to(index);},this));this.set_custom_view_renderer("WEBSITE","settings",bind(function(){this.reset_states();Basis.state_handler.enter_state("WEBSITE_settings");this.populate_submenu(null);this.tiles.ui.clear_all_tiles();var index=this.render_view("DEFAULT","default","Site Settings & Billing",this.render_view("RENDER","billing"));this.tiles.ui.go_to(index);},this));Basis.state_handler.add_state("COLLABORATE_default");this.set_custom_view_renderer("COLLABORATE","default",bind(function(){var a=MochiKit.Async.succeed();a.addCallback(bind(function(){this.resource_id=null;this.reset_states();Basis.state_handler.enter_state("COLLABORATE_default");this.populate_submenu("collaborate");this.tiles.ui.clear_all_tiles();var alerts_and_reminders=this.get_alerts_and_reminders_for_resource(this.current_user_resource_id);var alerts=null;if(alerts_and_reminders["alert"].length>0){var rows=TBODY();var list=alerts_and_reminders["alert"];var alerts_to_show=[];var history=Basis.keys(this.resource_history[this.site_id]);for(var x=0;x<history.length;x++){var history_item_resource_id=this.resource_history[this.site_id][history[x]]["resource_id"];var history_item_timestamp=this.resource_history[this.site_id][history[x]]["display_timestamp"];history_item_timestamp=history_item_timestamp.replace("(","").replace(")","");history_item_timestamp=history_item_timestamp.substring(0,(history_item_timestamp.length-2)).trim();history_item_timestamp=history_item_timestamp.split(" ");history_item_timestamp.pop();history_item_timestamp=history_item_timestamp.join(" ");for(var i=0;i<list.length;i++){var alert_resource_id=list[i];if(Basis._int(this.resource_linker[alert_resource_id]["misc_vars"]["attached_to_resource_id"])==Basis._int(history_item_resource_id)){if(parseInt(new Date(history_item_timestamp).getTime().toString().substring(0,10))>=(parseInt(new Date().getTime().toString().substring(0,10))-(60*60*24*7))){if(this.resource_linker[alert_resource_id]["misc_vars"]["disabled"]!="yes"){alerts_to_show.push({"history_item_index":history[x],"alert_resource_id":alert_resource_id});}}}}}
if(alerts_to_show.length>0){rows.appendChild(TR(null,TD(null,Basis.nbsp()),TD(null,STRONG(null,"Action Taken")),TD(null,STRONG(null,"Target Resource")),TD(null,STRONG(null,"Time Action Occurred")),TD(null,STRONG(null,"User Responsible")),(this.user_levels[this.current_user_level]<this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"])?null:TD(null,STRONG(null,"IP Address"))));var list=this.resource_history[this.site_id];for(var x=0;x<alerts_to_show.length;x++){var i=alerts_to_show[x]["history_item_index"];switch(list[i]["resource_type"]){case"FILE":case"FOLDER":var resource_link=this.render_view("DEFAULT","resource_with_icon",list[i]["resource_id"],false,list[i]["display_text"]);break;default:var resource_link=this.render_view("DEFAULT","resource_with_icon",list[i]["resource_id"],true);break;}
rows.appendChild(TR(null,TD({"width":"25"},IMG({"src":this.get_view_association_icon(list[i]["resource_type"])})),TD(null,list[i]["display_action"]),TD(null,resource_link?resource_link:this.render_view("DEFAULT","deleted_resource_with_icon",list[i]["resource_type"],list[i]["display_text"])),TD(null,this.english_timestamp(strtotime(list[i]["display_timestamp"].replace("(","").replace(")","")),true)),TD(null,list[i]["display_user_responsible"]),(this.user_levels[this.current_user_level]<this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"])?null:TD(null,list[i]["ip_address"])));}
var alerts=DIV({"style":"padding: 10px; padding-top: 0px;"},H3(null,"Alerts (last 7 days)"),TABLE({"border":"0","cellpadding":"5","cellspacing":"0","width":"100%"},rows));}}
var reminders=null;if(alerts_and_reminders["reminder"].length>0){var rows=TBODY();var list=alerts_and_reminders["reminder"];rows.appendChild(TR(null,TD({"width":"150","style":"font-weight: bold;"},"Link to Reminder"),TD({"style":"font-weight: bold;"},"Notes"),TD({"width":"150","style":"font-weight: bold;"},"Remind Me On")));if(list&&(list.length>0)){for(var x=0;x<list.length;x++){if(!Basis.is_function(list[x])&&(Basis.is_number(Basis.parse_number(list[x])))&&(parseInt(isoTimestamp(this.resource_linker[list[x]]["misc_vars"]["date_from"]).getTime().toString().substring(0,10))>=(parseInt(new Date().getTime().toString().substring(0,10))-(60*60*24*7)))){if(this.resource_linker[list[x]]["misc_vars"]["disabled"]!="yes"){rows.appendChild(TR(null,TD({"width":"150","style":"font-weight: bold;"},this.render_view("DEFAULT","resource_with_icon",list[x],true)),TD({"style":"font-weight: normal;"},this.resource_linker[list[x]]["misc_vars"]["notes"]),TD({"width":"150","style":"font-weight: normal;"},this.resource_linker[list[x]]["misc_vars"]["date_from"])));}}}
if(rows.getElementsByTagName("TR").length>1){var reminders=DIV({"style":"padding: 10px; padding-top: 0px;"},H3(null,"Reminders (last 7 days)"),TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},rows));}}}
var requests=null;if(this.user_levels[this.current_user_level]>=this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"]){var rows=TBODY();var list=this.pending_requests[this.site_id];rows.appendChild(TR(null,TD({"width":"16"}),TD({"width":"150","style":"font-weight: bold;"},"Requested Action"),TD({"style":"font-weight: bold;"},"Target Resource"),TD({"width":"175","style":"font-weight: bold;"},"Time Action Occurred"),TD({"width":"100","style":"font-weight: bold;"},"User Responsible"),TD({"width":"48","style":"font-weight: bold;"}," "),TD({"width":"16"}),TD({"width":"16"})));if(list&&(list.length>0)){for(var x in list){if(!Basis.is_function(list[x])&&(Basis.is_number(Basis.parse_number(x)))){var icon_type=null;var request_text=null;switch(list[x]["request_type"]){case"APPROVE_USER_CREATION":icon_type="USER";request_text="Approve new user signup";break;case"INVITE_USER_TO_SITE":icon_type="CONTACT.V2";request_text="Invited contact to join site";break;}
var icon=IMG({"src":this.get_view_association_icon(icon_type)});var approve=IMG({"src":"images/images/default_icons/add.gif","style":"cursor: pointer;"});Basis.attach_tooltip(approve,"Approve this request");var deny=IMG({"src":"images/images/default_icons/delete.gif","style":"cursor: pointer;"});Basis.attach_tooltip(deny,"Deny this request");var row=TR(null,TD({"width":"16"},icon),TD({"width":"150"},request_text),TD(null,list[x]["display_text"]),TD({"width":"175"},list[x]["display_timestamp_requested"]),TD({"width":"100"},list[x]["display_user_requested_by"]),TD({"width":"48","style":"font-weight: bold;"}," "),TD({"width":"16"},approve),TD({"width":"16"},deny));Basis.signal_handler.connect(approve,"onclick",bind(partial(function(request_id,request_status,element_to_delete){if(confirm("Are you sure you want to approve this request?")){this.custom_ajax_action("complete_pending_request",request_id,request_status,element_to_delete);}},list[x]["id"],"GRANTED",row),this),false);Basis.signal_handler.connect(deny,"onclick",bind(partial(function(request_id,request_status,element_to_delete){if(confirm("Are you sure you want to deny this request?")){this.custom_ajax_action("complete_pending_request",request_id,request_status,element_to_delete);}},list[x]["id"],"DENIED",row),this),false);rows.appendChild(row);}}
var requests=DIV({"style":"padding: 10px; padding-top: 0px;"},H3(null,"Stuff Needing Administrator Approval"),TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},rows));}}
var history=DIV({"style":"padding: 10px; padding-top: 0px;"},H3(null,"What's New (last 7 days)"));var table=TABLE({"width":"100%","cellpadding":"3"},TBODY(null,TR(null,TD(null,Basis.nbsp()),TD(null,STRONG(null,"Action Taken")),TD(null,STRONG(null,"Target Resource")),TD(null,STRONG(null,"Time Action Occurred")),TD(null,STRONG(null,"User Responsible")),(this.user_levels[this.current_user_level]<this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"])?null:TD(null,STRONG(null,"IP Address")))));var list=this.resource_history[this.site_id];for(var i in list){if(Basis.is_number(i)){switch(list[i]["resource_type"]){case"FILE":case"FOLDER":var resource_link=this.render_view("DEFAULT","resource_with_icon",list[i]["resource_id"],false,list[i]["display_text"]);break;default:var resource_link=this.render_view("DEFAULT","resource_with_icon",list[i]["resource_id"],true);break;}
var tr=TR(null,TD({"width":"25"},IMG({"src":this.get_view_association_icon(list[i]["resource_type"])})),TD(null,list[i]["display_action"]),TD(null,resource_link?resource_link:this.render_view("DEFAULT","deleted_resource_with_icon",list[i]["resource_type"],list[i]["display_text"])),TD(null,this.english_timestamp(strtotime(list[i]["display_timestamp"].replace("(","").replace(")","")),true)),TD(null,list[i]["display_user_responsible"]),(this.user_levels[this.current_user_level]<this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"])?null:TD(null,list[i]["ip_address"]));table.firstChild.appendChild(tr);}}
history.appendChild(table);var content=DIV(null,alerts,reminders,requests,history);var index=this.render_view("DEFAULT","default","Collaborate",content);this.tiles.ui.go_to(index);},this));},this));Basis.state_handler.add_state("COLLABORATE_alerts_and_reminders");this.set_custom_view_renderer("COLLABORATE","alerts_and_reminders",bind(function(){this.resource_id=null;this.reset_states();Basis.state_handler.enter_state("COLLABORATE_alerts_and_reminders");this.populate_submenu("collaborate","Alerts & Reminders");this.tiles.ui.clear_all_tiles();var index=this.render_view("DEFAULT","default","Alerts & Reminders");this.tiles.ui.tiles[index].list=new Basis.grid_control.generic_resource({"dashboard":this});this.tiles.ui.tiles[index].list.grid_control.add_new_resource=bind(function(){this.grid_control.dashboard.run_wizard(this.resource_type,{"resource_id":null,"data_row":{},"grid_control":this.grid_control});},this.tiles.ui.tiles[index].list);this.tiles.ui.tiles[index].list.resource_type="ALERT";this.tiles.ui.tiles[index].list.grid_control.elements["container_output"]=this.tiles.ui.tiles[index].firstChild.content;var a=this.tiles.ui.tiles[index].list.grid_control.fetch_raw_data("ALERT");a.addCallback(bind(partial(function(dashboard){this.render();this.grid_control.fetch_groups();dashboard.system_log("Alert list loaded successfully",true);},this),this.tiles.ui.tiles[index].list));this.tiles.ui.go_to(index);},this));Basis.state_handler.add_state("COLLABORATE_contacts");this.set_custom_view_renderer("COLLABORATE","contacts",bind(function(){this.resource_id=null;this.reset_states();Basis.state_handler.enter_state("COLLABORATE_contacts");this.populate_submenu("collaborate","Contact Lists");this.tiles.ui.clear_all_tiles();var index=this.render_view("DEFAULT","default","Contact Lists");this.tiles.ui.tiles[index].list=new Basis.grid_control.generic_resource({"dashboard":this});this.tiles.ui.tiles[index].list.resource_type="CONTACT_LIST";this.tiles.ui.tiles[index].list.grid_control.elements["container_output"]=this.tiles.ui.tiles[index].firstChild.content;var a=this.tiles.ui.tiles[index].list.grid_control.fetch_raw_data("CONTACT_LIST");a.addCallback(bind(partial(function(dashboard){this.render();this.grid_control.fetch_groups();dashboard.system_log("Contact lists loaded successfully",true);},this),this.tiles.ui.tiles[index].list));this.tiles.ui.go_to(index);},this));Basis.state_handler.add_state("COLLABORATE_discussions");this.set_custom_view_renderer("COLLABORATE","discussions",bind(function(){this.resource_id=null;this.reset_states();Basis.state_handler.enter_state("COLLABORATE_discussions");this.populate_submenu("collaborate","Discussions");this.tiles.ui.clear_all_tiles();var index=this.render_view("DEFAULT","default","Discussions");this.tiles.ui.tiles[index].list=new Basis.grid_control.generic_resource({"dashboard":this});this.tiles.ui.tiles[index].list.resource_type="DISCUSSION";this.tiles.ui.tiles[index].list.grid_control.elements["container_output"]=this.tiles.ui.tiles[index].firstChild.content;var a=this.tiles.ui.tiles[index].list.grid_control.fetch_raw_data("DISCUSSION");a.addCallback(bind(partial(function(dashboard){this.render();this.grid_control.fetch_groups();dashboard.system_log("Discussions loaded successfully",true);},this),this.tiles.ui.tiles[index].list));this.tiles.ui.go_to(index);},this));Basis.state_handler.add_state("COLLABORATE_galleries");this.set_custom_view_renderer("COLLABORATE","galleries",bind(function(){this.resource_id=null;this.reset_states();Basis.state_handler.enter_state("COLLABORATE_galleries");this.populate_submenu("collaborate","Image Galleries");this.tiles.ui.clear_all_tiles();var index=this.render_view("DEFAULT","default","Image Galleries");this.tiles.ui.tiles[index].list=new Basis.grid_control.generic_resource({"dashboard":this});this.tiles.ui.tiles[index].list.resource_type="IMAGE_GALLERY";this.tiles.ui.tiles[index].list.grid_control.elements["container_output"]=this.tiles.ui.tiles[index].firstChild.content;var a=this.tiles.ui.tiles[index].list.grid_control.fetch_raw_data("IMAGE_GALLERY");a.addCallback(bind(partial(function(dashboard){this.render();this.grid_control.fetch_groups();dashboard.system_log("Image galleries loaded successfully",true);},this),this.tiles.ui.tiles[index].list));this.tiles.ui.go_to(index);},this));Basis.state_handler.add_state("COLLABORATE_tasks");this.set_custom_view_renderer("COLLABORATE","tasks",bind(function(){this.resource_id=null;this.reset_states();Basis.state_handler.enter_state("COLLABORATE_tasks");this.populate_submenu("collaborate","Task Lists");this.tiles.ui.clear_all_tiles();var index=this.render_view("DEFAULT","default","Task Lists");this.tiles.ui.tiles[index].list=new Basis.grid_control.generic_resource({"dashboard":this});this.tiles.ui.tiles[index].list.resource_type="TASK_LIST";this.tiles.ui.tiles[index].list.grid_control.elements["container_output"]=this.tiles.ui.tiles[index].firstChild.content;var a=this.tiles.ui.tiles[index].list.grid_control.fetch_raw_data("TASK_LIST");a.addCallback(bind(partial(function(dashboard){this.render();this.grid_control.fetch_groups();dashboard.system_log("Task lists loaded successfully",true);},this),this.tiles.ui.tiles[index].list));this.tiles.ui.go_to(index);},this));Basis.state_handler.add_state("COLLABORATE_users");this.set_custom_view_renderer("COLLABORATE","users",bind(function(){this.resource_id=null;this.reset_states();Basis.state_handler.enter_state("COLLABORATE_users");this.populate_submenu("collaborate","Users");this.tiles.ui.clear_all_tiles();var index=this.render_view("DEFAULT","default","Users");this.tiles.ui.tiles[index].list=new Basis.grid_control.generic_resource({"dashboard":this});this.tiles.ui.tiles[index].list.resource_type="USER";this.tiles.ui.tiles[index].list.grid_control.elements["container_output"]=this.tiles.ui.tiles[index].firstChild.content;var a=this.tiles.ui.tiles[index].list.grid_control.fetch_raw_data("USER");a.addCallback(bind(partial(function(dashboard){this.render();this.grid_control.fetch_groups();dashboard.system_log("User list loaded successfully",true);},this),this.tiles.ui.tiles[index].list));this.tiles.ui.go_to(index);},this));this.set_custom_view_renderer("COLLABORATE","emails",bind(function(){this.resource_id=null;this.reset_states();Basis.state_handler.enter_state("COLLABORATE_email");this.populate_submenu("collaborate","Email");this.tiles.ui.clear_all_tiles();var index=this.render_view("DEFAULT","default","Email");this.tiles.ui.tiles[index].list=new Basis.grid_control.generic_resource({"dashboard":this});this.tiles.ui.tiles[index].list.grid_control.can_add_new_resource=false;this.tiles.ui.tiles[index].list.resource_type="EMAIL";this.tiles.ui.tiles[index].list.grid_control.elements["container_output"]=this.tiles.ui.tiles[index].firstChild.content;var a=this.tiles.ui.tiles[index].list.grid_control.fetch_raw_data("EMAIL");a.addCallback(bind(partial(function(dashboard){this.render();this.grid_control.fetch_groups();dashboard.system_log("Email list loaded successfully",true);},this),this.tiles.ui.tiles[index].list));this.tiles.ui.go_to(index);},this));Basis.state_handler.add_state("COLLABORATE_groups");this.set_custom_view_renderer("COLLABORATE","groups",bind(function(){this.resource_id=null;this.reset_states();Basis.state_handler.enter_state("COLLABORATE_groups");this.populate_submenu("collaborate","Groups");this.tiles.ui.clear_all_tiles();var index=this.render_view("DEFAULT","default","Groups");this.tiles.ui.tiles[index].list=new Basis.grid_control.generic_resource({"dashboard":this});this.tiles.ui.tiles[index].list.resource_type="GROUP";this.tiles.ui.tiles[index].list.grid_control.elements["container_output"]=this.tiles.ui.tiles[index].firstChild.content;var a=this.tiles.ui.tiles[index].list.grid_control.fetch_raw_data("GROUP");a.addCallback(bind(partial(function(dashboard){this.render();this.grid_control.fetch_groups();dashboard.system_log("Group list loaded successfully",true);},this),this.tiles.ui.tiles[index].list));this.tiles.ui.go_to(index);},this));Basis.state_handler.add_state("COLLABORATE_lists");this.set_custom_view_renderer("COLLABORATE","lists",bind(function(){this.resource_id=null;this.reset_states();Basis.state_handler.enter_state("COLLABORATE_lists");this.populate_submenu("collaborate","Lists");this.tiles.ui.clear_all_tiles();var index=this.render_view("DEFAULT","default","Lists");this.tiles.ui.tiles[index].list=new Basis.grid_control.generic_resource({"dashboard":this});this.tiles.ui.tiles[index].list.resource_type="LIST";this.tiles.ui.tiles[index].list.grid_control.elements["container_output"]=this.tiles.ui.tiles[index].firstChild.content;var a=this.tiles.ui.tiles[index].list.grid_control.fetch_raw_data("LIST");a.addCallback(bind(partial(function(dashboard){this.render();this.grid_control.fetch_groups();dashboard.system_log("List list loaded successfully",true);},this),this.tiles.ui.tiles[index].list));this.tiles.ui.go_to(index);},this));Basis.state_handler.add_state("COLLABORATE_files");this.set_custom_view_renderer("COLLABORATE","files",bind(function(reset_to_top,section,choose_file,element_to_populate,ui_or_wizard){this.resource_id=null;var reset_to_top=(reset_to_top!==null)?reset_to_top:true;var section="file_explorer";var mode=(choose_file==true)?"file_explorer_choose_file":"file_explorer";var element_to_populate=((mode=="file_explorer_choose_file")&&Basis.is_element(element_to_populate))?element_to_populate:null;switch(ui_or_wizard){case"ui":case"wizard":break;default:var ui_or_wizard="ui";break;}
if(reset_to_top){this.reset_states();}
Basis.state_handler.enter_state("COLLABORATE_files");if(reset_to_top){this.tiles[ui_or_wizard].clear_all_tiles();this.populate_submenu("files");}
if(element_to_populate){Basis.misc_vars.to_populate=element_to_populate;}
this.elements["file_explorer"]=this.render_view("RENDER","file_explorer_embedded","files",mode,ui_or_wizard);var index=this.render_view("DEFAULT","default","Files",this.elements["file_explorer"],ui_or_wizard);this.elements["file_explorer"].render_again=bind(partial(function(container,mode,ui_or_wizard){Basis.remove_children(container);container.appendChild(this.render_view("RENDER","file_explorer_embedded","files",mode,ui_or_wizard));this.elements["file_explorer"].restore_previously_opened_folders();},this.tiles[ui_or_wizard].tiles[index].firstChild.content,mode,ui_or_wizard),this);this.elements["file_explorer"].restore_previously_opened_folders();this.tiles[ui_or_wizard].go_to(index);},this));this.set_custom_view_renderer("RENDER","billing",bind(function(){var list=this.site_billing_info[this.site_id]["site"];var settings=this.site_settings[this.site_id];var renew_button=INPUT({"type":"button","value":"Go"});Basis.signal_handler.connect(renew_button,"onclick",bind(function(){this.custom_ajax_action("renew_site");},this),false);var package_options={"":" ","FREE_OR_INTERNAL":"Free / Internal Website","PROMO":"Promotional Website","30_DAY_TRIAL":"30 Day Trial","SQ20":"SQ20","SQ30":"SQ30","SQ50":"SQ50","SQ75":"SQ75","SQ100":"SQ100","SQ250":"SQ250","SQ500":"SQ500","ENTERPRISE":"Enterprise","NON_SQ_STATIC_SITE":"Static, Non-SQ Website"}
var package_name=this.is_admin?SELECT():SPAN(null,package_options[list["package_name"]]);var expiration_date=this.is_admin?Basis.create_date_formfield(list["expiration_date"],true):SPAN(null,list["expiration_date"]);if(this.is_admin){expiration_date.set_up_auto_save({"table":this.site_id,"field":"expiration_date","custom_action":"dashboard.change_site_billing_option"},partial(function(dashboard,date_element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["expiration_date"]=date_element.get_date();},this,expiration_date));}
var disable_date=this.is_admin?Basis.create_date_formfield(list["disable_date"],true):SPAN(null,list["disable_date"]);if(this.is_admin){disable_date.set_up_auto_save({"table":this.site_id,"field":"disable_date","custom_action":"dashboard.change_site_billing_option"},partial(function(dashboard,date_element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["disable_date"]=date_element.get_date();},this,disable_date));}
var send_emails=this.is_admin?SELECT():SPAN(null,list["send_billing_emails"]);var monthly_cost=this.is_admin?INPUT({"type":"text","value":list["monthly_cost"]}):SPAN(null,list["monthly_cost"]);var num_pages=this.is_admin?INPUT({"type":"text","value":list["num_pages"]}):SPAN(null,list["num_pages"]);var num_basic_users=this.is_admin?INPUT({"type":"text","value":list["num_basic_users"]}):SPAN(null,list["num_basic_users"]);var num_power_users=this.is_admin?INPUT({"type":"text","value":list["num_power_users"]}):SPAN(null,list["num_power_users"]);var num_groups=this.is_admin?INPUT({"type":"text","value":list["num_groups"]}):SPAN(null,list["num_groups"]);var num_tasks=this.is_admin?INPUT({"type":"text","value":list["num_tasks"]}):SPAN(null,list["num_tasks"]);var num_contacts=this.is_admin?INPUT({"type":"text","value":list["num_contacts"]}):SPAN(null,list["num_contacts"]);var num_lists=this.is_admin?INPUT({"type":"text","value":list["num_lists"]}):SPAN(null,list["num_lists"]);var num_discussions=this.is_admin?INPUT({"type":"text","value":list["num_discussions"]}):SPAN(null,list["num_discussions"]);var storage_capacity=this.is_admin?INPUT({"type":"text","value":list["storage_capacity"]}):SPAN(null,list["storage_capacity"]);var has_private_pages=this.is_admin?SELECT():SPAN(null,list["has_private_pages"]);var has_modules=this.is_admin?SELECT():SPAN(null,list["has_modules"]);var notes=this.is_admin?Basis.textarea({"style":"width: 250px; height: 150px;"},list["notes"]):SPAN();var num_emails=this.is_admin?INPUT({"type":"text","value":list["num_emails"]}):SPAN(null,list["num_emails"]);var custom_login_graphic_url=INPUT({"type":"text","value":Basis._string(this.resource_linker[this.site_resource_id]["misc_vars"]["custom_login_graphic"]),"style":"width: 500px;"});custom_login_graphic_url.onchange=bind(function(){if(this.editable_element.save_editable_element_changes){this.editable_element.editing=true;this.editable_element.save_editable_element_changes();}},custom_login_graphic_url);var file_select=IMG({"src":"images/images/default_icons/png/folder_magnify.png","style":"cursor: pointer;"});Basis.signal_handler.connect(file_select,"onclick",bind(partial(function(element){this.render_view("COLLABORATE","files",false,null,true,element,"ui");},custom_login_graphic_url),this),false);var custom_login_graphic=DIV(null,custom_login_graphic_url,Basis.nbsp(),file_select);Basis.make_text_element_editable(custom_login_graphic_url,{"resource_id":this.site_resource_id,"field":"custom_login_graphic","after_success":partial(function(dashboard,element,req){dashboard.resource_linker[dashboard.site_resource_id]["misc_vars"]["custom_login_graphic"]=element.value;},this,custom_login_graphic_url)});var default_email_template=this.is_admin?Basis.textarea({"style":"width: 250px; height: 150px;"},list["default_email_template"]):SPAN();var toggle_default_email_template=INPUT({"type":"button","value":"Richtext Mode"});Basis.signal_handler.connect(toggle_default_email_template,"onclick",partial(function(element){if(tinyMCE&&!tinyMCE.get(element.id)){Basis.convert_textarea_to_richtextarea(element);}else{tinyMCE.execCommand("mceRemoveControl",false,element.id);}},default_email_template),false);var requires_login=SELECT();var default_to_admin_section=SELECT();Basis.select_add_options(requires_login,{"yes":"Yes","no":"No"});Basis.select_select_item_by_value(requires_login,(list["requires_login"]=="yes")?list["requires_login"]:"no");Basis.make_text_element_dropdown(requires_login,null,{"table":this.site_id,"field":"requires_login","custom_action":"dashboard.change_site_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["requires_login"]=element.options[element.selectedIndex].value},this,requires_login)});Basis.select_add_options(default_to_admin_section,{"true":"Yes","false":"No"});Basis.select_select_item_by_value(default_to_admin_section,(list["default_to_admin_section"]=="true")?list["default_to_admin_section"]:"false");Basis.make_text_element_dropdown(default_to_admin_section,null,{"table":this.site_id,"field":"default_to_admin_section","custom_action":"dashboard.change_site_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["default_to_admin_section"]=element.options[element.selectedIndex].value},this,default_to_admin_section)});var public_can_sign_up=null;var sign_up_passkey=null;if(this.is_admin){var public_can_sign_up=SELECT();Basis.select_add_options(public_can_sign_up,{"no":"No","yes":"Yes"});Basis.select_select_item_by_value(public_can_sign_up,settings["public_can_sign_up"]);Basis.make_text_element_dropdown(public_can_sign_up,null,{"table":this.site_id,"field":"public_can_sign_up","custom_action":"dashboard.change_site_settings"});var sign_up_passkey=INPUT({"type":"text","value":settings["sign_up_passkey"]});Basis.make_text_element_editable(sign_up_passkey,{"table":this.site_id,"field":"sign_up_passkey","custom_action":"dashboard.change_site_settings"});}
var account_representative=null;var rep_list=this.site_billing_info[this.site_id]
var name=this.is_admin?INPUT({"type":"text","value":rep_list["representative"]["name"]}):null;var address1=this.is_admin?INPUT({"type":"text","value":rep_list["representative"]["address1"]}):null;var address2=this.is_admin?INPUT({"type":"text","value":rep_list["representative"]["address2"]}):null;var city=this.is_admin?INPUT({"type":"text","value":rep_list["representative"]["city"]}):null;var state=this.is_admin?INPUT({"type":"text","value":rep_list["representative"]["state"]}):null;var zip=this.is_admin?INPUT({"type":"text","value":rep_list["representative"]["zip"]}):null;var country=this.is_admin?INPUT({"type":"text","value":rep_list["representative"]["country"]}):null;var phone_number1=this.is_admin?INPUT({"type":"text","value":rep_list["representative"]["phone_number1"]}):null;var phone_number2=this.is_admin?INPUT({"type":"text","value":rep_list["representative"]["phone_number2"]}):null;var fax=this.is_admin?INPUT({"type":"text","value":rep_list["representative"]["fax"]}):null;var email_address1=this.is_admin?INPUT({"type":"text","value":rep_list["representative"]["email_address1"]}):null;var email_address2=this.is_admin?INPUT({"type":"text","value":rep_list["representative"]["email_address2"]}):null;var rep_notes=this.is_admin?Basis.textarea({"style":"width: 250px; height: 100px;"},rep_list["representative"]["notes"]):null;if(this.is_admin){Basis.make_text_element_editable(name,{"sid":this.session_id,"url":this.post_url,"table":rep_list["representative"]["id"],"field":"name","custom_action":"dashboard.change_site_billing_representative_option"});Basis.make_text_element_editable(address1,{"sid":this.session_id,"url":this.post_url,"table":rep_list["representative"]["id"],"field":"address1","custom_action":"dashboard.change_site_billing_representative_option"});Basis.make_text_element_editable(address2,{"sid":this.session_id,"url":this.post_url,"table":rep_list["representative"]["id"],"field":"address2","custom_action":"dashboard.change_site_billing_representative_option"});Basis.make_text_element_editable(city,{"sid":this.session_id,"url":this.post_url,"table":rep_list["representative"]["id"],"field":"city","custom_action":"dashboard.change_site_billing_representative_option"});Basis.make_text_element_editable(state,{"sid":this.session_id,"url":this.post_url,"table":rep_list["representative"]["id"],"field":"state","custom_action":"dashboard.change_site_billing_representative_option"});Basis.make_text_element_editable(zip,{"sid":this.session_id,"url":this.post_url,"table":rep_list["representative"]["id"],"field":"zip","custom_action":"dashboard.change_site_billing_representative_option"});Basis.make_text_element_editable(country,{"sid":this.session_id,"url":this.post_url,"table":rep_list["representative"]["id"],"field":"country","custom_action":"dashboard.change_site_billing_representative_option"});Basis.make_text_element_editable(phone_number1,{"sid":this.session_id,"url":this.post_url,"table":rep_list["representative"]["id"],"field":"phone_number1","custom_action":"dashboard.change_site_billing_representative_option"});Basis.make_text_element_editable(phone_number2,{"sid":this.session_id,"url":this.post_url,"table":rep_list["representative"]["id"],"field":"phone_number2","custom_action":"dashboard.change_site_billing_representative_option"});Basis.make_text_element_editable(fax,{"sid":this.session_id,"url":this.post_url,"table":rep_list["representative"]["id"],"field":"fax","custom_action":"dashboard.change_site_billing_representative_option"});Basis.make_text_element_editable(email_address1,{"sid":this.session_id,"url":this.post_url,"table":rep_list["representative"]["id"],"field":"email_address1","custom_action":"dashboard.change_site_billing_representative_option"});Basis.make_text_element_editable(email_address2,{"sid":this.session_id,"url":this.post_url,"table":rep_list["representative"]["id"],"field":"email_address2","custom_action":"dashboard.change_site_billing_representative_option"});Basis.make_text_element_editable(rep_notes,{"sid":this.session_id,"url":this.post_url,"table":rep_list["representative"]["id"],"field":"notes","custom_action":"dashboard.change_site_billing_representative_option"});account_representative=[H2(null,"Account Representative Information:"),TABLE({"width":"100%","border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"115","style":"font-weight: bold;"},"Name:"),TD(null,name)),TR(null,TD({"width":"115","style":"font-weight: bold;"},"Address:"),TD(null,address1)),TR(null,TD({"width":"115","style":"font-weight: bold;"},"Address (cont'd):"),TD(null,address2)),TR(null,TD({"width":"115","style":"font-weight: bold;"},"City:"),TD(null,city)),TR(null,TD({"width":"115","style":"font-weight: bold;"},"State:"),TD(null,state)),TR(null,TD({"width":"115","style":"font-weight: bold;"},"Zip:"),TD(null,zip)),TR(null,TD({"width":"115","style":"font-weight: bold;"},"Country:"),TD(null,country)),TR(null,TD({"width":"115","style":"font-weight: bold;"},"Phone Number:"),TD(null,phone_number1)),TR(null,TD({"width":"115","style":"font-weight: bold;"},"Phone Number (other):"),TD(null,phone_number2)),TR(null,TD({"width":"115","style":"font-weight: bold;"},"Fax:"),TD(null,fax)),TR(null,TD({"width":"115","style":"font-weight: bold;"},"Email Address:"),TD(null,email_address1)),TR(null,TD({"width":"115","style":"font-weight: bold;"},"Email Address (other):"),TD(null,email_address2)),TR(null,TD({"width":"115","style":"font-weight: bold;"},"Notes:"),TD(null,rep_notes))))];}
if(this.is_admin){Basis.select_add_options(package_name,package_options);Basis.select_select_item_by_value(package_name,list["package_name"]);Basis.make_text_element_dropdown(package_name,null,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"package_name","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["package_name"]=element.options[element.selectedIndex].value},this,package_name)});Basis.select_add_options(send_emails,{"yes":"Yes","no":"No"});Basis.select_select_item_by_value(send_emails,list["send_billing_emails"]);Basis.make_text_element_dropdown(send_emails,null,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"send_billing_emails","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["send_billing_emails"]=element.options[element.selectedIndex].value},this,send_emails)});Basis.make_text_element_editable(monthly_cost,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"monthly_cost","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["monthly_cost"]=element.value;},this,monthly_cost)});Basis.make_text_element_editable(num_pages,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"num_pages","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["num_pages"]=element.value;},this,num_pages)});Basis.make_text_element_editable(num_basic_users,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"num_basic_users","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["num_basic_users"]=element.value;},this,num_basic_users)});Basis.make_text_element_editable(num_power_users,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"num_power_users","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["num_power_users"]=element.value;},this,num_power_users)});Basis.make_text_element_editable(num_groups,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"num_groups","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["num_groups"]=element.value;},this,num_groups)});Basis.make_text_element_editable(num_tasks,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"num_tasks","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["num_tasks"]=element.value;},this,num_tasks)});Basis.make_text_element_editable(num_contacts,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"num_contacts","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["num_contacts"]=element.value;},this,num_contacts)});Basis.make_text_element_editable(num_lists,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"num_lists","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["num_lists"]=element.value;},this,num_lists)});Basis.make_text_element_editable(num_discussions,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"num_discussions","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["num_discussions"]=element.value;},this,num_discussions)});Basis.make_text_element_editable(storage_capacity,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"storage_capacity","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.max_diskspace=(Basis.filter_number(element.value)*(1024*1024));dashboard.site_billing_info[dashboard.site_id]["site"]["storage_capacity"]=element.value;},this,storage_capacity)});Basis.select_add_options(has_private_pages,{"yes":"Yes","no":"No"});Basis.select_select_item_by_value(has_private_pages,list["has_private_pages"]);Basis.make_text_element_dropdown(has_private_pages,null,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"has_private_pages","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["has_private_pages"]=element.options[element.selectedIndex].value},this,has_private_pages)});Basis.select_add_options(has_modules,{"yes":"Yes","no":"No"});Basis.select_select_item_by_value(has_modules,list["has_modules"]);Basis.make_text_element_dropdown(has_modules,null,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"has_modules","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["has_modules"]=element.options[element.selectedIndex].value},this,has_modules)});Basis.make_text_element_editable(notes,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"notes","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["notes"]=element.value;},this,notes)});Basis.make_text_element_editable(default_email_template,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"default_email_template","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["default_email_template"]=element.value;},this,notes)});Basis.make_text_element_editable(num_emails,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"num_emails","custom_action":"dashboard.change_site_billing_option","after_success":partial(function(dashboard,element,req){dashboard.site_billing_info[dashboard.site_id]["site"]["num_emails"]=element.value;},this,num_emails)});}
var product_list=SELECT({"style":"width: 125px;"});var product_add_button=INPUT({"type":"button","value":"Add Product"});Basis.signal_handler.connect(product_add_button,"onclick",bind(function(){if(confirm("Are you sure you want to add a new product to this site?")){var product_id=this.select.options[this.select.selectedIndex].value;this.dashboard.custom_ajax_action("add_site_product",product_id);}},{"select":product_list,"dashboard":this}),false);var list=this.site_billing_info[this.site_id]["product_list"];if(list){for(var i in list){if(!Basis.is_function(list[i])){Basis.select_add_option(product_list,list[i]["id"],list[i]["name"]);}}}
if(!this.is_admin){var product_list=null;var product_add_button=null;}
var products=[];var list=this.site_billing_info[this.site_id]["products"];if(list){for(var i in list){if(!Basis.is_function(list[i])){var product_expiration=this.is_admin?Basis.create_date_formfield(list[i]["expiration_date"],true):SPAN(null,list[i]["expiration_date"]);if(this.is_admin){product_expiration.set_up_auto_save({"table":list[i]["id"],"field":"expiration_date","custom_action":"dashboard.change_site_product_billing_option"},partial(function(dashboard,date_element,i,req){dashboard.site_billing_info[dashboard.site_id]["products"][i]["expiration_date"]=date_element.get_date();},this,product_expiration,i));}
var cycle_cost=parseFloat(Math.round((list[i]["billing_type"]=="repeated")?(Basis.parse_number(list[i]["monthly_cost"])*Basis.parse_number(list[i]["billing_cycle_num_months"])):Basis.parse_number(list[i]["monthly_cost"])));var cost=this.is_admin?INPUT({"type":"text","style":"width: 30px;","value":cycle_cost}):SPAN(null,cycle_cost);var comments=this.is_admin?INPUT({"type":"text","style":"width: 250px;","value":list[i]["comments"]}):SPAN();if(this.is_admin){Basis.make_text_element_editable(cost,{"sid":this.session_id,"url":this.post_url,"table":list[i]["id"],"field":"monthly_cost","custom_action":"dashboard.change_site_product_billing_option"});Basis.make_text_element_editable(comments,{"sid":this.session_id,"url":this.post_url,"table":list[i]["id"],"field":"comments","custom_action":"dashboard.change_site_product_billing_option"});}
products.push(TABLE({"width":"100%","border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"200","style":"font-weight: bold;"},list[i]["name"]),TD({"width":"150"},"$",cost,((list[i]["billing_type"]=="repeated")?(" (cost for "+list[i]["billing_cycle_num_months"]+" months)"):null)),(list[i]["billing_type"]=="repeated")?TD({"width":"280"},product_expiration):TD({"width":"280"}),(this.is_admin)?TD(null,"Comments: ",comments):null))));}}}
var billing=DIV({"style":"padding: 10px"},H2(null,"Site Information:"),TABLE({"width":"100%","border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"125","style":"font-weight: bold;"},"Renew Site:"),TD(null,renew_button)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"Package Name:"),TD(null,package_name)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"Expiration Date:"),TD(null,expiration_date)),(this.is_admin)?TR(null,TD({"width":"125","style":"font-weight: bold;"},"Disable Date:"),TD(null,disable_date)):null,(this.is_admin)?TR(null,TD({"width":"125","style":"font-weight: bold;"},"Send Billing Emails?"),TD(null,send_emails," (toggle whether this account contact receives automated billing emails or not)")):null,TR(null,TD({"width":"125","style":"font-weight: bold;"},"Monthly Cost:"),TD(null,monthly_cost)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"# Pages:"),TD(null,num_pages)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"# Basic Users:"),TD(null,num_basic_users)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"# Power Users:"),TD(null,num_power_users)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"# Groups:"),TD(null,num_groups)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"# Tasks:"),TD(null,num_tasks)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"# Contacts:"),TD(null,num_contacts)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"# Discussions:"),TD(null,num_discussions)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"# Lists:"),TD(null,num_lists)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"# Emails Left:"),TD(null,num_emails)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"Storage Capacity:"),TD(null,storage_capacity," (in MB)")),TR(null,TD({"width":"125","style":"font-weight: bold;"},"Has Private Pages?"),TD(null,has_private_pages)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"Has Modules?"),TD(null,has_modules," (Polls, discussion board, etc)")),TR(null,TD({"width":"125","style":"font-weight: bold;"},"Requires Login?"),TD(null,requires_login)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"Default to Admin Section on Login?"),TD(null,default_to_admin_section)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"Custom Login Graphic?"),TD(null,custom_login_graphic)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"Default Email Template?"),TD(null,default_email_template,null)),(this.is_admin)?[TR(null,TD({"width":"125","style":"font-weight: bold;"},"Can public users sign up for accounts?"),TD(null,public_can_sign_up)),TR(null,TD({"width":"125","style":"font-weight: bold;"},"Password used to auto-approve user accounts:"),TD(null,sign_up_passkey))]:null,TR(null,TD({"width":"125","style":"font-weight: bold;"},"Products:",DIV({"style":"font-weight: normal; padding-top: 10px;"},product_list,product_add_button)),TD({"style":"padding: 0px;"},products)),(this.is_admin)?TR(null,TD({"width":"125","style":"font-weight: bold;"},"Notes:"),TD(null,notes)):null)),(this.is_admin)?account_representative:null);return billing;},this));this.set_custom_view_renderer("RENDER","file_explorer_embedded",bind(function(section,mode,ui_or_wizard){switch(ui_or_wizard){case"ui":case"wizard":break;default:var ui_or_wizard="ui";break;}
switch(mode){case"file_explorer":case"file_explorer_choose_file":case"file_explorer_embedded":var mode=mode;break;default:var mode="file_explorer";break;}
switch(section){case"files":case"gallery_files":var section=section;break;default:var section="files";break;}
this.toggle_uploader=bind(function(){var obj=MochiKit.DOM.getElement("uploader_container");if(!obj){var uploader=DIV({"id":"uploader_container","style":"display: none; width: 650px; height: 340px; position: absolute; background-color: #FFFFFF; background-image: url(images/images/no_flash.gif); background-repeat: no-repeat; cursor: pointer;"},MochiKit.DOM.createDOM("embed",{"id":"uploader_container_flash_container","name":"uploader_container_flash_container","src":"twg_flash_uploader4.swf","type":"application/x-shockwave-flash","height":"340","width":"650","quality":"high","bgcolor":"#ffffff","style":"","flashvars":"path_reference="+this.resource_linker[this.file_browser_current_folder]["misc_vars"]["path_reference"]+"&PHPSESSID="+this.session_id+"&cookie_name="+this.cookie_name+"&cookie_value="+Basis.get_cookie(this.cookie_name)}));Basis.signal_handler.connect(uploader,"onclick",function(){window.open("http://www.adobe.com/go/getflashplayer");},null,false);document.body.appendChild(uploader);Basis.align_element_to_element(uploader,"container","center");uploader.style.display="";Basis.key_handler.register_key_event("KEY_ESCAPE","down",bind(function(){Basis.remove_element(this);},uploader));Basis.updated_live_dom();}else{Basis.remove_element("uploader_container");}},this);document.twg_upload_completed=bind(function(){var element=MochiKit.DOM.getElement("resource_"+this.file_browser_current_folder);if(element){Basis.signal_handler.execute_interactive_element(element,"onclick");this.custom_ajax_action("get_site_diskspace");}
if(confirm("Would you like to upload more files?")==false){var obj=MochiKit.DOM.getElement("uploader_container");if(obj){Basis.remove_element("uploader_container");}}},this);var folders=this.render_view("FOLDER","browser",section,mode,ui_or_wizard);var add_files_folder=IMG({"src":"images/images/default_icons/folder_add.gif","style":"cursor: pointer; margin-right: 5px;"});Basis.signal_handler.connect(add_files_folder,"onclick",bind(function(){this.custom_ajax_action("create_new_root_folder","files");},this));Basis.attach_tooltip(add_files_folder,("Add a new Files folder"),null,false);var files_container=DIV({"id":Basis.anonymous_element_id(),"style":"overflow: auto;"});var folders_container=DIV({"id":Basis.anonymous_element_id(),"style":"overflow: auto;"});Basis.register_size_constraints(folders_container,"100%","100%");Basis.register_size_constraints(files_container,"100%","100%");this.elements["files_container"]=files_container;this.elements["folders_container"]=folders_container;var gallery_files=(section=="gallery_files")?DIV({"id":Basis.anonymous_element_id(),"style":"padding-top: 10px; padding-bottom: 5px;"},SPAN({"style":"font-weight: bold;"},"Gallery Files"),folders):null;var diskspace_meter=this.render_view("FILE","diskspace");var files=(section=="files")?DIV({"id":Basis.anonymous_element_id(),"style":"padding-top: 10px; padding-bottom: 5px;"},TABLE({"width":"100%","cellpadding":"0","cellspacing":"0","fclass":"no_select"},TBODY(null,TR(null,TD(null,SPAN({"style":"font-weight: bold;"},"Files")),TD({"width":"18"},add_files_folder)))),folders):null;this.elements["files_root"]=files;this.elements["gallery_root"]=gallery_files;folders_container.appendChild(DIV(null,gallery_files,files));var file_browser=TABLE({"width":"100%","height":"100%","fclass":"no_select"},TBODY(null,TR(null,TD({"width":"350","style":"vertical-align: top;"},diskspace_meter,folders_container),TD({"style":"vertical-align: top;"},files_container))));Basis.convert_nested_elements_to_tree(this.elements["files_root"],null,false,true,null,false,false);Basis.convert_nested_elements_to_tree(this.elements["gallery_root"],null,false,true,null,false,false);this.attach_custom_expand_handler=bind(partial(function(type_of_files,image){Basis.signal_handler.connect(image,{"onclick":[bind(partial(function(dashboard,type_of_files){var resource=this.id.substring(0,(this.id.length-("_toggle").length));var element=Basis.get_element(resource);if(!image.expand_loaded){var children=MochiKit.DOM.getElementsByTagAndClassName("div","resource",Basis.get_element(element.id+"_c"));for(var j=0;j<children.length;j++){var child=children[j];var wrapper=Basis.get_element(child.id+"_wrapper");if(child&&wrapper){MochiKit.DOM.swapDOM(wrapper,child);var node=dashboard.folders[type_of_files].getElementsByTagName("resource_id_"+Basis.filter_number(child.id))[0];var row=dashboard.render_view("FOLDER","browser_row",Basis.filter_number(child.id),node,type_of_files);if(row){MochiKit.DOM.swapDOM(child,row);Basis.convert_nested_elements_to_tree(row,null,false,false,null,false,false);var timage=MochiKit.DOM.getElementsByTagAndClassName("img","Basis.convert_nested_elements_to_tree.toggle",Basis.get_element(row.id+"_wrapper"))[0];if(timage){dashboard.attach_custom_expand_handler(timage);}}}}
image.expand_loaded=true;}
var container=MochiKit.DOM.getElement((resource+"_c"));if(container){if(this.open){var image_src=(container.childNodes.length==0)?((container.parentNode.nextSibling)?("images/images/default_icons/tree/tree-leaf.gif"):("images/images/default_icons/tree/tree-leaf-end.gif")):((container.parentNode.nextSibling)?("images/images/default_icons/tree/tree-node.gif"):("images/images/default_icons/tree/tree-node-end.gif"));container.style.display="none";this.src=image_src;this.open=false;}else{var image_src=(container.childNodes.length==0)?((container.parentNode.nextSibling)?("images/images/default_icons/tree/tree-leaf.gif"):("images/images/default_icons/tree/tree-leaf-end.gif")):((container.parentNode.nextSibling)?("images/images/default_icons/tree/tree-node-open.gif"):("images/images/default_icons/tree/tree-node-open-end.gif"));container.style.display="";this.src=image_src;this.open=true;}
if(this.open){var resource_id=Basis.filter_number(resource);var cookie_data=Basis.get_cookie(dashboard.site_id+".folders");cookie_data=cookie_data?cookie_data:"[]";var open=MochiKit.Base.evalJSON(cookie_data);if(Basis.array_search(open,resource_id)==null){open.push(resource_id);}
open.sort();Basis.set_cookie((dashboard.site_id+".folders"),MochiKit.Base.serializeJSON(open));}else{var resource_id=Basis.filter_number(resource);var cookie_data=Basis.get_cookie(dashboard.site_id+".folders");cookie_data=cookie_data?cookie_data:"[]";var open=MochiKit.Base.evalJSON(cookie_data);var index=Basis.array_search(open,resource_id);if(index!=null){delete open[index];}
open.sort();Basis.set_cookie((dashboard.site_id+".folders"),MochiKit.Base.serializeJSON(open));}}},this,((type_of_files=="file_explorer")?"files":"gallery_files")),image)]},null,false);},((section=="files")?"file_explorer":"gallery_explorer")),this);var list=MochiKit.DOM.getElementsByTagAndClassName("img","Basis.convert_nested_elements_to_tree.toggle",file_browser);for(var i=0;i<list.length;i++){var image=list[i];if(Basis.get_element(image)){this.attach_custom_expand_handler(image);}}
file_browser.restore_previously_opened_folders=bind(function(){var cookie_data=Basis.get_cookie(this.site_id+".folders");cookie_data=cookie_data?cookie_data:"[]";var open=MochiKit.Base.evalJSON(cookie_data);for(var i=0;i<open.length;i++){if(i!=null){var obj=Basis.get_element("resource_"+open[i]+"_toggle");if(obj){Basis.signal_handler.execute_interactive_element(obj,"onclick");}}}},this);return file_browser;},this));this.set_custom_view_renderer("PAGE","browser",bind(function(){if(!this.site_id){return;}
var type="PAGE";var list=this.available_resources[Basis._return(type)];var organized_pages={"parent_pages":[],"child_pages_of":[]};for(var i in list){if(typeof(list[i])!="function"){var linked_to_this_site=false;linked_to_this_site=(list[i]["site_ids"]&&list[i]["site_ids"]["direct"]&&(MochiKit.Base.findValue(list[i]["site_ids"]["direct"],this.site_id)>-1))?true:linked_to_this_site;linked_to_this_site=(this.site_id?linked_to_this_site:true);if(linked_to_this_site){if(list[i]["misc_vars"]&&(list[i]["misc_vars"]["parent_page_id"]==0)){organized_pages["parent_pages"][list[i]["misc_vars"]["rank"]]=list[i]["misc_vars"]["id"];}else if(list[i]["misc_vars"]&&(list[i]["misc_vars"]["parent_page_id"]>0)){var update={};update[list[i]["misc_vars"]["parent_page_id"]]={};update[list[i]["misc_vars"]["parent_page_id"]][list[i]["misc_vars"]["rank"]]=list[i]["misc_vars"]["id"];MochiKit.Base.updatetree(organized_pages["child_pages_of"],update);}}}}
organized_pages=Basis.ksort(organized_pages);this.delete_page=bind(function(page_id){if(page_id&&confirm("Are you sure you want to delete this page?")){var to_post=new Object();to_post.page_id=page_id;window.status="Deleting page...";var as=new Basis.ajax_scaffold;as.alias="delete_page";as.sid=this.session_id;as.url=this.post_url;as.page_id=page_id;as.dashboard=this;as.on_success=function(req){var response=MochiKit.Base.evalJSON(decodeBase64(req.responseText));if(response["text"]=="true"){var resource_id=this.dashboard.get_page_resource_id(this.page_id);if(resource_id){this.dashboard.purge_resource(resource_id);var obj=MochiKit.DOM.getElement("list_resource_"+resource_id+"_wrapper");if(obj){MochiKit.Visual.fade(obj,{"duration":0.5,"afterFinish":bind(function(effect){if(MochiKit.DOM.getElement(effect.element.id)){MochiKit.DOM.removeElement(effect.element.id);this.render_view("WEBSITE","default");}},this.dashboard)});}}
window.status="Done";}else{window.status="delete_page(): ERROR!";}};as.post({"to_post":to_post});}},this);this.get_page_resource_id=bind(function(page_id){if(page_id){for(var i in this.resource_linker){if(typeof(this.resource_linker[i])!="function"){if(this.resource_linker[i]["type"]=="PAGE"){if(this.resource_linker[i]["misc_vars"]["id"]==page_id){return i;}}}}}},this);var destination=DIV();var manage_menus_button=INPUT({"type":"button","value":"Manage Submenus","style":"background-image:url('images/images/default_icons/cog.gif');","class":"gfx_but_default"});Basis.signal_handler.connect(manage_menus_button,"onclick",bind(function(){this.toggle_menu_management();},this),false);var add_page_button=INPUT({"type":"button","value":"Add a Page","style":"background-image:url('images/images/record_add.gif');","class":"gfx_but_default"});Basis.signal_handler.connect(add_page_button,"onclick",bind(function(){this.run_wizard("PAGE");},this),false);if(this.user_levels[this.current_user_level]>=this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"]){destination.appendChild(DIV({"id":Basis.anonymous_element_id(),"style":"padding: 10px;"},manage_menus_button,add_page_button));}else{destination.appendChild(DIV({"style":"padding: 3px;"},Basis.nbsp()));}
var page_level_tooltip=IMG({"src":"images/images/default_icons/help.gif","style":"cursor: pointer; vertical-align: middle; margin-left: 5px;"});Basis.signal_handler.connect(page_level_tooltip,"onclick",function(){Basis.popup({"window_title":"Page Levels","id":"page_level_tooltip","html":' <table cellpadding="5" cellspacing="0" border="0" width="750">\
                                              <tr>\
                                                <td valign="top" width="200"><b>Public</b></td>\
                                                <td valign="top">Anybody can see this page</td>\
                                              </tr>\
                                              <tr>\
                                                <td valign="top"><b>Basic (Admin Change Only)</b></td>\
                                                <td valign="top">Only logged-in Basic users can see this page, but they can\'t interact with polls, discussions, etc on the page.</td>\
                                              </tr>\
                                              <tr>\
                                                <td valign="top"><b>Basic</b></td>\
                                                <td valign="top">Only logged-in Basic users can see this page.</td>\
                                              </tr>\
                                              <tr>\
                                                <td valign="top"><b>Private (Admin Change Only)</b></td>\
                                                <td valign="top">Only logged-in Private users can see this page, but cannot modify it.</td>\
                                              </tr>\
                                              <tr>\
                                                <td valign="top"><b>Private</b></td>\
                                                <td valign="top">Only logged-in Private users can see this page.</td>\
                                              </tr>\
                                              <tr>\
                                                <td valign="top"><b>Admin Only</b></td>\
                                                <td valign="top">Only logged-in Site Administrators can see and edit this page</td>\
                                              </tr>\
                                            </table>'});},false);var root=DIV(null,TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":(328),"style":"font-weight: bold;"},"Page Name"),TD({"width":"101","style":"font-weight: bold;"},"Page Type"),!this.show_v2_page_permissions()?TD({"width":"100","style":"padding-left: 0px; font-weight: bold;"},"Page Level ",page_level_tooltip):null,this.show_v2_page_permissions()?TD({"width":"125","style":"padding-left: 0px; font-weight: bold;"},"Read-Only Level"):null,this.show_v2_page_permissions()?TD({"width":"130","style":"padding-left: 0px; font-weight: bold;"},"Full Access Level"):null))));var list=organized_pages["parent_pages"];for(var i in list){if(typeof(list)!="function"){var children=this.render_view("PAGE","browser_row",list[i],organized_pages);if(children){root.appendChild(children);}}}
destination.appendChild(root);destination.pages_root=root;this.toggle_menu_management=bind(partial(function(){var objs=MochiKit.DOM.getElementsByTagAndClassName("div","dropzone",destination);for(var i in objs){if(Basis.is_element(objs[i])){MochiKit.DOM.toggleElementClass("invisible",objs[i]);this.managing_menus=MochiKit.DOM.hasElementClass(objs[i],"invisible")?false:true;}}},destination),this);return destination;},this));this.set_custom_view_renderer("PAGE","browser_row",bind(function(page_id,organized_pages,level){var tree=null;var level=(level&&(level>0))?level:0;if(page_id){var list=this.resource_linker;var resource_id=this.get_page_resource_id(page_id);var id="list_resource_"+resource_id;if(MochiKit.DOM.getElement(id)){Basis.remove_element(id);}
var item=DIV({"id":id});var page_name=SPAN({"id":("resource_"+resource_id),"style":"font-weight: bold;"+((list[resource_id]["misc_vars"]["invisible"]=="true")?" font-style: italic; color: #c0c0c0;":"")},list[resource_id]["display_text"]);page_name.value=list[resource_id]["display_text"];var icon=((parseInt(this.resource_linker[resource_id]["misc_vars"]["rank"])==0)&&(parseInt(this.resource_linker[resource_id]["misc_vars"]["parent_page_id"])==0))?this.get_view_association_icon("HOMEPAGE"):this.get_view_association_icon(this.resource_linker[resource_id]["misc_vars"]["raw_type"]);var delete_button=IMG({"src":"images/images/delete.gif","style":"cursor: pointer;"});Basis.signal_handler.connect(delete_button,"onclick.greedy.swallow",bind(partial(function(page_id){this.delete_page.apply(null,[page_id]);},page_id),this),false);Basis.attach_tooltip(delete_button,("Delete "+list[resource_id]["display_text"]),false,false);var link_to_page=IMG({"src":"images/images/default_icons/png/link_go.png","style":"cursor: pointer;"});Basis.signal_handler.connect(link_to_page,"onclick",bind(partial(function(resource_id){var site_url=this.site_url;var page_id=this.resource_linker[resource_id]["misc_vars"]["id"];prompt("The text below is a direct link to this page. (Ctrl-C to Copy, Ctrl-V to Paste)",(site_url+"/index.php?id="+page_id));},resource_id),this),false);Basis.attach_tooltip(link_to_page,("Link to "+list[resource_id]["display_text"]),false,false);var go_to_page=IMG({"src":"images/images/arrow_right_small.gif","style":"cursor: pointer;"});Basis.signal_handler.connect(go_to_page,"onclick.greedy.swallow",bind(partial(function(resource_id){var site_url=this.site_url;var page_id=this.resource_linker[resource_id]["misc_vars"]["id"];window.onbeforeunload=null;window.location=(site_url+"/index.php?id="+page_id);},resource_id),this),false);Basis.attach_tooltip(go_to_page,("Go to "+list[resource_id]["display_text"]),false,false);var page_level=SPAN({"id":("resource_"+resource_id+"_level")},this.resource_linker[resource_id]["misc_vars"]["page_level"]);var page_type=this.resource_linker[resource_id]["misc_vars"]["type"]?this.resource_linker[resource_id]["misc_vars"]["type"]:"Custom Page";if(this.user_levels[this.current_user_level]>=this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"]){var menu_image_off=INPUT({"type":"text","value":this.resource_linker[resource_id]["misc_vars"]["menu_image_off"]});var menu_image_on=INPUT({"type":"text","value":this.resource_linker[resource_id]["misc_vars"]["menu_image_on"]});var visibility=SELECT();var visibility_options={"false":"Visible","true":"Invisible"};Basis.select_add_options(visibility,visibility_options);Basis.select_select_item_by_value(visibility,this.resource_linker[resource_id]["misc_vars"]["invisible"]);Basis.make_text_element_dropdown(visibility,null,{"resource_id":resource_id,"field":"invisible","after_success":bind(partial(function(resource_id){this.dashboard.resource_linker[resource_id]["misc_vars"]["invisible"]=this.element.options[this.element.selectedIndex].value;switch(this.element.options[this.element.selectedIndex].value){case"true":this.page_name.style.fontWeight="bold";this.page_name.style.fontStyle="italic";this.page_name.style.color="#c0c0c0";break;case"false":this.page_name.style.fontWeight="bold";this.page_name.style.fontStyle="normal";this.page_name.style.color="#000000";break;}},resource_id),{"element":visibility,"page_name":page_name,"dashboard":this})});Basis.make_text_element_editable(menu_image_off,{"resource_id":resource_id,"field":"menu_image_off","commit":false,"after_success":bind(partial(function(resource_id){this.dashboard.resource_linker[resource_id]["misc_vars"]["menu_image_off"]=this.element.value;},resource_id),{"element":menu_image_off,"dashboard":this})});Basis.make_text_element_editable(menu_image_on,{"resource_id":resource_id,"field":"menu_image_on","commit":false,"after_success":bind(partial(function(resource_id){this.dashboard.resource_linker[resource_id]["misc_vars"]["menu_image_on"]=this.element.value;},resource_id),{"element":menu_image_on,"dashboard":this})});var target=SELECT();var target_options={"":"New Window"," ":"Current Window"};Basis.select_add_options(target,target_options);Basis.select_select_item_by_value(target,this.resource_linker[resource_id]["misc_vars"]["target"]);Basis.make_text_element_dropdown(target,null,{"resource_id":resource_id,"field":"target","after_success":bind(partial(function(resource_id){this.dashboard.resource_linker[resource_id]["misc_vars"]["target"]=this.element.options[this.element.selectedIndex].value;},resource_id),{"element":target,"dashboard":this})});var target_tr=null;if(this.resource_linker[resource_id]["misc_vars"]["raw_type"]=="LINK_TO_URL"){var target_tr=TR(null,TD({"width":"180"},STRONG(null,"URL Target")),TD(null,target));}
var link_to_url=INPUT({"type":"text","value":this.resource_linker[resource_id]["misc_vars"]["link_to_url"]});Basis.make_text_element_editable(link_to_url,{"resource_id":resource_id,"field":"link_to_url","commit":false,"after_success":bind(partial(function(resource_id){this.dashboard.resource_linker[resource_id]["misc_vars"]["link_to_url"]=this.element.value;},resource_id),{"element":link_to_url,"dashboard":this})});var link_to_url_tr=null;if(this.resource_linker[resource_id]["misc_vars"]["raw_type"]=="LINK_TO_URL"){var link_to_url_tr=TR(null,TD({"width":"180"},STRONG(null,"URL Link")),TD(null,link_to_url));}
var extended_page_options=TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"180"},STRONG(null,"Visibility")),TD(null,visibility)),TR(null,TD({"width":"180"},STRONG(null,"Menu Image")),TD(null,menu_image_off)),TR(null,TD({"width":"180"},STRONG(null,"Mouseover Image")),TD(null,menu_image_on)),link_to_url_tr,target_tr));var add_page=IMG({"src":"images/images/record_add.gif","style":"cursor: pointer;"});Basis.signal_handler.connect(add_page,"onclick",bind(partial(function(page_id){this.run_wizard("PAGE",{"page_id":page_id});},this.resource_linker[resource_id]["misc_vars"]["id"]),this),false);Basis.attach_tooltip(add_page,("Add a Page Before, After or Below This Page"),false,false);var move_page=IMG({"src":"images/images/default_icons/png/arrow_nsew.png","style":"cursor: pointer;"});Basis.signal_handler.connect(move_page,"onclick",bind(partial(function(page_id){this.run_wizard("PAGE_MOVE",{"page_id":page_id});},this.resource_linker[resource_id]["misc_vars"]["id"]),this),false);Basis.attach_tooltip(move_page,("Move This Page"),false,false);var options_toggle=IMG({"src":"images/images/default_icons/png/plugin.png","style":"cursor: pointer;"});Basis.signal_handler.connect(options_toggle,"onclick",partial(function(extended_page_options){Basis.toggle_visible(extended_page_options.parentNode.parentNode);},extended_page_options),false);Basis.attach_tooltip(options_toggle,("Extended Page Options"),false,false);var access_restrictor=IMG({"src":(this.resource_linker[resource_id]["has_restrictions"]?"images/images/default_icons/png/lock.png":(this.resource_has_inherited_permissions(resource_id)?"images/images/default_icons/png/lock_inherited.png":"images/images/default_icons/png/lock_open.grey.png")),"style":""});if(this.resource_linker[resource_id]["resource_access"]["full_access"]){access_restrictor.style.cursor="pointer";Basis.signal_handler.connect(access_restrictor,"onclick.greedy.swallow",bind(partial(function(resource_id,lock_icon){this.render_view("DEFAULT","resource_permissions_1",resource_id,lock_icon);},resource_id,access_restrictor),this),false);Basis.attach_tooltip(access_restrictor,("Manage custom permissions for "+this.resource_linker[resource_id]["display_text"]),null,false);}else{Basis.attach_tooltip(access_restrictor,"You don't have permission to manage this!",null,false,true);}
if(this.resource_linker[resource_id]["restrictions"]&&(!this.resource_linker[resource_id]["restrictions"]["group"]&&!this.resource_linker[resource_id]["restrictions"]["user_specific"])){if(this.resource_linker[resource_id]["restrictions"]&&this.resource_linker[resource_id]["restrictions"]["user_level"]&&this.resource_linker[resource_id]["restrictions"]["user_level"]["read_only"]){var list=this.resource_linker[resource_id]["restrictions"]["user_level"]["read_only"];for(var i=0;i<list.length;i++){if(list[i]["site_id"]==this.site_id){var read_only_text=this.user_levels_text[list[i]["user_level"]];}}}}else{var read_only_text="User or Group Access";}
if(this.resource_linker[resource_id]["restrictions"]&&(!this.resource_linker[resource_id]["restrictions"]["group"]&&!this.resource_linker[resource_id]["restrictions"]["user_specific"])){if(this.resource_linker[resource_id]["restrictions"]&&this.resource_linker[resource_id]["restrictions"]["user_level"]&&this.resource_linker[resource_id]["restrictions"]["user_level"]["full_access"]){var list=this.resource_linker[resource_id]["restrictions"]["user_level"]["full_access"];for(var i=0;i<list.length;i++){if(list[i]["site_id"]==this.site_id){var full_access_text=this.user_levels_text[list[i]["user_level"]];}}}}else{var full_access_text="User or Group Access";}
var read_only_access=SPAN(null,read_only_text);var full_access=SPAN(null,full_access_text);}else{var extended_page_options=null;}
if(!this.resource_linker[resource_id]["resource_access"]["full_access"]){delete_button=Basis.nbsp();move_page=Basis.nbsp();options_toggle=Basis.nbsp();}
item=DIV({"id":id},TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"20","height":"20"},IMG({"src":icon,"class":"Basis.dashboard.page_handle"})),TD({"width":(300-(level*18)-10),"style":"padding: 0px;"},page_name),TD({"width":"100","style":"border-bottom: 1px dotted #dfdfdf; color: #808080;"},page_type),!this.show_v2_page_permissions()?TD({"width":"130","style":"padding: 0px; border-bottom: 1px dotted #dfdfdf; color: #808080;"},page_level):null,this.show_v2_page_permissions()?TD({"width":"130","style":"padding: 0px; border-bottom: 1px dotted #dfdfdf; color: #808080;"},read_only_access):null,this.show_v2_page_permissions()?TD({"width":"130","style":"padding: 0px; border-bottom: 1px dotted #dfdfdf; color: #808080;"},full_access):null,this.show_v2_page_permissions()?TD({"width":"20","style":"border-bottom: 1px dotted #dfdfdf; color: #808080;"},access_restrictor):null,(this.user_levels[this.current_user_level]>=this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"])?TD({"width":"20","style":"border-bottom: 1px dotted #dfdfdf; color: #808080;"},move_page):null,(this.user_levels[this.current_user_level]>=this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"])?TD({"width":"20","style":"border-bottom: 1px dotted #dfdfdf; color: #808080;"},add_page):null,(this.user_levels[this.current_user_level]>=this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"])?TD({"width":"20","style":"border-bottom: 1px dotted #dfdfdf; color: #808080;"},options_toggle):null,(this.user_levels[this.current_user_level]>=this.user_levels["USER_LEVEL_SITE_ADMINISTRATOR"])?TD({"width":"20","style":"border-bottom: 1px dotted #dfdfdf; color: #808080;"},delete_button):null,TD({"width":"20","style":"border-bottom: 1px dotted #dfdfdf; color: #808080;"},link_to_page),TD({"width":"20","style":"border-bottom: 1px dotted #dfdfdf; color: #808080;"},go_to_page)),TR({"class":"invisible"},TD({"width":"20","height":"20"},IMG({"src":"images/images/spacer.gif"})),TD({"width":(300-(level*18)-10),"style":"padding: 0px;"}," "),TD({"width":"100","colspan":"4","style":"border-bottom: 1px dotted #dfdfdf; color: #808080;"},extended_page_options)))));item.dashboard=this;if(this.resource_linker[resource_id]["resource_access"]["full_access"]){Basis.make_text_element_editable(page_name,{"resource_id":resource_id,"after_success":bind(function(){var value=this.element.editable_element.original_value;if(value&&this.resource_id){this.dashboard.resource_linker[this.resource_id]["display_text"]=value;}},{"dashboard":this,"resource_id":resource_id,"element":page_name})});Basis.make_text_element_dropdown(page_level,this.page_levels_text,{"resource_id":resource_id,"field":"attributes","after_success":bind(function(){var value=this.element.editable_element.original_value;if(value&&this.resource_id){var render_pages_again=((value=="CUSTOM_LEVEL")||(this.dashboard.resource_linker[this.resource_id]["misc_vars"]["raw_page_level"]=="CUSTOM_LEVEL"))?true:false;this.dashboard.resource_linker[this.resource_id]["misc_vars"]["raw_page_level"]=value;this.dashboard.resource_linker[this.resource_id]["misc_vars"]["page_level"]=this.element.editable_element.dropdown_options[value];if(render_pages_again){}}},{"dashboard":this,"resource_id":resource_id,"element":page_level})});}
for(var i in organized_pages["child_pages_of"]){if(typeof(organized_pages["child_pages_of"][i])!="function"){if((Basis.parse_number(i)==Basis.parse_number(page_id))&&(Basis.array_length(organized_pages["child_pages_of"][i])>0)){var list=organized_pages["child_pages_of"][i];for(var x in list){if(typeof(list[x])!="function"){var child=this.render_view("PAGE","browser_row",list[x],organized_pages,(level+1));if(child){item.appendChild(child);}}}}}}}
if(tree&&tree.appendChild){tree.appendChild(item);}else{tree=item;}
return tree;},this));},set_up_wizards:function(){this.set_wizard("test",function(){this.on_done=function(){alert("totally done");};this.add_step("Step 1","This is step one.",{"on_load":function(){log("wizard test step 1 loaded!");}});this.add_step("Step 2","This is step two.",{"on_load":function(){log("wizard test step 2 loaded!");},"on_unload":function(){log("wizard test step 2 unloaded!");}});this.add_step("Step 3","This is step three.",{"on_load":function(){log("wizard test step 3 loaded!");},"on_unload":function(){alert("done");},"after_unload":function(){alert("after done");}});});this.set_wizard("ALERT",function(){if(list){var content=this.dashboard.render_view("ALERT","wizard_form",this.options["data_row"],this.options["resource_id"],this.options["target_resource_id"],this.options["mode"]);if(content){var fields=content["fields"];var content=content["element"];var options={"on_load":partial(function(notes){log("wizard ALERT 1 loaded!");},fields["notes"])};this.on_done=bind(partial(function(data_row,wizard){if(wizard.options["mode"]=="edit"){var a=this.custom_ajax_action("save_resource",wizard.options["resource_id"],data_row,wizard.options["grid_control"]);a.addCallback(bind(partial(function(resource_id){if(resource_id&&this.resource_linker[resource_id]){this.tiles.ui.pop_tile();Basis.block_updating_live_dom();var detail=this.render_view("DEFAULT","resource_detail",resource_id);var index=this.render_view("DEFAULT","default",this.resource_display_text(resource_id),detail);detail.menu.highlight_item(0);this.tiles.ui.go_to(index);this.tiles.ui.tiles[index].content=detail;Basis.unblock_updating_live_dom();Basis.updated_live_dom();}},wizard.options["resource_id"]),this));}else{var a=this.custom_ajax_action("add_new_resource","ALERT",data_row);a.addCallback(bind(partial(function(dashboard){if((dashboard.tiles.ui.tiles.length==1)&&(dashboard.tiles.ui.current_tile==null)){dashboard.tiles.ui.tiles[0].list.grid_control.fetch_raw_data("ALERT");dashboard.tiles.ui.tiles[0].list.grid_control.clear_cached_datasets();dashboard.tiles.ui.tiles[0].list.grid_control.refresh();}else{var response=MochiKit.Base.evalJSON(this.req.responseText);var resource_id=Basis._int(response["data_row"]["misc_vars"]["attached_to_resource_id"]);if(resource_id&&dashboard.resource_linker[resource_id]){dashboard.tiles.ui.pop_tile();Basis.block_updating_live_dom();var detail=dashboard.render_view("DEFAULT","resource_detail",resource_id);var index=dashboard.render_view("DEFAULT","default",dashboard.resource_display_text(resource_id),detail);detail.menu.highlight_item(0);dashboard.tiles.ui.go_to(index);dashboard.tiles.ui.tiles[index].content=detail;Basis.unblock_updating_live_dom();Basis.updated_live_dom();}}},this),a));}},this.options["data_row"],this),this.dashboard);var title=(this.options["mode"]=="edit")?this.dashboard.resource_display_text(this.options["resource_id"]):("Let's add a"+((this.options["data_row"]["type"]=="alert")?"n alert!":" reminder!"))
var index=this.add_step(title,content,options);this.options.width="500";this.options.height="300";}}});this.set_wizard("CONTACT_LIST",function(){if(list){var name=INPUT({"type":"text","style":"width: 100%;"});var list_info=DIV(null,H3(null,"Give your contact list a name:"),DIV(null,name));var options={"on_load":partial(function(name){log("wizard CONTACT_LIST 1 loaded!");name.focus();},name),"can_unload":partial(function(name){if(!name.value.trim()){alert("You have to give your contact list a name!");name.focus();}
return name.value.trim()?true:false;},name)};this.on_done=bind(partial(function(name,wizard){this.custom_ajax_action("add_new_resource","CONTACT_LIST",{"name":name.value},wizard.options["grid_control"]);},name,this),this.dashboard);var index=this.add_step("Let's add a contact list!",list_info,options);this.options.width="500";this.options.height="250";}});this.set_wizard("CONTACT",function(){if(this.dashboard.initialized&&!this.dashboard.site_can_create_new("CONTACT")&&(this.options["mode"]!="edit")){this.dashboard.error_message("You have used up all "+this.dashboard.get_available_amount_of("CONTACT")+" of your available contacts!");return;}
var grid_control=this.options["grid_control"];if(!grid_control){var grid_control=new Basis.grid_control.contact_list({"dashboard":this.dashboard,"num_per_page":50});grid_control=grid_control.grid_control;this.options["grid_control"]=grid_control;}
if(grid_control){var data_row=this.options["data_row"]?this.options["data_row"]:{};var CONTACT_type=SELECT();Basis.select_add_options(CONTACT_type,{"individual":"Individual","organization":"Organization"});this.dashboard.bind_form_element(CONTACT_type,"CONTACT_type",data_row);var company_name=INPUT({"type":"text","value":grid_control.get_master_field_data("company_name",data_row,true)});this.dashboard.bind_form_element(company_name,"company_name",data_row);var first_name=INPUT({"type":"text","value":grid_control.get_master_field_data("first_name",data_row,true)});this.dashboard.bind_form_element(first_name,"first_name",data_row);var last_name=INPUT({"type":"text","value":grid_control.get_master_field_data("last_name",data_row,true)});this.dashboard.bind_form_element(last_name,"last_name",data_row);var address1=INPUT({"type":"text","value":grid_control.get_master_field_data("address1",data_row,true)});this.dashboard.bind_form_element(address1,"address1",data_row);var address2=INPUT({"type":"text","value":grid_control.get_master_field_data("address2",data_row,true)});this.dashboard.bind_form_element(address2,"address2",data_row);var city=INPUT({"type":"text","value":grid_control.get_master_field_data("city",data_row,true)});this.dashboard.bind_form_element(city,"city",data_row);var state=SELECT();Basis.select_add_options(state,grid_control.states);Basis.select_select_item_by_value(state,grid_control.get_master_field_data("state",data_row,true,true));this.dashboard.bind_form_element(state,"state",data_row);var zip_code=INPUT({"type":"text","value":grid_control.get_master_field_data("zip_code",data_row,true)});this.dashboard.bind_form_element(zip_code,"zip_code",data_row);var county=SELECT();Basis.select_add_options(county,grid_control.counties[grid_control.get_master_field_data("state",data_row,true,true)]);Basis.select_select_item_by_value(county,grid_control.get_master_field_data("county",data_row,true,true));this.dashboard.bind_form_element(county,"county",data_row);Basis.signal_handler.connect(state,"onchange",partial(function(county,state,data_row,grid_control){county.options.length=0;Basis.select_add_options(county,grid_control.counties[grid_control.get_master_field_data("state",data_row,true,true)]);Basis.select_select_item_by_value(county,grid_control.get_master_field_data("county",data_row,true,true));},county,state,data_row,grid_control),false);var country=SELECT();Basis.select_add_options(country,grid_control.countries);Basis.select_select_item_by_value(country,grid_control.get_master_field_data("country",data_row,true,true));this.dashboard.bind_form_element(country,"country",data_row);var phone_business=INPUT({"type":"text","value":grid_control.get_master_field_data("phone_business",data_row,true)});this.dashboard.bind_form_element(phone_business,"phone_business",data_row);var phone_home=INPUT({"type":"text","value":grid_control.get_master_field_data("phone_home",data_row,true)});this.dashboard.bind_form_element(phone_home,"phone_home",data_row);var phone_cell=INPUT({"type":"text","value":grid_control.get_master_field_data("phone_cell",data_row,true)});this.dashboard.bind_form_element(phone_cell,"phone_cell",data_row);var phone_fax=INPUT({"type":"text","value":grid_control.get_master_field_data("phone_fax",data_row,true)});this.dashboard.bind_form_element(phone_fax,"phone_fax",data_row);var email_address1=INPUT({"type":"text","value":grid_control.get_master_field_data("email_address1",data_row,true)});this.dashboard.bind_form_element(email_address1,"email_address1",data_row);var email_address2=INPUT({"type":"text","value":grid_control.get_master_field_data("email_address2",data_row,true)});this.dashboard.bind_form_element(email_address2,"email_address2",data_row);var url1=INPUT({"type":"text","value":grid_control.get_master_field_data("url1",data_row,true)});this.dashboard.bind_form_element(url1,"url1",data_row);var url2=INPUT({"type":"text","value":grid_control.get_master_field_data("url2",data_row,true)});this.dashboard.bind_form_element(url2,"url2",data_row);var notes=Basis.textarea(null,grid_control.get_master_field_data("notes",data_row,true));this.dashboard.bind_form_element(notes,"notes",data_row);contact=TABLE({"border":"0","cellpadding":"0","cellspacing":"0","width":"650","class":grid_control.root_class_name+".contact.detail"},TBODY(null,TR(null,TD(null,TABLE({"border":"0","cellpadding":"5","cellspacing":"0","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("company_name")+":")),TD({"width":"140"},company_name),TD({"width":"100"},STRONG(null,grid_control.get_master_field_title("type")+":")),TD(null,CONTACT_type)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("first_name")+":")),TD({"width":"140"},first_name),TD({"colSpan":"2","rowSpan":"10"},FIELDSET(null,LEGEND(null,STRONG("Phone Numbers:")),TABLE({"border":"0","cellpadding":"0","cellspacing":"2","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("phone_business")+":")),TD(null,phone_business)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("phone_home")+":")),TD(null,phone_home)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("phone_cell")+":")),TD(null,phone_cell)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("phone_fax")+":")),TD(null,phone_fax))))),FIELDSET(null,LEGEND(null,STRONG("Internet:")),TABLE({"border":"0","cellpadding":"0","cellspacing":"2","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("email_address1")+":")),TD(null,email_address1)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("email_address2")+":")),TD(null,email_address2)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("url1")+":")),TD(null,url1)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("url2")+":")),TD(null,url2))))))),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("last_name")+":")),TD({"width":"140"},last_name)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("address1")+":")),TD({"width":"140"},address1)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("address2")+":")),TD({"width":"140"},address2)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("city")+":")),TD({"width":"140"},city)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("state")+":")),TD({"width":"140"},state)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("zip_code")+":")),TD({"width":"140"},zip_code)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("county")+":")),TD({"width":"140"},county)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("country")+":")),TD({"width":"140"},country)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("notes")+":")),TD({"width":"140"},notes)),null))))));Basis.set_tab_indexes([company_name,first_name,last_name,address1,address2,city,state,zip_code,county,country,notes,CONTACT_type,phone_business,phone_home,phone_cell,phone_fax,email_address1,email_address2,url1,url2]);var options={"on_load":partial(function(first_name,company_name,data_row){log("wizard CONTACT 1 loaded!");if(data_row["CONTACT_type"]=="individual"){first_name.focus();}else{company_name.focus();}},first_name,company_name,data_row),"can_unload":bind(partial(function(first_name,company_name){switch(this.CONTACT_type){case"individual":var condition=(!this.first_name||!this.first_name.trim());if(condition){alert("You have to at least give your contact a first name!");first_name.focus();}
break;case"organization":var condition=(!this.company_name||!this.company_name.trim());if(condition){alert("You have to at least give your contact a company name!");company_name.focus();}
break;}
return(!condition)?true:false;},first_name,company_name),data_row)};if(this.options["resource_id"]&&(this.options["mode"]=="edit")){this.on_done=bind(partial(function(data_row,options){data_row["contact_list_resource_id"]=options["grid_control"].contact_list_resource_id;var a=this.custom_ajax_action("save_resource",options["resource_id"],data_row,options["grid_control"],"data_row");a.addCallback(bind(partial(function(resource_id,grid_control){if(resource_id&&this.resource_linker[resource_id]){this.tiles.ui.pop_tile();Basis.block_updating_live_dom();var detail=this.render_view("DEFAULT","resource_detail",resource_id);var index=this.render_view("DEFAULT","default",this.resource_display_text(resource_id),detail);detail.menu.highlight_item(0);this.tiles.ui.go_to(index);this.tiles.ui.tiles[this.tiles.ui.current_tile].contact_list=options["grid_control"];this.tiles.ui.tiles[index].content=detail;Basis.unblock_updating_live_dom();Basis.updated_live_dom();}},options["resource_id"],options["grid_control"]),this));},data_row,this.options),this.dashboard);}else{this.on_done=bind(partial(function(data_row,options){data_row["contact_list_resource_id"]=options["grid_control"].contact_list_resource_id;this.custom_ajax_action("add_new_resource","CONTACT.V2",data_row,options["grid_control"],"data_row");},data_row,this.options),this.dashboard);}
var index=this.add_step(((this.options["mode"]=="edit")?this.dashboard.resource_display_text(this.options["resource_id"]):"Let's add a new contact!"),contact,options);}});this.set_wizard("DISCUSSION",function(){if(this.dashboard.initialized&&!this.dashboard.site_can_create_new("DISCUSSION")){this.dashboard.error_message("You have used up all "+this.dashboard.get_available_amount_of("DISCUSSION")+" of your available discussions!");return;}
var name=INPUT({"type":"text","style":"width: 100%;"});var list_info=DIV(null,H3(null,"Give your discussion a title:"),DIV(null,name));var options={"on_load":partial(function(name){log("wizard DISCUSSION 1 loaded!");name.focus();},name),"can_unload":partial(function(name){if(!name.value.trim()){alert("You have to give your discussion a title!");name.focus();}
return name.value.trim()?true:false;},name)};this.on_done=bind(partial(function(name,wizard){this.custom_ajax_action("add_new_resource","DISCUSSION",{"name":name.value},wizard.options["grid_control"]);},name,this),this.dashboard);var index=this.add_step("Let's create a discussion!",list_info,options);this.options.width="500";this.options.height="250";});this.set_wizard("EMAIL_CONTACTS",function(){var data_row=this.options["data_row"]?this.options["data_row"]:{};var from_address=INPUT({"type":"text","style":"width: 600px;","value":""});this.dashboard.bind_form_element(from_address,"from_address",data_row);var from_name=INPUT({"type":"text","style":"width: 600px;","value":"Your Name"});this.dashboard.bind_form_element(from_name,"from_name",data_row);var subject=INPUT({"type":"text","style":"width: 600px;","value":""});this.dashboard.bind_form_element(subject,"subject",data_row);var custom_message=Basis.textarea({"style":"width: 600px; height: 120px;","value":""},"");var populate_from_default_template=INPUT({"type":"button","value":"Use My Default Email Template"});Basis.signal_handler.connect(populate_from_default_template,"onclick",bind(partial(function(element){if(confirm("Are you sure? This will overwrite whatever you've already typed!")){if(this.site_billing_info[this.site_id]["site"]["default_email_template"]){if(tinyMCE&&tinyMCE.get(element.id)){tinyMCE.get(element.id).setContent(this.site_billing_info[this.site_id]["site"]["default_email_template"]);element.value=this.site_billing_info[this.site_id]["site"]["default_email_template"];}else{element.value=this.site_billing_info[this.site_id]["site"]["default_email_template"];}}}},custom_message),this.dashboard),false);var save_to_default_template=INPUT({"type":"button","value":"Save This As My Default Email Template"});Basis.signal_handler.connect(save_to_default_template,"onclick",bind(partial(function(element){if(confirm("Are you sure?")){if(tinyMCE&&tinyMCE.get(element.id)){var value=tinyMCE.get(element.id).getContent();}else{var value=element.value;}
this.site_billing_info[this.site_id]["site"]["default_email_template"]=value;Basis.force_make_text_element_editable_save(element,{"sid":this.session_id,"url":this.post_url,"table":this.site_id,"field":"default_email_template","to":value,"custom_action":"dashboard.change_site_billing_option"});}},custom_message),this.dashboard),false);email=TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"padding-right: 5px; text-align: right"},STRONG({"style":"padding: 0px; margin: 0px;"},"Your Name:")),TD({"width":"600"},from_name)),TR(null,TD({"style":"padding-right: 5px; text-align: right"},STRONG({"style":"padding: 0px; margin: 0px;"},"Email Address:")),TD({"width":"600"},from_address)),TR(null,TD({"style":"padding-right: 5px; text-align: right"},STRONG({"style":"padding: 0px; margin: 0px;"},"Subject:")),TD({"width":"600"},subject)),TR(null,TD({"style":"padding-right: 5px; text-align: right"},STRONG(null,"Body:")),TD({"width":"600"},custom_message)),TR(null,TD({"style":"padding-right: 5px; text-align: right"},Basis.nbsp()),TD({"style":"text-align: center;"},populate_from_default_template,Basis.nbsp(),save_to_default_template))));Basis.set_tab_indexes([from_address,from_name,subject,custom_message]);var options={"on_load":partial(function(from_address,custom_message,dashboard,data_row){log("wizard EMAIL_CONTACTS 1 loaded!");from_address.focus();Basis.convert_textarea_to_richtextarea(custom_message);dashboard.bind_form_element(custom_message,"custom_message",data_row);},from_address,custom_message,this.dashboard,data_row),"can_unload":bind(function(){var condition=((!this.from_address||!this.from_address.trim())||(!this.from_name||!this.from_name.trim())||(!this.subject||!this.subject.trim()));if(condition){alert("You have to type at least Sender Address, Sender Name and Subject line.");}
return(!condition)?true:false;},data_row)};this.on_done=bind(partial(function(data_row,options){this.custom_ajax_action("email_contacts",{"data_row":data_row,"currently_selected":options.currently_selected});},data_row,this.options),this.dashboard);var index=this.add_step("Compose an email to the selected contacts",email,options);this.options.width="850";this.options.height="550";});this.set_wizard("ERROR_MESSAGE",function(){var content=DIV(null,this.options["error_message"]);var options={"on_load":function(){log("wizard ERROR_MESSAGE 1 loaded!");},"on_unload":this.options["action_on_ok"]};var title=this.options["title"]?this.options["title"]:"Uh oh, something went wrong!";var index=this.add_step(title,content,options);this.options.width=Basis.is_number(this.options.width)?this.options.width:"500";this.options.height=Basis.is_number(this.options.height)?this.options.height:"250";});this.set_wizard("GROUP",function(){if(this.dashboard.initialized&&!this.dashboard.site_can_create_new("GROUP")&&(this.options["mode"]!="edit")){this.dashboard.error_message("You have used up all "+this.dashboard.get_available_amount_of("GROUP")+" of your available groups!");return;}
if(list){var name=INPUT({"type":"text","style":"width: 100%;"});var list_info=DIV(null,H3(null,"Give your group a name:"),DIV(null,name));var options={"on_load":partial(function(name){log("wizard GROUP 1 loaded!");name.focus();},name),"can_unload":partial(function(name){if(!name.value.trim()){alert("You have to give your group a name!");name.focus();}
return name.value.trim()?true:false;},name)};this.on_done=bind(partial(function(name,wizard){this.custom_ajax_action("add_new_resource","GROUP",{"name":name.value},wizard.options["grid_control"]);},name,this),this.dashboard);var index=this.add_step("Let's create a group!",list_info,options);this.options.width="500";this.options.height="250";}});this.set_wizard("IMAGE_GALLERY",function(){if(list){var name=INPUT({"type":"text"});var list_info=DIV(null,H3(null,"Give your image gallery a name:"),DIV(null,SPAN({"style":"font-weight: bold;"},"Name:"),name));var options={"on_load":partial(function(name){log("wizard IMAGE_GALLERY 1 loaded!");name.focus();},name),"can_unload":partial(function(name){if(!name.value.trim()){alert("You have to give your image gallery a name!");name.focus();}
return name.value.trim()?true:false;},name)};this.on_done=bind(partial(function(name,wizard){this.custom_ajax_action("add_new_resource","IMAGE_GALLERY",{"name":name.value},wizard.options["grid_control"]);},name,this),this.dashboard);var index=this.add_step("Let's create an image gallery!",list_info,options);}});this.set_wizard("IMPORT_FROM_VCARD",function(){var data_row=this.options["data_row"]?this.options["data_row"]:{};var vcard_file=INPUT({"type":"text","style":"width: 580px;"});this.dashboard.bind_form_element(vcard_file,"vcard_file",data_row);var file_select=IMG({"src":"images/images/default_icons/png/folder_magnify.png","style":"cursor: pointer;"});Basis.signal_handler.connect(file_select,"onclick",bind(partial(function(element){this.render_view("COLLABORATE","files",false,null,true,element,"wizard");},vcard_file),this.dashboard),false);var vcard_data=Basis.textarea({"style":"width: 600px; height: 120px;","value":""},"");this.dashboard.bind_form_element(vcard_data,"vcard_data",data_row);var vcard=TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"colSpan":"2"},STRONG("Click the folder to upload and choose a vCard file:"))),TR(null,TD(null,vcard_file),TD({"style":"text-align: right;"},file_select)),TR(null,TD({"colSpan":"2"},STRONG("OR paste vCard data here:"))),TR(null,TD({"colSpan":"2"},vcard_data))));Basis.set_tab_indexes([vcard_file,vcard_data]);var options={"on_load":partial(function(vcard_file){log("wizard IMPORT_FROM_VCARD 1 loaded!");vcard_file.focus();},vcard_file),"can_unload":bind(function(){var condition=((!this.vcard_file||!this.vcard_file.trim())&&(!this.vcard_data||!this.vcard_data.trim()));if(condition){alert("You have to choose a file or paste vCard data to import contacts!");}
return(!condition)?true:false;},data_row)};this.on_done=bind(partial(function(data_row,options){this.please_wait_this_could_take_a_while();this.custom_ajax_action("import_contacts_from_vcard",{"vcard_file":Basis.encode64(data_row["vcard_file"]),"vcard_data":Basis.encode64(data_row["vcard_data"]),"contact_list_resource_id":options["contact_list_id"]});},data_row,this.options),this.dashboard);var index=this.add_step("Importing vCard Contacts",vcard,options);this.options.width="900";this.options.height="600";});this.set_wizard("INVITE_USERS",function(){var data_row=this.options["data_row"]?this.options["data_row"]:{};var from_address=INPUT({"type":"text","style":"width: 600px;","value":"info@sitequarters.com"});this.dashboard.bind_form_element(from_address,"from_address",data_row);var from_name=INPUT({"type":"text","style":"width: 600px;","value":"SiteQuarters"});this.dashboard.bind_form_element(from_name,"from_name",data_row);var subject=INPUT({"type":"text","style":"width: 600px;","value":"Invitation to a SiteQuarters site!"});this.dashboard.bind_form_element(subject,"subject",data_row);var custom_message=Basis.textarea({"style":"width: 600px; height: 120px;","value":""},"");this.dashboard.bind_form_element(custom_message,"custom_message",data_row);var email=TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"padding-right: 5px; text-align: right"},STRONG({"style":"padding: 0px; margin: 0px;"},"Sender Address:")),TD({"width":"600"},from_address)),TR(null,TD({"style":"padding-right: 5px; text-align: right"},STRONG({"style":"padding: 0px; margin: 0px;"},"Sender Name:")),TD({"width":"600"},from_name)),TR(null,TD({"style":"padding-right: 5px; text-align: right"},STRONG({"style":"padding: 0px; margin: 0px;"},"Subject:")),TD({"width":"600"},subject)),TR(null,TD({"style":"padding-right: 5px; text-align: right"},STRONG(null,"Body:")),TD({"width":"600"},custom_message))));Basis.set_tab_indexes([from_address,from_name,subject,custom_message]);var options={"on_load":partial(function(from_address){log("wizard INVITE_USERS 1 loaded!");from_address.focus();},from_address),"can_unload":bind(function(){var condition=((!this.from_address||!this.from_address.trim())||(!this.from_name||!this.from_name.trim())||(!this.subject||!this.subject.trim()));if(condition){alert("You have to type at least Sender Address, Sender Name and Subject line.");}
return(!condition)?true:false;},data_row)};this.on_done=bind(partial(function(data_row,options){this.custom_ajax_action("invite_contacts_as_user",{"data_row":data_row,"currently_selected":options.currently_selected});},data_row,this.options),this.dashboard);var index=this.add_step("Let's invite some users!",email,options);this.options.width="850";this.options.height="400";});this.set_wizard("LIST",function(){if(this.dashboard.initialized&&!this.dashboard.site_can_create_new("LIST")&&(this.options["mode"]!="edit")){this.dashboard.error_message("You have used up all "+this.dashboard.get_available_amount_of("LIST")+" of your available lists!");return;}
if(list){var name=INPUT({"type":"text","style":"width: 100%;"});var list_info=DIV(null,H3(null,"Give your list a name:"),DIV(null,name));var options={"on_load":partial(function(name){log("wizard LIST 1 loaded!");name.focus();},name),"can_unload":partial(function(name){if(!name.value.trim()){alert("You have to give your list a name!");name.focus();}
return name.value.trim()?true:false;},name)};this.on_done=bind(partial(function(name,wizard){this.custom_ajax_action("add_new_resource","LIST",{"name":name.value},wizard.options["grid_control"]);},name,this),this.dashboard);var index=this.add_step("Let's create a list!",list_info,options);this.options.width="500";this.options.height="250";}});this.set_wizard("LIST_ITEM",function(){var grid_control=this.options["grid_control"];if(!grid_control){var grid_control=new Basis.grid_control.generic_resource({"dashboard":this.dashboard,"num_per_page":50});grid_control=grid_control.grid_control;this.options["grid_control"]=grid_control;}
if(grid_control){var data_row=this.options["data_row"]?this.options["data_row"]:{};var name=INPUT({"type":"text","value":grid_control.get_master_field_data("name",data_row,true)});this.dashboard.bind_form_element(name,"name",data_row);var list_info=DIV(null,H3(null,(this.options["mode"]=="edit")?"Change this item's name:":"Give your new item a name:"),DIV(null,name));var options={"on_load":partial(function(name){log("wizard LIST_ITEM 1 loaded!");name.focus();},name),"can_unload":partial(function(name){if(!name.value.trim()){alert("You have to give your new item a name!");name.focus();}
return name.value.trim()?true:false;},name)};if(this.options["resource_id"]&&(this.options["mode"]=="edit")){this.on_done=bind(partial(function(data_row,options){data_row["list_resource_id"]=options["grid_control"].list_resource_id;var a=this.custom_ajax_action("save_resource",options["resource_id"],data_row,options["grid_control"],"data_row");a.addCallback(bind(partial(function(resource_id,grid_control){if(resource_id&&this.resource_linker[resource_id]){this.tiles.ui.pop_tile();Basis.block_updating_live_dom();var detail=this.render_view("DEFAULT","resource_detail",resource_id);var index=this.render_view("DEFAULT","default",this.resource_display_text(resource_id),detail);detail.menu.highlight_item(0);this.tiles.ui.go_to(index);this.tiles.ui.tiles[this.tiles.ui.current_tile].contact_list=options["grid_control"];this.tiles.ui.tiles[index].content=detail;Basis.unblock_updating_live_dom();Basis.updated_live_dom();}},options["resource_id"],options["grid_control"]),this));},data_row,this.options),this.dashboard);}else{this.on_done=bind(partial(function(data_row,options){data_row["list_resource_id"]=options["grid_control"].list_resource_id;this.custom_ajax_action("add_new_resource","LIST_ITEM",data_row,options["grid_control"],"data_row");},data_row,this.options),this.dashboard);}
var index=this.add_step(((this.options["mode"]=="edit")?this.dashboard.resource_display_text(this.options["resource_id"]):"Add an item to this list:"),list_info,options);this.options.width="500";this.options.height="250";}});this.set_wizard("PAGE",function(){if(this.dashboard.initialized&&!this.dashboard.site_can_create_new("PAGE")){this.dashboard.error_message("You have used up all "+this.dashboard.get_available_amount_of("PAGE")+" of your available pages!");return;}
var page_types={"RICHTEXTAREA":"Editable Text","IMAGE_GALLERY":"Image Gallery","CALENDAR":"Calendar","CONTACT_LIST":"Contact List","PLACEHOLDER":"Placeholder","POLL":"Poll","RSS_FEED":"RSS Feed","FILE_UPLOAD":"File Upload","FILE_LISTING":"File Listing","ADVANCED_FILE_LISTING":"Advanced File Listing","LINK_TO_FILE":"Link to File","LINK_TO_URL":"Link to Website","FILE_UPLOAD_AND_LISTING":"File Uploader + Listing","DOCUMENT_VIEW":"Link to a Document","HTML":"Custom HTML","YOUTUBE_EMBED":"Link / Embed a Youtube Video"};if(this.dashboard.is_admin){page_types["RICHTEXT_AND_HTML"]="Editable Text + HTML";}
var page_name=INPUT({"type":"text","name":"page_name"});var page_type=SELECT({"name":"page_type"});Basis.select_add_options(page_type,page_types);var page_where=SELECT({"name":"page_where"});Basis.select_add_options(page_where,{"":" ","before":"Before","after":"After","under":"In Sub-Menu, Under"});Basis.select_select_item_by_value(pages,this.options["page_where"]);var pages=SELECT({"name":"pages"});var list=this.dashboard.available_resources[Basis._return("PAGE")];var organized_pages={"parent_pages":[],"child_pages_of":[]};for(var i in list){if(typeof(list[i])!="function"){var linked_to_this_site=false;linked_to_this_site=(list[i]["site_ids"]&&list[i]["site_ids"]["direct"]&&(MochiKit.Base.findValue(list[i]["site_ids"]["direct"],this.dashboard.site_id)>-1))?true:linked_to_this_site;linked_to_this_site=(this.dashboard.site_id?linked_to_this_site:true);if(linked_to_this_site){if(list[i]["misc_vars"]&&(list[i]["misc_vars"]["parent_page_id"]==0)){organized_pages["parent_pages"][list[i]["misc_vars"]["rank"]]=list[i]["misc_vars"]["id"];}else if(list[i]["misc_vars"]&&(list[i]["misc_vars"]["parent_page_id"]>0)){var update={};update[list[i]["misc_vars"]["parent_page_id"]]={};update[list[i]["misc_vars"]["parent_page_id"]][list[i]["misc_vars"]["rank"]]=list[i]["misc_vars"]["id"];MochiKit.Base.updatetree(organized_pages["child_pages_of"],update);}}}}
organized_pages=Basis.ksort(organized_pages);var populate_submenu_options=function(list,element,level,dashboard){var level=level?level:"";if(list&&Basis.get_element(element)){for(var i in list){if(typeof(list[i])!="function"){var parent_page_id=Basis.filter_number(list[i]);var parent_page_rank=level+(Basis.filter_number(i)+1).toString()+".";Basis.select_add_option(element,parent_page_id,(parent_page_rank.substring(0,parent_page_rank.length-1)+" - "+dashboard.resource_display_text(dashboard.get_page_resource_id(parent_page_id))));for(var x in organized_pages["child_pages_of"]){if(Basis.filter_number(x)==parent_page_id){populate_submenu_options(organized_pages["child_pages_of"][x],element,parent_page_rank,dashboard);}}}}}};populate_submenu_options(organized_pages["parent_pages"],pages,"",this.dashboard);Basis.select_select_item_by_value(pages,this.options["page_id"]);var link_url=INPUT({"type":"text","name":"link_url"});var choose_file=INPUT({"type":"button","value":"Choose File","style":"display: none;"});var url_tr=TR({"style":"display: none;"},TD({"width":100,"style":"font-weight: bold;"},"Link:"),TD(null,SPAN(null,link_url,choose_file)));var document_listing=SELECT({"name":"document_listing"});var doc_tr=TR({"style":"display: none;"},TD({"width":100,"style":"font-weight: bold;"},"Documents:"),TD(null,SPAN(null,document_listing)));var contact_list_listing=SELECT({"name":"contact_list_listing"});var contact_list_tr=TR({"style":"display: none;"},TD({"width":100,"style":"font-weight: bold;"},"Contact Lists:"),TD(null,SPAN(null,contact_list_listing)));var enable_comments=SELECT({"name":"comments_enabled"});Basis.select_add_options(enable_comments,{"no":"No","yes":"Yes"});var comments_tr=TR({"style":"display: ;"},TD({"width":100,"style":"font-weight: bold;"},"Enable comments?"),TD(null,enable_comments));Basis.signal_handler.connect(choose_file,"onclick",bind(function(){Basis.misc_vars.file_browser=window.open("file_manager.php","file_browser","width=1000,height=800,status=no,resizable=no");Basis.misc_vars.to_populate=link_url;},this),false);Basis.signal_handler.connect(page_type,"onchange",bind(function(){switch(this.select.options[this.select.selectedIndex].value){case"CONTACT_LIST":this.contact_list_tr.style.display="";this.doc_tr.style.display="none";this.url_tr.style.display="none";this.choose_file.style.display="none";this.comments_tr.style.display="none";contact_list_listing.options.length=0;var lists=Basis.keys(this.dashboard.resource_linker[this.dashboard.site_resource_id]["associated_resources"]["CONTACT_LIST"]);for(var i=0;i<lists.length;i++){Basis.select_add_option(contact_list_listing,lists[i],this.dashboard.resource_display_text(lists[i]));}
Basis.select_sort(contact_list_listing);break;case"DOCUMENT_VIEW":this.contact_list_tr.style.display="none";this.doc_tr.style.display="";this.url_tr.style.display="none";this.choose_file.style.display="none";this.comments_tr.style.display="none";document_listing.options.length=0;document_listing.appendChild(new Option("Loading documents...",1));this.dashboard.custom_ajax_action("get_site_documents",this.site_id,document_listing);break;case"LINK_TO_URL":this.contact_list_tr.style.display="none";this.doc_tr.style.display="none";this.url_tr.style.display="";this.choose_file.style.display="none";this.comments_tr.style.display="none";break;case"LINK_TO_FILE":this.contact_list_tr.style.display="none";this.doc_tr.style.display="none";this.url_tr.style.display="";this.choose_file.style.display="";this.comments_tr.style.display="none";break;case"RICHTEXTAREA":this.contact_list_tr.style.display="none";this.doc_tr.style.display="none";this.url_tr.style.display="none";this.choose_file.style.display="none";this.comments_tr.style.display="";break;default:this.contact_list_tr.style.display="none";this.doc_tr.style.display="none";this.url_tr.style.display="none";this.choose_file.style.display="none";this.comments_tr.style.display="none";break;}},{"dashboard":this.dashboard,"select":page_type,"choose_file":choose_file,"comments_tr":comments_tr,"site_id":this.dashboard.site_id,"url_tr":url_tr,"doc_tr":doc_tr,"contact_list_tr":contact_list_tr,"contact_list_listing":contact_list_listing,"document_listing":document_listing}),false);var page_type_tooltip=IMG({"src":"images/images/default_icons/help.gif","style":"cursor: pointer; vertical-align: middle; margin-left: 5px;"});Basis.signal_handler.connect(page_type_tooltip,"onclick",function(){Basis.popup({"window_title":"Page Type","id":"page_type_tooltip","html":' <table cellpadding="5" cellspacing="0" border="0" width="500">\
                                            <tr>\
                                              <td width="110" valign="top"><b>Editable Text</b></td>\
                                              <td valign="top">Blank text page, similar to a Word document, which allows you to enter text, images, hyperlinks and tables into any order or layout that you wish.</td>\
                                            </tr>\
                                            <tr>\
                                              <td width="110" valign="top"><b>Image Gallery</b></td>\
                                              <td valign="top">Allows you to upload and organize your photos in a simple, easy to use image gallery.</td>\
                                            </tr>\
                                            <tr>\
                                              <td width="110" valign="top"><b>Calendar</b></td>\
                                              <td valign="top">A full calendar accessible through your website. Use this to keep track of important dates and meetings for your entire organization or yourself.</td>\
                                            </tr>\
                                            <tr>\
                                              <td width="110" valign="top"><b>Project List</b></td>\
                                              <td valign="top">Keep track of important projects from one location. Allows your sites users to enter in tasks and collaborate to complete them on time.</td>\
                                            </tr>\
                                            <tr>\
                                              <td width="110" valign="top"><b>Contact List</b></td>\
                                              <td valign="top">A fully featured contact list for you to keep track of all of your clients, employees and business relations.</td>\
                                            </tr>\
                                            <tr>\
                                              <td width="110" valign="top"><b>Placeholder</b></td>\
                                              <td valign="top">A placeholder is used when a dropdown menu is neccessary but the heading does not need it\'s own page with content on it.</td>\
                                            </tr>\
                                            <tr>\
                                              <td width="110" valign="top"><b>Poll</b></td>\
                                              <td valign="top">A customizable poll that you can use to gather information from your website\'s users based on questions that you choose.</td>\
                                            </tr>\
                                            <tr>\
                                              <td width="110" valign="top"><b>RSS Feed</b></td>\
                                              <td valign="top">An RSS Feed reader that will pull in an RSS feed of your choosing and display it within your website automatically.</td>\
                                            </tr>\
                                            <tr>\
                                              <td width="110" valign="top"><b>File Upload</b></td>\
                                              <td valign="top">Allows your users to upload files to a predetermined directory if you do not want them to have full access to your companys SiteQuarters File Manager.</td>\
                                            </tr>\
                                            <tr>\
                                              <td width="110" valign="top"><b>Link to File</b></td>\
                                              <td valign="top">Allows a menu item to link directly to a document stored on the web. One common use is for a .PDF or .DOC file.</td>\
                                            </tr>\
                                            <tr>\
                                              <td width="110" valign="top"><b>Link to Website</b></td>\
                                              <td valign="top">Allows a menu item to link directly to another website.</td>\
                                            </tr>\
                                          </table>'});},false);var page_info=DIV(null,H3(null,"Add a Page"),TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"width":100,"style":"font-weight: bold;"},"Page Name:"),TD({"height":"18"},page_name)),TR(null,TD({"width":100,"style":"font-weight: bold;"},"Page Type:"),TD(null,page_type,page_type_tooltip)),comments_tr,url_tr,doc_tr,contact_list_tr)),H3(null,"Where in the menu does it go?"),DIV(null,page_where,Basis.nbsp(),pages));var options={"on_load":partial(function(page_name){log("wizard PAGE 1 loaded!");page_name.focus();},page_name),"can_unload":bind(partial(function(page_name,page_type,enable_comments,document_listing,link_url,page_where,pages,contact_list_listing){var unload=true;if(!page_name.value.trim()){alert("You need to give the new page a name.");unload=false;}
if(((page_type.options[page_type.selectedIndex].value=="LINK_TO_FILE")||(page_type.options[page_type.selectedIndex].value=="LINK_TO_URL"))&&!link_url.value.trim()){alert("You need to give the new link an address or file to link to!");unload=false;}
if(unload){var comments=(enable_comments.options[enable_comments.selectedIndex].value=="yes")?"true":"false";var content=null;var type=page_type.options[page_type.selectedIndex].value;if(type=="DOCUMENT_VIEW"){content=document_listing.options[document_listing.selectedIndex].value;}
if(type=="CONTACT_LIST"){content=contact_list_listing.options[contact_list_listing.selectedIndex].value;}
this.custom_ajax_action("add_page",page_name.value,type,link_url.value,comments,content,page_where.options[page_where.selectedIndex].value,pages.options[pages.selectedIndex].value);}
return unload;},page_name,page_type,enable_comments,document_listing,link_url,page_where,pages,contact_list_listing),this.dashboard)};this.on_done=bind(partial(function(name,wizard){},name,this),this.dashboard);var index=this.add_step("Let's add a new page!",page_info,options);});this.set_wizard("PAGE_MOVE",function(){var page_where=SELECT({"name":"page_where"});Basis.select_add_options(page_where,{"before":"Before","after":"After","under":"In Sub-Menu, Under"});Basis.select_select_item_by_value(pages,this.options["page_where"]);var pages=SELECT({"name":"pages"});var list=this.dashboard.available_resources[Basis._return("PAGE")];var organized_pages={"parent_pages":[],"child_pages_of":[]};for(var i in list){if(typeof(list[i])!="function"){var linked_to_this_site=false;linked_to_this_site=(list[i]["site_ids"]&&list[i]["site_ids"]["direct"]&&(MochiKit.Base.findValue(list[i]["site_ids"]["direct"],this.dashboard.site_id)>-1))?true:linked_to_this_site;linked_to_this_site=(this.dashboard.site_id?linked_to_this_site:true);if(linked_to_this_site){if(list[i]["misc_vars"]&&(list[i]["misc_vars"]["parent_page_id"]==0)){organized_pages["parent_pages"][list[i]["misc_vars"]["rank"]]=list[i]["misc_vars"]["id"];}else if(list[i]["misc_vars"]&&(list[i]["misc_vars"]["parent_page_id"]>0)){var update={};update[list[i]["misc_vars"]["parent_page_id"]]={};update[list[i]["misc_vars"]["parent_page_id"]][list[i]["misc_vars"]["rank"]]=list[i]["misc_vars"]["id"];MochiKit.Base.updatetree(organized_pages["child_pages_of"],update);}}}}
organized_pages=Basis.ksort(organized_pages);var populate_submenu_options=function(list,element,level,dashboard){var level=level?level:"";if(list&&Basis.get_element(element)){for(var i in list){if(typeof(list[i])!="function"){var parent_page_id=Basis.filter_number(list[i]);var parent_page_rank=level+(Basis.filter_number(i)+1).toString()+".";Basis.select_add_option(element,parent_page_id,(parent_page_rank.substring(0,parent_page_rank.length-1)+" - "+dashboard.resource_display_text(dashboard.get_page_resource_id(parent_page_id))));for(var x in organized_pages["child_pages_of"]){if(Basis.filter_number(x)==parent_page_id){populate_submenu_options(organized_pages["child_pages_of"][x],element,parent_page_rank,dashboard);}}}}}};populate_submenu_options(organized_pages["parent_pages"],pages,"",this.dashboard);var page_info=DIV(null,H3(null,"Where in the menu does it go?"),DIV(null,page_where,Basis.nbsp(),pages));var options={"on_load":function(){log("wizard PAGE_MOVE 1 loaded!");},"can_unload":bind(partial(function(page_id,page_where,pages){if(confirm("Are you sure you want to move this page?")){this.custom_ajax_action("move_page",page_id,page_where.options[page_where.selectedIndex].value,pages.options[pages.selectedIndex].value);}
return true;},this.options["page_id"],page_where,pages),this.dashboard)};var index=this.add_step("Let's move this page!",page_info,options);});this.set_wizard("TASK_LIST",function(){if(list){var name=INPUT({"type":"text","style":"width: 100%;"});var list_info=DIV(null,H3(null,"Give your task list a name:"),DIV(null,name));var options={"on_load":partial(function(name){log("wizard TASK_LIST 1 loaded!");name.focus();},name),"can_unload":partial(function(name){if(!name.value.trim()){alert("You have to give your task list a name!");name.focus();}
return name.value.trim()?true:false;},name)};this.on_done=bind(partial(function(name,wizard){this.custom_ajax_action("add_new_resource","TASK_LIST",{"name":name.value},wizard.options["grid_control"]);},name,this),this.dashboard);var index=this.add_step("Let's add a task list!",list_info,options);this.options.width="500";this.options.height="250";}});this.set_wizard("TASK",function(){if(this.dashboard.initialized&&!this.dashboard.site_can_create_new("TASK")&&(this.options["mode"]!="edit")){this.dashboard.error_message("You have used up all "+this.dashboard.get_available_amount_of("TASK")+" of your available tasks!");return;}
var grid_control=this.options["grid_control"];if(!grid_control){var grid_control=new Basis.grid_control.task_list({"dashboard":this.dashboard,"num_per_page":50});grid_control=grid_control.grid_control;this.options["grid_control"]=grid_control;}
if(grid_control){var data_row=this.options["data_row"]?this.options["data_row"]:{};var task_name=INPUT({"type":"text","style":"width: 700px;","value":grid_control.get_master_field_data("task_name",data_row,true)});this.dashboard.bind_form_element(task_name,"task_name",data_row);var date_assigned=Basis.create_date_formfield(null,false);date_assigned.set_date(grid_control.get_master_field_data("date_assigned",data_row,true));this.dashboard.bind_form_element(date_assigned,"date_assigned",data_row);var notes=Basis.textarea({"style":"width: 700px; height: 120px;"},grid_control.get_master_field_data("notes",data_row,true));this.dashboard.bind_form_element(notes,"notes",data_row);var date_due=Basis.create_date_formfield(null,true);date_due.set_date(grid_control.get_master_field_data("date_due",data_row,true));if(date_due.get_date()!="0000-00-00"){date_due.toggle("on");}
this.dashboard.bind_form_element(date_due,"date_due",data_row);var status=SELECT();Basis.select_add_options(status,["Not Started","In Progress","Completed","Deferred","Waiting on someone else"]);this.dashboard.bind_form_element(status,"status",data_row);var priority=SELECT();Basis.select_add_options(priority,["(1) High Priority","(2) Normal Priority","(3) Low Priority","(4) Scheduled"]);this.dashboard.bind_form_element(priority,"priority",data_row,1);var percent_complete=SELECT();Basis.select_add_options(percent_complete,["0%","10%","20%","30%","40%","50%","60%","70%","80%","90%","100%"]);this.dashboard.bind_form_element(percent_complete,"percent_complete",data_row);var assigned_to=SELECT();Basis.select_add_option(assigned_to,""," ");Basis.select_add_options(assigned_to,this.dashboard.get_site_resource_list("CONTACT.V2"));Basis.select_sort(assigned_to);this.dashboard.bind_form_element(assigned_to,"assigned_to",data_row);task=TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"padding-right: 5px; text-align: right"},STRONG({"style":"padding: 0px; margin: 0px;"},"Task:")),TD({"width":"100%"},task_name)),TR(null,TD({"style":"padding-right: 5px; text-align: right"},STRONG(null,"Notes:")),TD({"width":"100%"},notes)),TR(null,TD({"style":"padding-right: 5px; text-align: right"},STRONG(null,"Info:")),TD({"width":"100%","style":"padding-top: 0px;"},TABLE({"border":"0","cellpadding":"5","cellspacing":"0","style":"border: 1px solid #c0c0c0;","width":"700"},TBODY(null,TR(null,TD({"style":"white-space: nowrap; text-align: right"},STRONG(null,"Date Assigned:")),TD({"width":"100%"},date_assigned),TD({"style":"white-space: nowrap; text-align: right"},STRONG(null,"Status:")),TD({"width":"100%"},status)),TR(null,TD({"style":"white-space: nowrap; text-align: right"},STRONG(null,"Date Due:")),TD({"width":"100%"},date_due),TD({"style":"white-space: nowrap; text-align: right"},STRONG(null,"% Complete:")),TD({"width":"100%"},percent_complete)),TR(null,TD({"style":"white-space: nowrap; text-align: right"},STRONG(null,"Assigned To:")),TD({"width":"100%"},assigned_to),TD({"style":"white-space: nowrap; text-align: right"},STRONG(null,"Priority:")),TD({"width":"100%"},priority))))))));Basis.set_tab_indexes([task_name,notes,date_assigned,date_due,assigned_to,status,percent_complete,priority]);var options={"on_load":partial(function(task_name){log("wizard TASK 1 loaded!");task_name.focus();},task_name),"can_unload":bind(function(){var condition=(!this.task_name||!this.task_name.trim());if(condition){alert("You have to give your new task a name!");}
return(!condition)?true:false;},data_row)};if(this.options["resource_id"]&&(this.options["mode"]=="edit")){this.on_done=bind(partial(function(data_row,options){data_row["task_list_resource_id"]=options["grid_control"].task_list_resource_id;var a=this.custom_ajax_action("save_resource",options["resource_id"],data_row,options["grid_control"],"data_row");a.addCallback(bind(partial(function(resource_id,grid_control){if(resource_id&&this.resource_linker[resource_id]){this.tiles.ui.pop_tile();Basis.block_updating_live_dom();var detail=this.render_view("DEFAULT","resource_detail",resource_id);var index=this.render_view("DEFAULT","default",this.resource_display_text(resource_id),detail);detail.menu.highlight_item(0);this.tiles.ui.go_to(index);this.tiles.ui.tiles[this.tiles.ui.current_tile].task_list=options["grid_control"];this.tiles.ui.tiles[index].content=detail;Basis.unblock_updating_live_dom();Basis.updated_live_dom();}},options["resource_id"],options["grid_control"]),this));},data_row,this.options),this.dashboard);}else{this.on_done=bind(partial(function(data_row,options){data_row["task_list_resource_id"]=options["grid_control"].task_list_resource_id;this.custom_ajax_action("add_new_resource","TASK",data_row,options["grid_control"],"data_row");},data_row,this.options),this.dashboard);}
var index=this.add_step(((this.options["mode"]=="edit")?this.dashboard.resource_display_text(this.options["resource_id"]):"Let's add a new task!"),task,options);this.options.width="850";this.options.height="400";}});this.set_wizard("USER",function(){var grid_control=this.options["grid_control"];if(!grid_control){var grid_control=new Basis.grid_control.contact_list({"dashboard":this.dashboard,"num_per_page":50});grid_control=grid_control.grid_control;this.options["grid_control"]=grid_control;}
if(grid_control){Basis.misc_vars.data_row=this.options["data_row"]?this.options["data_row"]:{};var username=INPUT({"type":"text","style":"width: 250px;","value":grid_control.get_master_field_data("username",Basis.misc_vars.data_row,true)});var password=INPUT({"type":"password","style":"width: 250px;","value":grid_control.get_master_field_data("password",Basis.misc_vars.data_row,true)});var password_again=INPUT({"type":"password","style":"width: 250px;","value":grid_control.get_master_field_data("password_again",Basis.misc_vars.data_row,true)});var user_level=SELECT();var user_levels=this.dashboard.user_levels_text;for(var i in user_levels){if(!(this.dashboard.user_levels[i]<=this.dashboard.user_levels[this.dashboard.current_user_level])){delete user_levels[i];}}
Basis.select_add_options(user_level,user_levels);Basis.select_select_item_by_value(user_level,grid_control.get_master_field_data("user_level",Basis.misc_vars.data_row,true));var fields={"username":username,"password":password,"password_again":password_again,"user_level":user_level};var user_info=DIV(null,H3(null,"Type in the user's information:"),TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"white-space: nowrap; text-align: right"},STRONG(null,"Username:")),TD({"width":"100%"},username)),TR(null,TD({"style":"white-space: nowrap; text-align: right"},STRONG(null,"Password:")),TD({"width":"100%"},password)),TR(null,TD({"style":"white-space: nowrap; text-align: right"},STRONG(null,"Re-type Password:")),TD({"width":"100%"},password_again)),TR(null,TD({"style":"white-space: nowrap; text-align: right"},STRONG(null,"User Level:")),TD({"width":"100%"},user_level)))));var options={"on_load":bind(partial(function(fields){log("wizard USER 1 loaded!");for(var i in fields){if(i&&!Basis.is_function(fields[i])){this.bind_form_element(fields[i],i,Basis.misc_vars.data_row);}}
fields["username"].focus();},fields),this.dashboard),"can_unload":partial(function(username,password,password_again,dashboard){var message="";var unload=true;if(!username.value.trim()){message+="You have to give your user a username!\n\n";username.focus();unload=false;}
if(!password.value.trim()||!password_again.value.trim()||(password.value.trim()&&password_again.value.trim()&&(password.value.trim()!=password_again.value.trim()))){message+="The passwords don't match!\n\n";password.focus();unload=false;}
var list=dashboard.available_resources["USER"];for(var i in list){if(list[i]&&list[i].misc_vars){if(list[i].misc_vars["username"]==username.value.trim()){if(dashboard.in_site(i)){message="This username already exists in this site!\n\n";username.focus();unload=false;}else{dashboard.system_log("ALERT: prompt to import user from org to site!");}}}}
if(message){alert(message);}
return unload;},username,password,password_again,this.dashboard)};var index=this.add_step("Let's add a user!",user_info,options);var contact_list=new Basis.grid_control.contact_list({"dashboard":this,"num_per_page":50});var grid_control=contact_list.grid_control;if(grid_control){var CONTACT_type=SELECT();Basis.select_add_options(CONTACT_type,{"individual":"Individual","organization":"Organization"});var company_name=INPUT({"type":"text","value":grid_control.get_master_field_data("company_name",Basis.misc_vars.data_row,true)});var first_name=INPUT({"type":"text","value":grid_control.get_master_field_data("first_name",Basis.misc_vars.data_row,true)});var last_name=INPUT({"type":"text","value":grid_control.get_master_field_data("last_name",Basis.misc_vars.data_row,true)});var address1=INPUT({"type":"text","value":grid_control.get_master_field_data("address1",Basis.misc_vars.data_row,true)});var address2=INPUT({"type":"text","value":grid_control.get_master_field_data("address2",Basis.misc_vars.data_row,true)});var city=INPUT({"type":"text","value":grid_control.get_master_field_data("city",Basis.misc_vars.data_row,true)});var state=SELECT();Basis.select_add_options(state,grid_control.states);Basis.select_select_item_by_value(state,grid_control.get_master_field_data("state",Basis.misc_vars.data_row,true,true));var zip_code=INPUT({"type":"text","value":grid_control.get_master_field_data("zip_code",Basis.misc_vars.data_row,true)});var county=SELECT();Basis.select_add_options(county,grid_control.counties[grid_control.get_master_field_data("state",Basis.misc_vars.data_row,true,true)]);Basis.select_select_item_by_value(county,grid_control.get_master_field_data("county",Basis.misc_vars.data_row,true,true));var country=SELECT();Basis.select_add_options(country,grid_control.countries);Basis.select_select_item_by_value(country,grid_control.get_master_field_data("country",Basis.misc_vars.data_row,true,true));var phone_business=INPUT({"type":"text","value":grid_control.get_master_field_data("phone_business",Basis.misc_vars.data_row,true)});var phone_home=INPUT({"type":"text","value":grid_control.get_master_field_data("phone_home",Basis.misc_vars.data_row,true)});var phone_cell=INPUT({"type":"text","value":grid_control.get_master_field_data("phone_cell",Basis.misc_vars.data_row,true)});var phone_fax=INPUT({"type":"text","value":grid_control.get_master_field_data("phone_fax",Basis.misc_vars.data_row,true)});var email_address1=INPUT({"type":"text","value":grid_control.get_master_field_data("email_address1",Basis.misc_vars.data_row,true)});var email_address2=INPUT({"type":"text","value":grid_control.get_master_field_data("email_address2",Basis.misc_vars.data_row,true)});var url1=INPUT({"type":"text","value":grid_control.get_master_field_data("url1",Basis.misc_vars.data_row,true)});var url2=INPUT({"type":"text","value":grid_control.get_master_field_data("url2",Basis.misc_vars.data_row,true)});var notes=Basis.textarea(null,grid_control.get_master_field_data("notes",Basis.misc_vars.data_row,true));var fields={"CONTACT_type":CONTACT_type,"company_name":company_name,"first_name":first_name,"last_name":last_name,"address1":address1,"address2":address2,"city":city,"state":state,"zip_code":zip_code,"county":county,"country":country,"phone_business":phone_business,"phone_home":phone_home,"phone_cell":phone_cell,"phone_fax":phone_fax,"email_address1":email_address1,"email_address2":email_address2,"url1":url1,"url2":url2,"notes":notes};contact=TABLE({"border":"0","cellpadding":"0","cellspacing":"0","width":"650","class":grid_control.root_class_name+".contact.detail"},TBODY(null,TR(null,TD(null,TABLE({"border":"0","cellpadding":"5","cellspacing":"0","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("company_name")+":")),TD({"width":"140"},company_name),TD({"width":"100"},STRONG(null,grid_control.get_master_field_title("type")+":")),TD(null,CONTACT_type)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("first_name")+":")),TD({"width":"140"},first_name),TD({"colSpan":"2","rowSpan":"10"},FIELDSET(null,LEGEND(null,STRONG("Phone Numbers:")),TABLE({"border":"0","cellpadding":"0","cellspacing":"2","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("phone_business")+":")),TD(null,phone_business)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("phone_home")+":")),TD(null,phone_home)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("phone_cell")+":")),TD(null,phone_cell)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("phone_fax")+":")),TD(null,phone_fax))))),FIELDSET(null,LEGEND(null,STRONG("Internet:")),TABLE({"border":"0","cellpadding":"0","cellspacing":"2","width":"100%"},TBODY(null,TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("email_address1")+":")),TD(null,email_address1)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("email_address2")+":")),TD(null,email_address2)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("url1")+":")),TD(null,url1)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("url2")+":")),TD(null,url2))))))),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("last_name")+":")),TD({"width":"140"},last_name)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("address1")+":")),TD({"width":"140"},address1)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("address2")+":")),TD({"width":"140"},address2)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("city")+":")),TD({"width":"140"},city)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("state")+":")),TD({"width":"140"},state)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("zip_code")+":")),TD({"width":"140"},zip_code)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("county")+":")),TD({"width":"140"},county)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("country")+":")),TD({"width":"140"},country)),TR(null,TD({"width":"100"},STRONG("Groups:")),TD({"width":"140"},null)),TR(null,TD({"width":"100"},STRONG(grid_control.get_master_field_title("notes")+":")),TD({"width":"140"},notes)),null))))));Basis.set_tab_indexes([company_name,first_name,last_name,address1,address2,city,state,zip_code,county,country,notes,CONTACT_type,phone_business,phone_home,phone_cell,phone_fax,email_address1,email_address2,url1,url2]);var options={"on_load":bind(partial(function(fields){log("wizard USER 2 loaded!");for(var i in fields){if(i&&!Basis.is_function(fields[i])){this.bind_form_element(fields[i],i,Basis.misc_vars.data_row);}}
if(Basis.misc_vars.data_row["CONTACT_type"]=="individual"){fields["first_name"].focus();}else{fields["company_name"].focus();}},fields),this.dashboard),"can_unload":bind(partial(function(first_name,company_name){switch(this.CONTACT_type){case"individual":var condition=(!this.first_name||!this.first_name.trim());if(condition){alert("You have to at least give your contact a first name!");first_name.focus();}
break;case"organization":var condition=(!this.company_name||!this.company_name.trim());if(condition){alert("You have to at least give your contact a company name!");company_name.focus();}
break;}
return(!condition)?true:false;},first_name,company_name),Basis.misc_vars.data_row)};var index=this.add_step("Who is this new user?",contact,options);}
this.on_done=bind(partial(function(options){this.custom_ajax_action("add_new_resource","USER",Basis.misc_vars.data_row,options["grid_control"],"display_text");},this.options),this.dashboard);}});this.set_wizard("USER_EDIT",function(){var data_row=this.options["data_row"]?this.options["data_row"]:{};var resource_id=this.options["resource_id"]?this.options["resource_id"]:null;if(!resource_id){return;}
var username=STRONG(null,this.dashboard.resource_display_text(resource_id));var password=INPUT({"type":"password","style":"width: 250px;"});this.dashboard.bind_form_element(password,"password",data_row);var password_again=INPUT({"type":"password","style":"width: 250px;"});this.dashboard.bind_form_element(password_again,"password_again",data_row);var user_info=DIV(null,H3(null,"Change password:"),TABLE({"border":"0","cellpadding":"5","cellspacing":"0"},TBODY(null,TR(null,TD({"style":"white-space: nowrap; text-align: right"},STRONG(null,"Username:")),TD({"width":"100%"},username)),TR(null,TD({"style":"white-space: nowrap; text-align: right"},STRONG(null,"Password:")),TD({"width":"100%"},password)),TR(null,TD({"style":"white-space: nowrap; text-align: right"},STRONG(null,"Re-type Password:")),TD({"width":"100%"},password_again)))));var options={"on_load":partial(function(password){log("wizard USER_EDIT 1 loaded!");password.focus();},password),"can_unload":partial(function(password,password_again,dashboard){var message="";var unload=true;if(!password.value.trim()||!password_again.value.trim()||(password.value.trim()&&password_again.value.trim()&&(password.value.trim()!=password_again.value.trim()))){message+="The passwords don't match!\n\n";password.focus();unload=false;}
if(message){alert(message);}
return unload;},password,password_again,this.dashboard)};this.on_done=bind(partial(function(data_row,options){this.custom_ajax_action("user_change_password",resource_id,data_row["password"]);},data_row,this.options),this.dashboard);var index=this.add_step(this.dashboard.resource_display_text(resource_id),user_info,options);this.options.width="600";this.options.height="300";});},set_wizard:function(alias,func){this.debug_log(["set_wizard()",alias]);if(alias&&func&&(typeof(func)=="function")){var options={};if(this.wizards[alias]){var options=this.wizards[alias].options;}
this.wizards[alias]=new Basis.wizard({"tiles":this.tiles.wizard});this.wizards[alias].options=options;this.wizards[alias].dashboard=this;var func=bind(func,this.wizards[alias]);this.wizards[alias].setup=bind(partial(function(alias,func){this.set_wizard(alias,func);},alias,func),this);func();}},show_resource:function(resource_id,clear_tiles){var clear_tiles=(clear_tiles===true)?true:false;if(resource_id&&this.resource_linker[resource_id]){Basis.block_updating_live_dom();if(clear_tiles){this.resource_id=null;this.reset_states();this.tiles.ui.clear_all_tiles();}
var detail=this.render_view("DEFAULT","resource_detail",resource_id);var index=this.render_view("DEFAULT","default",this.resource_display_text(resource_id),detail);detail.menu.highlight_item(0);this.tiles.ui.go_to(index);Basis.unblock_updating_live_dom();Basis.updated_live_dom();}},site_can_create_new:function(resource_type){if(resource_type&&this.site_billing_info[this.site_id]){var resource_type=resource_type.toUpperCase();switch(resource_type){case"PAGE":return(Basis.array_length(this.get_site_resource_list(resource_type))<this.site_billing_info[this.site_id]["site"]["num_pages"])?true:false;break;case"GROUP":return(Basis.array_length(this.get_site_resource_list(resource_type))<this.site_billing_info[this.site_id]["site"]["num_groups"])?true:false;break;case"TASK":return(Basis.array_length(this.get_site_resource_list(resource_type))<this.site_billing_info[this.site_id]["site"]["num_tasks"])?true:false;break;case"CONTACT":return(Basis.array_length(this.get_site_resource_list("CONTACT.V2"))<this.site_billing_info[this.site_id]["site"]["num_contacts"])?true:false;break;case"LIST":return(Basis.array_length(this.get_site_resource_list("LIST"))<this.site_billing_info[this.site_id]["site"]["num_lists"])?true:false;break;case"DISCUSSION":return(Basis.array_length(this.get_site_resource_list(resource_type))<this.site_billing_info[this.site_id]["site"]["num_discussions"])?true:false;break;case"USER_BASIC":case"USER_POWER":this.debug_log(["site_can_create_new()",resource_type,"make me do something"]);break;}}
return false;},system_log:function(message,is_for_end_user){if(message){var is_for_end_user=(is_for_end_user!=null)?((is_for_end_user===true)?true:false):false;var timestamp=Basis.time();MochiKit.Logging.log(timestamp+" "+message);if(is_for_end_user){var obj=Basis.get_element(this.elements["notifications"]);if(obj){obj.innerHTML=message;this.system_log_history.push([timestamp,message]);if(obj.parentNode.highlight_reference&&obj.parentNode.highlight_reference.cancel){obj.parentNode.highlight_reference.cancel();}
obj.parentNode.highlight_reference=Highlight(obj.parentNode);}}}},verify_login:function(loop){var check=this.custom_ajax_action("verify_login");if(loop){check.addCallback(bind(function(){MochiKit.Async.callLater(30,bind(function(){this.verify_login(true);},this));},this));}
return check;}};Basis.dashboard.header_block=function(title,go_back,go_back_text,go_back_icon){if((go_back===false)||(go_back==null)){return DIV({"style":"background-image: url(images/images/dashboard/v2/resource_title_background.gif); background-repeat: repeat-x; height: 57px;"},DIV(null,TABLE({"width":"100%","border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"16","style":"padding-right: 0px; background-image: url(images/images/dashboard/v2/resource_title_background.top_left.gif); background-position: top left; background-repeat: no-repeat;"}),TD(null,DIV({"style":"padding: 5px; text-align: center; font-family: verdana; font-size: 16pt; font-weight: bold; color: #2B4D70;"},title)),TD({"width":"16","style":"padding-left: 0px; background-image: url(images/images/dashboard/v2/resource_title_background.top_right.gif); background-position: top right; background-repeat: no-repeat;"}))))));}else{var link=MochiKit.DOM.createDOM("B",{"style":"cursor: pointer;"},["Go Back to ",SPAN({"style":"color: #4676bb"},go_back_text)]);var icon=IMG({"src":go_back_icon?go_back_icon:"images/images/arrow_left_small.gif","style":"cursor: pointer;"})
var d=DIV({"style":"background-image: url(images/images/dashboard/v2/resource_title_background.gif); background-repeat: repeat-x; height: 57px;"},DIV(null,TABLE({"width":"100%","border":"0","cellpadding":"10","cellspacing":"0"},TBODY(null,TR(null,TD({"width":"16","style":"padding-right: 0px; background-image: url(images/images/dashboard/v2/resource_title_background.top_left.gif); background-position: top left; background-repeat: no-repeat;"},icon),TD({"width":"200"},link),TD(null,DIV({"style":"padding: 5px; text-align: center; font-family: verdana; font-size: 16pt; font-weight: bold; color: #2B4D70;"},title)),TD({"width":"200"}),TD({"width":"16","style":"padding-left: 0px; background-image: url(images/images/dashboard/v2/resource_title_background.top_right.gif); background-position: top right; background-repeat: no-repeat;"}))))));d.go_back=link;d.go_back_icon=icon;return d;}};