
function $(id) {return document.getElementById(id);}
var CLASMA={};
CLASMA.namespace=function(ns)
{
var o=CLASMA;
var s=ns.split(".");
var n=(s[0]=="CLASMA")?1:0;
while(n<s.length)
{
if(!o[s[n]]) o[s[n]]={};
o=o[s[n++]];
}
return o;
};
CLASMA.libPath="lib/";
CLASMA.cssPath="css/";
CLASMA.resPath="res/";
Number.prototype.NaN0=function() {return isNaN(this)?0:this;};
String.prototype.regrep=function(p,s) {return this.replace(new RegExp(p,"gi"),s);};
String.prototype.regrem=function(p) {return this.replace(new RegExp(p,"gi"),"");};
String.prototype.regmatch=function(p) {return this.match(new RegExp(p,"gi"));};
String.prototype.ltrim=function() {return this.regrem("^\\s+");};
String.prototype.rtrim=function() {return this.regrem("\\s+$");};
String.prototype.trim=function() {return this.ltrim().rtrim();};
String.prototype.trimsplit=function(c) {var s=this.split(c); for(var n=0;n<s.length;n++) s[n]=s[n].trim(); return s;};
String.prototype.addBreaks=function() {return this.regrep("\r\n|\n|\r","<br/>");};
String.prototype.removeBreaks=function() {return this.regrep("<br\/>","\r\n");};
String.prototype.escapeTabs=function() {return this.regrep("\t","&nbsp;&nbsp;&nbsp;&nbsp;");};
String.prototype.escapeHtml=function() {return this.regrep("&","&amp;").regrep("<","&lt;").regrep(">","&gt;");};
String.prototype.unescapeHtml=function() {return this.regrep("&amp;","&").regrep("&lt;","<").regrep("&gt;",">");};
String.prototype.stripTags=function() {return this.regrem("<([^>]+)>");};
String.prototype.encode=function() {return encodeURIComponent(this);};
String.prototype.parseUrl=function()
{
var m=new RegExp(
"^(?:([^:/?#.]+):)?(?://)?"+
"(([^:/?#]*)(?::(\\d*))?)?"+
"((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[\\?#]|$)))*/?)?([^?#/]*))?(?:\\?([^#]*))?"+
"(?:#(.*))?").exec(this);
var k=["source","protocol","authority","domain","port","path","directory","file","query","hash"];
var o={};
for(var n=0;n<10;n++)
o[k[n]]=(m[n]?m[n]:"");
return o;
};
String.prototype.parseFile=function()
{
var d={path:"",file:"",ext:""};
var n=this.lastIndexOf(".");
if(n>=0) d.ext=this.substr(n+1);
else n=this.length;
var nn=this.lastIndexOf(String.fromCharCode(92));
if(nn<0)
{
nn=this.lastIndexOf("/");
if(nn<0) nn=this.lastIndexOf(":");
}
nn++;
d.file=this.substr(nn,n-nn);
d.path=this.substr(0,nn);
return d;
};
String.prototype.parseEmail=function()
{
var m=this.split("@");
return (m && m.length==2)?{local:m[0],domain:m[1]}:null;
};
String.prototype.validEmail=function()
{
var len=this.length-1;
var at=this.lastIndexOf("@");
if(at<1 || at==len) return false;
var dot=this.lastIndexOf(".");
if(dot<=at+1 || dot==len) return false;
return true;
};
String.prototype.validPassword=function()
{
if(this.length>=6)
{
for(var n=0;n<this.length;n++)
if(CLASMA.lang.isNum(this.charAt(n))) return true;
}
return false;
};
String.prototype.oneOf=function(ar)
{
for(var n=0;n<ar.length;n++)
if(this.toLowerCase()==ar[n].toLowerCase()) return n;
return -1;
};
String.prototype.toTitle=function()
{
function fn(a) {return a.toUpperCase();}
return this.replace(/\b[a-z]/g,fn);
};
Date.prototype.strTime=function(secs)
{
var h=this.getHours();
var m=this.getMinutes();
var pm=(h>=12);
var n=false;
h%=12;
if(h==0)
{
if(m==0) n=true;
h=12;
}
if(m<10) m="0"+m;
var ts=h+":"+m;
if(secs)
{
var s=this.getSeconds();
if(s<10) s="0"+s;
ts+=":"+s;
}
if(n) ts+=" "+(pm?"Noon":"Midnight");
else ts+=" "+(pm?"pm":"am");
return ts;
};
CLASMA.namespace("CLASMA.lang");
CLASMA.lang=function() {
var number="0123456789";
var lower="abcdefghijklmnopqrstuvwxyz";
var upper="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var isValid=function(s,v)
{
if(s && s!="")
{
for(var n=0;n<s.length;n++)
if(v.indexOf(s.charAt(n))==-1) return false;
}
return true;
};
return {
isUndefined:function(o) {return typeof o=="undefined";},
isNull:function(o) {return o===null;},
isBoolean:function(o) {return typeof o=="boolean";},
isString:function(o) {return typeof o=="string";},
isNumber:function(o) {return typeof o=="number" && isFinite(o);},
isObject:function(o) {return typeof o=="object";},
isFunction:function(o) {return typeof o=="function";},
isNum:function(s) {return isValid(s,number);},
isUpper:function(s) {return isValid(s,upper);},
isLower:function(s) {return isValid(s,lower);},
isAlpha:function(s) {return isValid(s,upper+lower);},
isAlphaNum:function(s) {return isValid(s,upper+lower+number);},
tween:function(t,b,c,d) {return b+((c-b)*(t/d));},
floorit:function(v,n) {v+=n; return v<0?0:v;}
}; }();
CLASMA.namespace("CLASMA.detect");
CLASMA.detect=function() {
var sniffles=[
"MSIE ([\\d|\\.]+);",
"Firefox\\/([\\d|\\.]+)",
"Version\\/([\\d|\\.]+) Safari",
"Chrome\\/([\\d|\\.]+)"];
var types=[
"IE",
"FireFox",
"Safari",
"Chrome"];
return {
agent:"Unknown",
platform:"Unknown",
type:"Unknown",
ver:"?",
vermaj:0,
vermin:0,
verbuild:0,
ie:false,
firefox:false,
safari:false,
chrome:false,
sniff:function()
{
var a=navigator.userAgent;
this.platform=navigator.platform;
this.agent=a;
for(var n=0;n<sniffles.length;n++)
{
var re=new RegExp(sniffles[n],"i");
if(re.test(a))
{
this.type=types[n];
this.ver=RegExp.$1;
var v=this.ver.split(".");
this.vermaj=v.length>0?parseInt(v[0]):0;
this.vermin=v.length>1?parseInt(v[1]):0;
this.verbuild=v.length>2?parseInt(v[2]):0;
break;
}
}
this.ie=(n==0);
this.firefox=(n==1);
this.safari=(n==2);
this.chrome=(n==3);
}
}; }();
CLASMA.detect.sniff();
CLASMA.namespace("CLASMA.cookie");
CLASMA.cookie=function() {
return {
get:function(name)
{
var c=document.cookie.indexOf(name+"=");
if(c==-1) return null;
var l=c+name.length+1;
var e=document.cookie.indexOf(";",l);
if(e==-1) e=document.cookie.length;
return unescape(document.cookie.substring(l,e));
},
set:function(name,value,days)
{
if(typeof days=="undefined") days=999;
var c=name+"="+escape(value)+";path=/";
if(days)
{
var d=new Date();
d.setTime(d.getTime()+(days*24*60*60*1000));
c+=";expires="+d.toGMTString();
}
document.cookie=c;
},
erase:function(name)
{
this.set(name,"",-1);
},
empty:function()
{
var cc=document.cookie.split("; ");
for(var n=0;n<cc.length;n++)
{
var c=cc[n].split("=");
if(c.length!=2) continue;
this.erase(unescape(c[0]));
}
}
}; }();
CLASMA.namespace("CLASMA.dom");
CLASMA.dom=function() {
var cdd=CLASMA.detect;
var loadList=null;
var evalList=null;
var fnDomLoad=null;
var getE=function(id) {return CLASMA.lang.isString(id)?$(id):id;};
var getS=function(id) {var e=getE(id); return e?e.style:null;};
return {
getDocument:function() {return document;},
getHead:function(doc) {if(!doc) doc=document; return doc.getElementsByTagName("head")[0];},
getBody:function(doc) {if(!doc) doc=document; return doc.getElementsByTagName("body")[0];},
getElement:function(id) {return getE(id);},
getStyle:function(id) {return getS(id);},
getParent:function(id) {var e=getE(id); return e?e.parentNode:null;},
getFirst:function(id) {var e=getE(id); return e?e.firstChild:null;},
getLast:function(id) {var e=getE(id); return e?e.lastChild:null;},
getNext:function(id) {var e=getE(id); return e?e.nextSibling:null;},
getPrev:function(id) {var e=getE(id); return e?e.prevSibling:null;},
getTag:function(id) {var e=getE(id); return e?e.tagName.toLowerCase():null;},
setId:function(id,v) {var e=getE(id); if(e) e.id=v;},
getId:function(id) {var e=getE(id); return e?e.id:null;},
setClass:function(id,v) {var e=getE(id); if(e) e.className=v;},
getClass:function(id) {var e=getE(id); return e?e.className:null;},
setHtml:function(id,v) {var e=getE(id); if(e) e.innerHTML=v;},
getHtml:function(id) {var e=getE(id); return e?e.innerHTML:null;},
setSrc:function(id,v) {var e=getE(id); if(e) e.src=v;},
getSrc:function(id) {var e=getE(id); return e?e.src:null;},
setScrollTop:function(id,v) {var e=getE(id); if(e) e.scrollTop=v;},
getScrollTop:function(id) {var e=getE(id); return e?e.scrollTop:null;},
setScrollLeft:function(id,v) {var e=getE(id); if(e) e.scrollLeft=v;},
getScrollLeft:function(id) {var e=getE(id); return e?e.scrollLeft:null;},
getScrollHeight:function(id) {var e=getE(id); return e?e.scrollHeight:null;},
getScrollWidth:function(id) {var e=getE(id); return e?e.scrollWidth:null;},
setValue:function(id,v) {var e=getE(id); if(e) e.value=v;},
getValue:function(id) {var e=getE(id); return e?e.value:null;},
setChecked:function(id,v) {var e=getE(id); if(e) e.checked=v;},
getChecked:function(id) {var e=getE(id); return e?e.checked:null;},
isChecked:function(id) {return this.getChecked(id);},
setDisabled:function(id,v) {var e=getE(id); if(e) e.disabled=v?"disabled":"";},
getDisabled:function(id) {var e=getE(id); return e?e.disabled:null;},
isDisabled:function(id) {return this.getDisabled(id);},
setAttr:function(id,n,v) {var e=getE(id); if(e) e.setAttribute(n,v);},
getAttr:function(id,n) {var e=getE(id); return e?e.getAttribute(n):null;},
setTop:function(id,v) {var s=getS(id); if(s) s.top=v+"px";},
getTop:function(id) {var s=getS(id); return s?s.top:null;},
setLeft:function(id,v) {var s=getS(id); if(s) s.left=v+"px";},
getLeft:function(id) {var s=getS(id); return s?s.left:null;},
setBottom:function(id,v) {var s=getS(id); if(s) s.bottom=v+"px";},
getBottom:function(id) {var s=getS(id); return s?s.bottom:null;},
setRight:function(id,v) {var s=getS(id); if(s) s.right=v+"px";},
getRight:function(id) {var s=getS(id); return s?s.right:null;},
setWidth:function(id,v) {var s=getS(id); if(s) s.width=v+"px";},
getWidth:function(id) {var s=getS(id); return s?s.width:null;},
setHeight:function(id,v) {var s=getS(id); if(s) s.height=v+"px";},
getHeight:function(id) {var s=getS(id); return s?s.height:null;},
setBackImage:function(id,v) {var s=getS(id); if(s) s.backgroundImage="url("+v+")";},
getBackImage:function(id) {var s=getS(id); return s?s.backgroundImage:null;},
setBackColor:function(id,v) {var s=getS(id); if(s) s.backgroundColor=v;},
getBackColor:function(id) {var s=getS(id); return s?s.backgroundColor:null;},
setColor:function(id,v) {var s=getS(id); if(s) s.color=v;},
getColor:function(id) {var s=getS(id); return s?s.color:null;},
setMarginTop:function(id,v) {var s=getS(id); if(s) s.marginTop=v+"px";},
getMarginTop:function(id) {var s=getS(id); return s?s.marginTop:null;},
setMarginLeft:function(id,v) {var s=getS(id); if(s) s.marginLeft=v+"px";},
getMarginLeft:function(id) {var s=getS(id); return s?s.marginLeft:null;},
setMarginBottom:function(id,v) {var s=getS(id); if(s) s.marginBottom=v+"px";},
getMarginBottom:function(id) {var s=getS(id); return s?s.marginBottom:null;},
setMarginRight:function(id,v) {var s=getS(id); if(s) s.marginRight=v+"px";},
getMarginRight:function(id) {var s=getS(id); return s?s.marginRight:null;},
setFrame:function(id,v,w) {var s=getS(id); if(s) s.backgroundPosition=(-(v*w))+"px 0px";},
getFrame:function(id) {var s=getS(id); return s?s.backgroundPosition:null;},
setZIndex:function(id,i) {var s=getS(id); if(s) s.zIndex=i;},
getZIndex:function(id) {var s=getS(id); return s?s.zIndex:null;},
setDisplay:function(id,v) {var s=getS(id); if(s) s.display=v;},
getDisplay:function(id) {var s=getS(id); return s?s.display:null;},
setPosition:function(id,v) {var s=getS(id); if(s) s.position=v;},
getPosition:function(id) {var s=getS(id); return s?s.position:null;},
setVisibility:function(id,v) {var s=getS(id); if(s) s.visibility=v;},
getVisibility:function(id) {var s=getS(id); return s?s.visibility:null;},
setShow:function(id,v) {var s=getS(id); if(s) s.display=v?"block":"none";},
getShow:function(id) {var s=getS(id); return s?s.display:null;},
isVisible:function(id) {var s=getS(id); return s && s.display!="none";},
createElement:function()
{
var a=arguments;
var n=0;
var doc=CLASMA.lang.isString(a[n])?document:a[n++];
var e=doc.createElement(a[n++]);
if(!e) return null;
while(n<a.length)
{
var o=a[n++].trimsplit("=");
if(o.length==2) e.setAttribute(o[0],o[1]);
}
return e;
},
appendBody:function(e)
{
document.body.appendChild(e);
},
appendChild:function(parent,e)
{
var p=getE(parent);
if(!p) return;
parent.appendChild(e);
},
insertChild:function(before,e)
{
var c=getE(before);
if(!c) return;
c.parentNode.insertBefore(e,c);
},
deleteElement:function(id)
{
var e=getE(id);
if(!e) return;
var p=CLASMA.dom.getParent(e);
if(p) p.removeChild(e);
},
removeElements:function(id)
{
var e=getE(id);
if(!e) return;
while(e.firstChild)
e.removeChild(e.firstChild);
},
getElements:function(tag,parent,cls)
{
if(!tag) tag="*";
if(!parent) parent=document;
parent=getE(parent);
if(!parent) return [];
var e=(tag=="*" && parent.all)?parent.all:parent.getElementsByTagName(tag);
if(!cls) return e;
var l=[];
var r=new RegExp("(^|\\s)"+cls+"(\\s|$)");
for(var n=0;n<e.length;n++)
if(r.test(CLASMA.dom.getClass(e[n]))) l.push(e[n]);
return l;
},
getElementById:function(parent,id)
{
if(!parent || parent==document)
return document.getElementById(id);
var e=CLASMA.dom.getElements(null,parent,null);
for(var n=0;n<e.length;n++)
if(CLASMA.dom.getId(e[n])==id) return(e[n]);
return null;
},
getElementByClass:function(parent,cls)
{
var e=CLASMA.dom.getElements(null,parent,cls);
return e.length>0?e[0]:null;
},
getParentElement:function(from,tag,cls)
{
if(!tag) tag="*";
var r=cls?(new RegExp("(^|\\s)"+cls+"(\\s|$)")):null;
var e=CLASMA.dom.getParent(from);
while(e && e!=document)
{
if((tag=="*" || CLASMA.dom.getTag(e)==tag) &&
(!r || r.test(CLASMA.dom.getClass(e))))
return e;
e=CLASMA.dom.getParent(e);
}
return null;
},
enableFormElements:function(form,enable,exempt)
{
if(typeof enable=="undefined") enable=true;
if(typeof exempt=="undefined") exempt=null;
form=getE(form);
if(!form) return;
for(var n=0;n<form.elements.length;n++)
{
var e=form.elements[n];
if(e) e.disabled=!enable;
}
if(exempt)
{
var ex=exempt.split(",")
for(n=0;n<ex.length;n++)
$(ex[n]).disabled=enable;
}
},
processScripts:function(t)
{
loadList=[];
evalList=[];
var s1=new RegExp("<script","gi");
var s2=new RegExp("</script>","gi");
var s3=new RegExp(" src=","gi");
while(true)
{
var n1=t.search(s1);
if(n1==-1) break;
var n2=t.search(s2);
if(n2==-1) break;
var s=t.substring(n1,n2);
t=t.substring(0,n1)+t.substring(n2+9);
var n1=s.indexOf(">");
if(n1==-1) break;
var a=s.substring(0,n1+1);
var n2=a.search(s3);
if(n2>=0)
{
var c=a.charAt(n2+5);
var n=a.indexOf(c,n2+6);
a=a.substring(n2+6,n);
if(a!="") loadList.push(a);
}
s=s.substring(n1+1);
if(s!="") evalList.push(s);
}
return t;
},
runScripts:function()
{
for(var n=0;n<loadList.length;n++)
this.loadScript(loadList[n]);
for(var n=0;n<evalList.length;n++)
this.evalScript(evalList[n]);
loadList=null;
evalList=null;
},
loadScript:function(src)
{
var e=this.createElement("script");
e.type="text/javascript";
e.src=src;
try {this.getHead().appendChild(e);}
catch(err) {return alert(err.description);}
return null;
},
evalScript:function(t)
{
var e=this.createElement("script");
e.type="text/javascript";
e.text=t;
try {this.getHead().appendChild(e);}
catch(err) {return alert(err.description);}
return null;
},
getBoundingBox:function(id)
{
var e=getE(id);
if(!e) return null;
var box={top:0,left:0,bottom:0,right:0,width:0,height:0};
if(e.getBoundingClientRect)
{
var br=e.getBoundingClientRect();
box.top=parseInt(br.top);
box.left=parseInt(br.left);
box.bottom=parseInt(br.bottom);
box.right=parseInt(br.right);
box.width=parseInt(br.right-br.left);
box.height=parseInt(br.bottom-br.top);
return box;
}
if(document.getBoxObjectFor)
{
var bo=document.getBoxObjectFor(e);
box.top=parseInt(bo.y);
box.left=parseInt(bo.x);
box.width=parseInt(bo.width);
box.height=parseInt(bo.height);
box.bottom=parseInt(box.top+bo.height);
box.right=parseInt(box.left+bo.width);
return box;
}
return CLASMA.dom.getOffsetBox(e);
},
getOffsetBox:function(id)
{
var e=getE(id);
if(!e) return null;
var box={top:0,left:0,bottom:0,right:0,width:0,height:0};
box.width=parseInt(e.offsetWidth);
box.height=parseInt(e.offsetHeight);
while(e)
{
box.top+=e.offsetTop;
box.left+=e.offsetLeft;
e=e.offsetParent;
}
box.top=parseInt(box.top);
box.left=parseInt(box.left);
box.bottom=parseInt(box.top+box.height);
box.right=parseInt(box.left+box.width);
return box;
},
ptInBoundingBox:function(id,pt)
{
var b=this.getBoundingBox(id);
return pt.top>=b.top && pt.top<b.bottom &&
pt.left>=b.left && pt.left<b.right;
},
isChild:function(p,e)
{
while(e)
{
if(e==p) return true;
e=e.parentNode;
}
return false;
},
addEvent:function(id,name,fn,capture)
{
var e=getE(id);
if(!e) return;
if(typeof capture=="undefined") capture=false;
if(e.addEventListener)
{
if(cdd.firefox)
{
switch(name)
{
case "mousewheel":
name="DOMMouseScroll";
break;
}
}
e.addEventListener(name,fn,capture);
}
else
{
if(e.attachEvent) e.attachEvent("on"+name,fn);
else e["on"+name]=fn;
}
},
removeEvent:function(id,name,fn,capture)
{
var e=getE(id);
if(!e) return;
if(typeof capture=="undefined") capture=false;
if(e.removeEventListener) e.removeEventListener(name,fn,capture);
else
{
if(e.detachEvent) e.detachEvent("on"+name,fn);
else e["on"+name]=null;
}
},
cssAddRule:function(css,selector,rule)
{
if(css>=document.styleSheets.length) return;
var s=document.styleSheets[css];
if(cdd.ie) s.addRule(selector,rule);
else s.insertRule(selector+" {"+rule+"}");
},
setOnDomLoaded:function()
{
if(cdd.safari)
{
var timer=setInterval(function()
{
if(document.readyState=="loaded" ||
document.readyState=="complete")
{
clearInterval(timer);
CLASMA.dom.ondomloaded();
}
},10);
return;
}
if(cdd.ie)
{
document.write("<script id=\"__ie_load\" defer=\"defer\" src=\"javascript:void(0)\"></script>");
var e=$("__ie_load");
e.onreadystatechange=function()
{
if(e.readyState=="complete")
{
e.onreadystatechange=null;
e.removeNode(true);
CLASMA.dom.ondomloaded();
}
}
return;
}
if(document.addEventListener)
{
document.addEventListener("DOMContentLoaded",this.ondomloaded,false);
return;
}
window.onload=this.ondomloaded;
},
ondomloaded:function()
{
if(!arguments.callee.done)
{
arguments.callee.done=true;
if(fnDomLoad) fnDomLoad();
}
},
addDomLoadEvent:function(fn)
{
var pfn=fnDomLoad;
fnDomLoad=function()
{
if(pfn) pfn();
fn();
}
},
addLoadEvent:function(fn)
{
var pfn=window.onload;
window.onload=function()
{
if(pfn) pfn();
fn();
}
}
}; }();
CLASMA.dom.setOnDomLoaded();
CLASMA.namespace("CLASMA.framework");
CLASMA.framework=function() {
var cdd=CLASMA.detect;
var cd=CLASMA.dom;
var hint="";
var isExemptTag=function(e)
{
var n=cd.getTag(e);
if(n=="textarea")
return true;
if(n=="select" && (cdd.safari || cdd.chrome))
return true;
if(n=="input")
{
var t=e.getAttribute("type");
if(t=="text" || t=="password")
return true;
}
return false;
};
return {
K_BREAK:3,
K_BS:8,
K_TAB:9,
K_RETURN:13,
K_SHIFT:16,
K_CTRL:17,
K_ALT:18,
K_PAUSE:19,
K_CAPSLOCK:20,
K_ESCAPE:27,
K_SPACE:32,
K_PREV:33,
K_NEXT:34,
K_END:35,
K_HOME:36,
K_LEFT:37,
K_UP:38,
K_RIGHT:39,
K_DOWN:40,
K_PRINT:44,
K_INSERT:45,
K_DELETE:46,
K_F1:112,
K_F2:113,
K_F3:114,
K_F4:115,
K_F5:116,
K_F6:117,
K_F7:118,
K_F8:119,
K_F9:120,
K_F10:121,
K_F11:122,
K_F12:123,
K_NUMLOCK:145,
K_SCROLL:145,
reloadSite:function()
{
if(window.location.hash!="")
window.location.hash="";
CLASMA.framework.reloadPage();
},
reloadPage:function()
{
window.location.reload(true);
},
isEditKey:function(k)
{
switch(k)
{
case this.K_BS:
case this.K_LEFT:
case this.K_RIGHT:
case this.K_HOME:
case this.K_END:
case this.K_DEL:
return true;
}
return false;
},
help:function(chapter)
{
var url="/pv/help/default.asp";
var args="";
if(chapter && chapter!=0)
args+="c="+chapter;
if(args!="") url+="?"+args;
var s=
"width=680,"+
"height=500,"+
"toolbar=no,"+
"menubar=no,"+
"scrollbars=no,"+
"status=no,"+
"resizable=yes,"+
"location=no,"+
"directories=no";
window.open(url,"CLASMA_help",s).focus();
return false;
},
setTitle:function(title) {cd.getDocument().title=title;},
getTitle:function() {return cd.getDocument().title;},
getFocus:function()
{
return document.activeElement;
},
setFocus:function(id)
{
if(!id)
{
var e=CLASMA.framework.getFocus();
if(!e) return;
e.blur();
if(cdd.safari || cdd.chrome)
document.activeElement=null;
return;
}
var e=cd.getElement(id);
if(!e) return;
if(e.focus) e.focus();
if(cd.getTag(e)=="textarea")
return;
if(e.select) e.select();
},
selectRange:function(id,start,end)
{
var e=cd.getElement(id);
if(!e) return;
if(e.setSelectionRange)
{
e.focus();
e.setSelectionRange(start,end);
return;
}
if(!e.createTextRange) return;
var range=e.createTextRange();
range.collapse(true);
range.moveEnd("character",end);
range.moveStart("character",start);
range.select();
},
selectReplace:function(id,s)
{
var e=cd.getElement(id);
if(!e) return;
if(e.setSelectionRange)
{
var ss=e.selectionStart;
var se=e.selectionEnd;
e.value=e.value.substring(0,ss)+s+e.value.substring(se);
if(ss==se) this.selectRange(e,ss+s.length,ss+s.length);
else this.selectRange(e,ss,ss+s.length);
return;
}
if(!document.selection) return;
var r=document.selection.createRange();
if(r.parentElement()!=e) return;
var c=(r.text=="");
r.text=s;
if(c) return;
r.moveStart("character",-s.length);
r.select();
},
gradient:function(id,c1,c2,type)
{
var s=cd.getStyle(id);
if(typeof c1=="undefined") c1="black";
if(typeof c2=="undefined") c2="white";
if(typeof type=="undefined") type="0";
if(cdd.ie)
{
var a=c1?"startColorstr='"+c1+"',endColorstr='"+c2+"',gradientType='"+type+"'":null;
s.filter=a?"progid:DXImageTransform.Microsoft.Gradient("+a+")":"";
return;
}
},
opacity:function(id,level)
{
var s=cd.getStyle(id);
if(typeof level=="undefined") level=0.25;
if(cdd.ie)
{
var a=(level<1)?"Opacity='"+(level*100)+"',Style='0'":null;
s.filter=a?"progid:DXImageTransform.Microsoft.Alpha("+a+")":"";
return;
}
s.opacity=(level<1)?level:"";
},
shadow:function(id,radius)
{
var s=cd.getStyle(id);
if(cdd.ie)
{
return;
}
var a=radius?"2px 2px "+radius+"px rgba(0,0,0,0.5)":"";
if(cdd.firefox)
{
s.MozBoxShadow=a;
return;
}
if(cdd.safari || cdd.chrome)
{
s.WebkitBoxShadow=a;
return;
}
s.boxShadow=a;
},
fade:function(id,from,to,duration,callback)
{
if(typeof from=="undefined") from=1;
if(typeof to=="undefined") to=0;
if(typeof duration=="undefined") duration=250;
CLASMA.framework.onfadetimer(id,from,to,duration,0,callback);
},
fadeIn:function(e,callback) {CLASMA.framework.fade(e,0,1,250,callback);},
fadeOut:function(e,callback) {CLASMA.framework.fade(e,1,0,250,callback);},
crossFade:function(fromId,toId,duration,callback)
{
CLASMA.framework.fadeOut(fromId,
function(){CLASMA.framework.fadeIn(toId,callback);});
},
onfadetimer:function(id,from,to,duration,time,callback)
{
if(typeof callback=="undefined")
callback=null;
var e=cd.getElement(id);
var o=CLASMA.lang.tween(time,from,to,duration);
CLASMA.framework.opacity(e,o);
if(time==0 && from==0)
cd.setShow(e,true);
if(time>=duration)
{
if(to==0) cd.setShow(e,false);
if(callback) callback();
return;
}
setTimeout(function(){CLASMA.framework.onfadetimer(id,from,to,duration,time+50,callback);},50);
},
getTarget:function(e)
{
if(!e) e=event;
return e.target?e.target:e.srcElement;
},
getCoords:function(e)
{
if(!e) e=event;
return {left:e.clientX,top:e.clientY};
},
getButtons:function(e)
{
if(!e) e=event;
return e.button;
},
getShift:function(e)
{
if(!e) e=event;
return e.shiftKey==1;
},
getFrom:function(e)
{
if(!e) e=event;
return cdd.ie?e.fromElement:e.relatedTarget;
},
getTo:function(e)
{
if(!e) e=event;
return cdd.ie?e.toElement:e.relatedTarget;
},
getKey:function(e)
{
if(!e) e=event;
return e.keyCode?e.keyCode:e.which;
},
getWheelDelta:function(e)
{
if(!e) e=event;
return e.wheelDelta?(e.wheelDelta/120):((-e.detail)/3);
},
cancelBubble:function(e)
{
if(!e) e=event;
if(e.stopPropagation) e.stopPropagation();
if(cdd.ie) e.cancelBubble=true;
},
cancelDefault:function(e)
{
if(!e) e=event;
if(e.preventDefault) e.preventDefault();
if(cdd.ie) e.returnValue=false;
},
getScreenWidth:function() {return screen.width;},
getScreenHeight:function() {return screen.height;},
getClientWidth:function() {return document.documentElement.clientWidth;},
getClientHeight:function() {return document.documentElement.clientHeight;},
getDocumentWidth:function() {return document.body.offsetWidth;},
getDocumentHeight:function() {return document.body.offsetHeight;},
getScrollPos:function()
{
if(cdd.ie)
{
return {top:document.documentElement.scrollTop,
left:document.documentElement.scrollLeft};
}
return {top:window.pageYOffset,
left:window.pageXOffset};
},
setCursor:function(c)
{
if(typeof c=="undefined" || !c) c="default";
cd.getBody().style.cursor=c;
},
styleBrowser:function()
{
if(cdd.safari || cdd.chrome)
cd.cssAddRule(0,"textarea","resize:none");
if(!cdd.ie) return;
var bk=$("themeHover");
var bb=$("themeBorder");
var bf=$("themeFace");
if(!bk || !bb || !bf) return;
var k=cd.getStyle(bk).color;
var b=cd.getStyle(bb).color;
var f=cd.getStyle(bf).color;
var s=
"scrollbar-base-color:"+f+";"+
"scrollbar-face-color:"+f+";"+
"scrollbar-3dlight-color:"+k+";"+
"scrollbar-highlight-color:"+b+";"+
"scrollbar-shadow-color:"+b+";"+
"scrollbar-darkshadow-color:"+k+";"+
"scrollbar-track-color:"+k+";"+
"scrollbar-arrow-color:#32210b;";
cd.cssAddRule(0,"div",s);
cd.cssAddRule(0,"textarea",s);
},
disableBrowser:function(e)
{
e=(typeof e=="undefined" || !e)?document:cd.getElement(e);
cd.addEvent(e,"contextmenu",this.oncheckexempt);
if(!cdd.ie)
{
cd.addEvent(e,"mousedown",this.onmousedown);
cd.addEvent(e,"mouseup",this.onmouseup);
}
else cd.addEvent(e,"selectstart",this.oncheckexempt);
cd.addEvent(e,"dragstart",this.ondisable);
},
onvalidate:function(e,test)
{
var k=this.getKey(e);
if(this.isEditKey(k))
return true;
var re=new RegExp(test,"i");
return re.test(String.fromCharCode(k));
},
oncheckexempt:function(e)
{
var t=CLASMA.framework.getTarget(e);
if(isExemptTag(t)) return true;
if(cdd.safari && window.getSelection)
{
var s=window.getSelection();
if(s && s.removeAllRanges) s.removeAllRanges();
}
CLASMA.framework.cancelBubble(e);
CLASMA.framework.cancelDefault(e);
return false;
},
onmousedown:function(e)
{
if(CLASMA.framework.oncheckexempt(e))
return true;
var s=cd.getBody().style;
if(cdd.firefox)
{
s.MozUserSelect="none";
return true;
}
if(cdd.safari || cdd.chrome)
{
s.KhtmlUserSelect="none";
return true;
}
return false;
},
onmouseup:function(e)
{
var s=cd.getBody().style;
if(cdd.firefox)
{
s.MozUserSelect="";
return true;
}
if(cdd.safari || cdd.chrome)
{
s.KhtmlUserSelect="";
return true;
}
return true;
},
onenable:function()
{
return true;
},
ondisable:function()
{
return false;
},
onelementfocus:function(e)
{
var f=CLASMA.framework.getTarget(e);
if(!f) return;
document.activeElement=(f==document)?null:f;
},
onhintfocus:function(e)
{
hint=e.value;
e.value="";
},
onhintblur:function(e)
{
e.value=hint;
},
oncheckshow:function(e,id)
{
cd.setShow(id,cd.isChecked(e));
},
oncheckhide:function(e,id)
{
cd.setShow(id,!cd.isChecked(e));
},
ontextlimit:function(e,m)
{
var v=cd.getValue(e);
if(v.length>m+1)
alert("Your input exceeds the maximum of "+m+" characters and will be truncated.");
if(v.length>m)
cd.setValue(e,v.substring(0,m));
},
ontextedit:function(id,e)
{
switch(this.getKey(e))
{
case this.K_TAB:
this.selectReplace(id,String.fromCharCode(9));
setTimeout("document.getElementById('"+id.id+"').focus();",0);
return false;
}
return true;
},
onautosize:function(id)
{
var e=cd.getElement(id);
if(!e) return;
var h=e.contentWindow.document.body.scrollHeight;
cd.setHeight(e,h+10);
},
onprint:function(id)
{
var e=cd.getElement(id);
if(!e)
{
alert("Print context '"+id+"' not found.");
return;
}
id="PRINT_output";
var d=$(id);
if(d)
{
d=d.parentNode;
d.parentNode.removeChild(d);
}
var style="overflow:auto;background-color:white;margin:0px;padding:0px";
var framestyle="style=\"position:absolute;top:-100px;left:-100px;width:0px;height:0px;\"";
var htmlstyle="style=\"overflow:auto;height:auto\"";
var bodystyle="style=\""+style+";height:auto\"";
var divstyle="style=\"display:block;border:none;"+style+"\"";
d=document.createElement("div");
d.innerHTML="<iframe id=\""+id+"\" name=\""+id+"\" "+framestyle+"></iframe>";
document.body.appendChild(d);
var f=document.getElementById(id);
var doc=null;
if(f.contentDocument) doc=f.contentDocument;
else
{
if(f.contentWindow) doc=f.contentWindow.document;
else doc=window.frames[id].document;
}
doc.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\" ");
doc.write("\"http://www.w3.org/TR/html4/strict.dtd\">");
doc.write("<html "+htmlstyle+">");
doc.write("<head>");
if(cdd.ie) doc.write("<meta http-equiv=\"X-UA-Compatible\" content=\"IE=7\">")
var l=document.getElementsByTagName("link");
for(var n=0;n<l.length;n++)
{
if(l[n].rel.toLowerCase()=="stylesheet")
doc.write("<link type=\"text/css\" rel=\"stylesheet\" href=\""+l[n].href+"\"/>");
}
doc.write("<title>PointView</title>");
doc.write("</head>");
doc.write("<body onload=\"this.focus(); this.print();\" "+bodystyle+">");
var h=e.innerHTML;
while(e)
{
var c=e.className;
if(c && c!="") h="<div class=\""+c+"\" "+divstyle+">"+h+"</div>";
e=e.parentNode;
}
doc.write(h);
doc.write("</body>");
doc.write("</html>");
doc.close();
setTimeout("PRINT_output.focus()",5000);
},
onprintframe:function(id)
{
var e=window.frames[id];
if(!e)
{
alert("Print context frame '"+id+"' not found.");
return;
}
e.focus();
e.print();
}
}; }();
if(typeof document.activeElement=="undefined")
{
document.activeElement=null;
CLASMA.dom.addEvent(document,"focus",CLASMA.framework.onelementfocus,true);
}
CLASMA.namespace("CLASMA.ajax");
CLASMA.ajax=function() {
var cdd=CLASMA.detect;
var cd=CLASMA.dom;
var response=Array("ok","bad","act");
var heartTm=0;
var heartFn=null;
var heartId=null;
var createRequest=function()
{
var r;
try {r=new XMLHttpRequest();}
catch(e)
{
try {r=new ActiveXObject("Microsoft.XMLHTTP");}
catch(e)
{
throw new Error("Ajax not supported");
}
}
return r;
};
var createFrame=function(callback,src)
{
if(typeof src=="undefined" || !src) src="about:blank";
for(var f=0;f<CLASMA.ajax.frames.length;f++)
if(!CLASMA.ajax.frames[f]) break;
var id="XMLHTTP_request"+f;
var s="CLASMA.ajax.onframeload("+f+")";
var d=cd.createElement("div");
cd.setHtml(d,"<iframe id=\""+id+"\" name=\""+id+"\" onload=\""+s+"\" style=\"display:none\"></iframe>");
cd.appendBody(d);
var e=cd.getElementById(null,id);
CLASMA.ajax.frames[f]=e;
CLASMA.ajax.framescb[f]=callback;
e.src=src;
return id;
};
var destroyFrame=function(f)
{
var e=CLASMA.ajax.frames[f];
var d=e.parentNode;
CLASMA.ajax.frames[f]=null;
CLASMA.ajax.framescb[f]=null;
d.parentNode.removeChild(d);
};
var setMsg=function(id,icon,msg)
{
CLASMA.ajax.setResponse(id,CLASMA.ajax.makeMsg(icon,msg));
};
return {
GET:"GET",
POST:"POST",
HEAD:"HEAD",
RS_UNINITIALIZED:0,
RS_LOADING:1,
RS_LOADED:2,
RS_INTERACTIVE:3,
RS_COMPLETED:4,
S_OFFLINE:0,
S_OK:200,
S_NOTFROUND:404,
RS_INVALID:-1,
RS_NONE:0,
RS_OK:1,
RS_BAD:2,
RS_ACT:3,
user:null,
password:null,
frames:new Array,
framescb:new Array,
isReady:function(r) {return r.readyState==this.RS_COMPLETED;},
isValid:function(r) {return r.status==this.S_OK;},
setWait:function(id) {setMsg(id);},
setInvalid:function(id,r) {setMsg(id,"error","Ajax: #"+r.status+" "+r.statusText);},
setError:function(id,err) {setMsg(id,"error",err);},
request:function(url,method,args,callback,async)
{
if(typeof method=="undefined" || !method) method=this.GET;
if(typeof args=="undefined" || !args) args="";
if(typeof async=="undefined") async=true;
var r=createRequest();
if(r)
{
r.onreadystatechange=function()
{
if(CLASMA.ajax.isReady(r))
{
CLASMA.ajax.resetHeartbeat();
if(callback) callback(r);
}
}
r.open(method,url,async,this.user,this.password);
if(method==this.POST)
r.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
r.send(args);
return r;
}
return null;
},
include:function(url,id,args,callback)
{
var cb=function(r)
{
if(CLASMA.ajax.isValid(r)) CLASMA.ajax.setResponse(id,r.responseText);
else CLASMA.ajax.setInvalid(id,r);
if(callback) callback(r);
}
try {this.request(url,this.POST,args,cb);}
catch(e) {this.setError(id,e.message);}
},
getResponse:function(r)
{
if(!this.isValid(r))
return {code:this.RS_INVALID,info:null};
var t=r.responseText;
if(t && t!="")
{
for(var n=0;n<response.length;n++)
{
if(t.indexOf(response[n])==0)
{
var l=response[n].length;
if(t.charAt(l)==":")
return {code:n+1,info:t.substr(l+1)};
return {code:n+1,info:null};
}
}
}
return {code:this.RS_NONE,info:null};
},
setResponse:function(id,s)
{
var e=cd.getElement(id);
if(e) e.innerHTML=s;
},
makeMsg:function(icon,msg)
{
if(typeof icon=="undefined" || !icon) icon="wait";
if(typeof msg=="undefined" || !msg) msg="Requesting content...";
var h=
"<table cellspacing=\"0\" cellpadding=\"0\" class=\"msg\">"+
"<tr>"+
"<td><div class=\"icon"+icon+"\"></div></td>"+
"<td>"+msg+"</td>"+
"</tr>"+
"</table>";
return h;
},
submitMultiForm:function(f,callback)
{
var id=createFrame(callback);
f.setAttribute("target",id);
f.submit();
},
onframeload:function(f)
{
CLASMA.ajax.resetHeartbeat();
var callback=CLASMA.ajax.framescb[f];
if(callback)
{
var id="XMLHTTP_request"+f;
var e=cd.getElementById(null,id);
var r=new Object;
r.readyState=CLASMA.ajax.RS_COMPLETED;
r.responseText="";
r.status=CLASMA.ajax.S_OK;
r.statusText="";
var d;
if(e.contentDocument) d=e.contentDocument;
else
{
if(e.contentWindow) d=e.contentWindow.document;
else d=e.document;
}
if(d && d.location && d.location.href!="about:blank")
{
r.responseText=d.body.innerHTML;
}
else
{
r.status=CLASMA.ajax.S_NOTFOUND;
r.statusText="File not found";
}
callback(r);
}
destroyFrame(f);
},
setHeartbeat:function(tm,fn)
{
if(typeof tm=="undefined") tm=0;
if(typeof fn=="undefined") fn=null;
heartTm=tm;
heartFn=fn;
CLASMA.ajax.resetHeartbeat();
},
resetHeartbeat:function()
{
if(heartId) clearTimeout(heartId);
if(heartTm>0) heartId=setTimeout(CLASMA.ajax.onheartbeat,heartTm);
},
onheartbeat:function()
{
heartId=null;
if(heartFn) heartFn();
}
}; }();
function argu() {this.a="";}
argu.prototype.a="";
argu.prototype.set=function(v) {if(!v) v=""; this.a=v;}
argu.prototype.get=function() {return this.a;}
argu.prototype.getu=function() {return this.a!=""?("?"+this.a):"";}
argu.prototype.add=function(n,v)
{
if(typeof v=="boolean") v=v?"y":"n";
if(typeof v=="number") v+="";
if(!v || v=="") return;
if(this.a!="") this.a+="&";
this.a+=encodeURIComponent(n)+"="+encodeURIComponent(v);
}
argu.prototype.opt=function(v,o)
{
if(!v) v="";
if(!o) o="";
if(o!="") o=":"+o;
return v+o;
}
CLASMA.namespace("CLASMA.widget");
CLASMA.widget=function() {
var cdd=CLASMA.detect;
var cd=CLASMA.dom;
var cf=CLASMA.framework;
var focusHint=null;
return {
create:function(name,html,fn)
{
var e=cd.createElement("div");
cd.setId(e,name);
cd.setClass(e,name);
cd.setHtml(e,html);
cd.getBody().appendChild(e);
cd.addEvent(document,"click",fn);
return e;
},
title:function(cls,id,text,tip,fn,span)
{
var i=id?" id=\""+id+"\"":"";
var t=tip?" title=\""+tip+"\"":"";
var o=fn?" onclick=\"CLASMA.widget."+fn+"\"":"";
var s=span?" colspan=\""+span+"\"":"";
var h="";
h+="<td"+i+s+t+o+" class=\""+cls+"\">";
if(text) h+=text;
h+="</td>";
return h;
},
button:function(cls,icon,text,tip,fn)
{
var t=tip?" title=\""+tip+"\"":"";
var o=fn?" onclick=\"CLASMA.widget."+fn+"\"":"";
var h="";
h+="<td"+t+o+" class=\""+cls+"\">";
if(icon) h+="<div class=\"icon"+icon+"\"></div>";
if(text) h+=text;
h+="</td>";
return h;
},
input:function(cls,id,hint,tip,fn)
{
var i=id?" id=\""+id+"\"":"";
var v=hint?" value=\""+hint+"\"":"";
var t=tip?" title=\""+tip+"\"":"";
var o=fn?" onkeydown=\"return CLASMA.widget."+fn+"\"":"";
if(hint) o+=" onfocus=\"CLASMA.widget.onhintfocus(this)\" onblur=\"CLASMA.widget.onhintblur(this)\"";
focusHint=hint;
var h=
"<td>"+
"<input"+i+" type=\"text\""+t+v+o+" class=\""+cls+"\"/>"+
"</td>";
return h;
},
position:function(parent,e)
{
var b=cd.getBoundingBox(parent);
var l=b.left;
var t=b.bottom-1;
if(cd.getAttr(parent,"noadjust")=="yes")
{
if(cdd.ie) b.width+=2;
}
else if(cdd.ie) {l-=2; t-=2;}
cd.setLeft(e,l);
cd.setTop(e,t);
return b.width;
},
destroyAll:function()
{
if(typeof CLASMA.widget.calendar!="undefined")
CLASMA.widget.calendar.destroy();
if(typeof CLASMA.widget.context!="undefined")
CLASMA.widget.context.destroy();
if(typeof CLASMA.widget.picker!="undefined")
CLASMA.widget.picker.destroy();
if(typeof CLASMA.widget.list!="undefined")
CLASMA.widget.list.destroy();
},
onhintfocus:function(e)
{
if(focusHint && e.value==focusHint)
e.value="";
},
onhintblur:function(e)
{
if(focusHint && e.value=="")
e.value=focusHint;
}
}; }();
CLASMA.namespace("CLASMA.widget.tree");
CLASMA.widget.tree=function() {
var cdd=CLASMA.detect;
var cd=CLASMA.dom;
var fnToggle=null;
var fnClick=null;
var fnMenu=null;
var current=null;
var ontoggle=function()
{
var n=CLASMA.widget.tree.locateNode(this);
if(!n) return;
CLASMA.widget.tree.toggleNode(n);
};
var onclick=function()
{
var n=CLASMA.widget.tree.locateNode(this);
if(!n) return false;
CLASMA.widget.tree.selectNode(n);
var a=CLASMA.widget.tree.getAnchorTag(n);
return a?(a.href && a.href!="#"):false;
};
var setClass=function(n,name)
{
var a=CLASMA.widget.tree.getAnchorTag(n);
if(a) cd.setClass(a,name);
};
var setIcon=function(i,icon,pad)
{
cd.setWidth(i,16);
cd.setHeight(i,16);
if(icon==-1)
{
cd.setBackImage(i,CLASMA.resPath+"wait.gif");
cd.setFrame(i,0,0);
}
else
{
cd.setBackImage(i,CLASMA.resPath+"icons.png");
cd.setFrame(i,icon,16);
}
if(pad) cd.setMarginRight(i,2);
};
var makeNodes=function(f,expand)
{
var e=cd.getElements("li",f);
if(e)
{
for(var n=0;n<e.length;n++)
makeNode(e[n],expand);
}
};
var makeNode=function(n,expand)
{
if(typeof expand=="undefined") expand=true;
var a=CLASMA.widget.tree.getAnchorTag(n);
if(!a) return;
if(fnMenu) a.oncontextmenu=fnMenu;
a.onclick=fnClick;
var ul=cd.getElements("ul",n);
if(expand)
{
var b=cd.createElement("div");
setIcon(b,CLASMA.widget.tree.indexPlus,false);
b.onclick=fnToggle;
if(ul && ul.length==0)
cd.setVisibility(b,"hidden");
n.insertBefore(b,a);
}
var icon=n.getAttribute("icon");
if(icon)
{
var i=cd.createElement("div");
setIcon(i,parseInt(icon),true);
n.insertBefore(i,a);
}
else
{
if(ul && ul.length>0)
cd.setMarginLeft(ul[0],0);
}
};
return {
indexPlus:48,
indexMinus:47,
create:function(id,fnt,fnc,fnm)
{
var e=cd.getElement(id);
if(e)
{
fnToggle=fnt?fnt:ontoggle;
fnClick=fnc?fnc:onclick;
fnMenu=fnm;
makeNodes(e);
}
},
getButtonTag:function(n) {if(n) {var e=cd.getElements("div",n); return (e && e.length>0)?e[0]:null;} return null;},
getIconTag:function(n) {if(n) {var e=cd.getElements("div",n); return (e && e.length>1)?e[1]:null;} return null;},
getAnchorTag:function(n) {if(n) {var e=cd.getElements("a",n); return (e && e.length>0)?e[0]:null;} return null;},
getFolderTag:function(n) {if(n) {var e=cd.getElements("ul",n); return (e && e.length>0)?e[0]:null;} return null;},
getSelect:function() {return current;},
setSelect:function(n,sel) {setClass(n,sel?"current":null);},
setNodeIcon:function(n,icon) {setIcon(this.getIconTag(n),icon,true);},
setNodeText:function(n,text) {var a=this.getAnchorTag(n); if(a) cd.setHtml(a,text);},
locateNode:function(n) {return n?n.parentNode:null;},
locateParent:function(n) {return n?n.parentNode:null},
locateChildren:function(n)
{
var f=this.getFolderTag(n);
if(!f) return null;
return f?cd.getElements("li",f):null;
},
isOpen:function(n)
{
var b=this.getButtonTag(n);
if(!b) return false;
return cd.getFrame(b)=="-"+(this.indexMinus*16)+"px 0px";
},
setWidth:function(id,width)
{
var e=cd.getElements("li",id);
if(!e) return;
for(var n=0;n<e.length;n++)
cd.setWidth(e[n],width);
},
selectNode:function(n)
{
if(current)
{
try {this.setSelect(current,false);}
catch(e) {}
}
if(n) this.setSelect(n,true);
current=n;
},
toggleNode:function(n)
{
if(this.isOpen(n)) this.closeNode(n);
else this.openNode(n);
},
openNode:function(n)
{
var f=this.getFolderTag(n);
var b=this.getButtonTag(n);
if(!f || !b) return;
cd.setFrame(b,this.indexMinus,16);
cd.setShow(f,true);
},
closeNode:function(n)
{
var f=this.getFolderTag(n);
var b=this.getButtonTag(n);
if(!f || !b) return;
cd.setFrame(b,this.indexPlus,16);
cd.setShow(f,false);
},
addNode:function(parent,id,text,icon,href,folders)
{
var f=this.getFolderTag(parent);
if(!f) return null;
var n=cd.createElement("li");
var a=cd.createElement("a");
if(id) n.id=id;
if(icon) n.setAttribute("icon",icon);
if(href) a.href=href;
cd.setHtml(a,text);
n.appendChild(a);
f.appendChild(n);
if(folders) f.appendChild(cd.createElement("ul"));
makeNode(n);
return n;
},
findNode:function(id,attr,value)
{
var e=cd.getElements("li",id);
for(var n=0;n<e.length;n++)
{
var a=e[n].getAttribute(attr);
if(a && a==value) return e[n];
}
return null;
},
deleteNode:function(n)
{
var p=this.locateParent(n);
if(!p) return null;
p.removeChild(n);
return n;
},
addHtml:function(n,html)
{
var f=this.getFolderTag(n);
if(!f) return;
if(html.length>0)
{
cd.setHtml(f,html);
makeNodes(f);
return;
}
var b=this.getButtonTag(n);
if(!b) return;
cd.setVisibility(b,"hidden");
cd.setDisplay(f,"none");
},
addNodes:function(f,expand)
{
makeNodes(f,expand);
},
deleteAll:function(n)
{
var f=this.getFolderTag(n);
if(!f) return;
cd.setHtml(f,"");
}
}; }();
CLASMA.namespace("CLASMA.widget.tab");
CLASMA.widget.tab=function() {
var cd=CLASMA.dom;
return {
getCurrent:function(id)
{
var e=cd.getElements("td",id,"tabcurrent");
return (e && e.length>0)?e[0]:null;
},
setCurrent:function(id,n)
{
var e=CLASMA.widget.tab.getCurrent(id);
if(e) cd.setClass(e,"tab");
if(n) cd.setClass(n,"tabcurrent");
},
getTabFromText:function(id,text)
{
var td=cd.getElements("td",id);
for(var n=0;n<td.length;n++)
{
if(td[n].getAttribute("form")==text)
return td[n];
}
return null;
}
}; }();
CLASMA.namespace("CLASMA.widget.tabette");
CLASMA.widget.tabette=function() {
var cd=CLASMA.dom;
return {
getCurrent:function(id)
{
var e=cd.getElements("td",id,"tabettecurrent");
return (e && e.length>0)?e[0]:null;
},
setCurrent:function(id,n)
{
var e=CLASMA.widget.tabette.getCurrent(id);
if(e) cd.setClass(e,"tabette");
if(n) cd.setClass(n,"tabettecurrent");
e=cd.getElements("td",id);
for(var t=0;t<e.length;t++)
{
var s=e[t].getAttribute("section");
if(s) cd.setShow(s,e[t]==n);
}
}
}; }();
CLASMA.namespace("CLASMA.widget.calendar");
CLASMA.widget.calendar=function() {
var cdd=CLASMA.detect;
var cd=CLASMA.dom;
var cf=CLASMA.framework;
var cw=CLASMA.widget;
var days=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var months=["January","February","March","April","May","June","July","August","September","October","November","December"];
var monthdays=[31,28,31,30,31,30,31,31,30,31,30,31];
var leapdays=[31,29,31,30,31,30,31,31,30,31,30,31];
var calendar=null;
var current=null;
var start=null;
var end=null;
var entry=null;
var create=function()
{
if(!calendar)
{
var h="<table cellspacing=\"0\" cellpadding=\"0\" class=\"calframe\">"+
"<tr>"+
"<td colspan=\"7\">"+
"<table cellspacing=\"0\" cellpadding=\"0\" style=\"width:100%\">"+
"<tr>"+
cw.button("calbutton","l",null,"Prev Month","calendar.onchange(-1,0)")+
cw.title("caltitle","caltitle",null,"Goto Today","calendar.ontoday()","5")+
cw.button("calbutton","r",null,"Next Month","calendar.onchange(1,0)")+
"</tr>"+
"</table>"+
"</td>"+
"</tr>"+
"<tr>";
for(var n=0;n<7;n++)
h+="<td class=\"calweekday\">"+days[n].substr(0,1)+"</td>";
h+="</tr>";
for(var w=0;w<6;w++)
{
h+="<tr>";
for(var d=0;d<7;d++)
h+="<td id=\"calday"+((w*7)+d)+"\" class=\"calday\"></td>";
h+="</tr>";
}
h+="</table>";
calendar=cw.create("calendar",h,onclick);
}
};
var display=function()
{
var m=current.getMonth();
var y=current.getFullYear();
var w=current.getDay();
var md=((y%4==0) && ((y%100!=0) || (y%400==0)))?leapdays[m]:monthdays[m];
var c=0;
var d=1;
while(c<w) fillBlank(c++);
while(d<=md) fillDay(c++,d++);
while(c<42) fillBlank(c++);
current.setDate(1);
cd.setHtml("caltitle",months[m]+" "+y.toString().substr(2,2));
};
var fillBlank=function(c)
{
var e=$("calday"+c);
cd.setClass(e,"calout");
e.setAttribute("day",-1);
cd.setHtml(e,"");
};
var fillDay=function(c,d)
{
var e=$("calday"+c);
current.setDate(d);
cd.setClass(e,(current>=start && current<=end)?"calsel":"calday");
e.setAttribute("day",d);
cd.setHtml(e,d);
};
var update=function()
{
entry.value=CLASMA.widget.calendar.getDate();
};
var setDate=function(s)
{
if(s)
{
s=s.trim().toLowerCase();
if(s!="")
{
var n;
for(n=0;n<7;n++)
s=s.replace(new RegExp(days[n],"ig"),"");
for(n=0;n<12;n++)
s=s.replace(new RegExp(months[n],"ig"),months[n].substr(0,3).toLowerCase());
s=s.replace(/,/g," ");
s=s.replace(/\s\s/g," ");
var ts=s.trimsplit(" to ");
if(ts.length>0 && parseDate(ts[0],true) &&
(ts.length==1 || parseDate(ts[1],false)))
return;
}
}
var t=new Date();
var d=t.getDate();
var m=t.getMonth();
var y=t.getFullYear();
start=new Date(y,m,d,0,0,0,0);
end=new Date(y,m,d,0,0,0,0);
current=new Date(y,m,1,0,0,0,0);
};
var parseDate=function(s,st)
{
var ts=s.trimsplit(s.indexOf("/")==-1?" ":"/");
if(ts.length==3)
{
var d,m,y;
if(ts[0].search(/\d/)!=-1)
{
d=ts[0];
m=ts[1];
}
else
{
d=ts[1];
m=ts[0];
}
var ed;
if(d.indexOf("-")!=-1)
{
var f=d.trimsplit("-");
d=f[0];
ed=f[1];
}
else ed=d;
if(m.search(/\d/)==-1)
{
for(var n=0;n<12;n++)
{
if(m.search(new RegExp(months[n].substr(0,3),"i"))!=-1)
{
m=n;
break;
}
}
if(n==12) return false;
}
else m--;
if(ts[2].search(/\d/)==-1) return false;
y=parseInt(ts[2],10);
if(y<50) y+=2000;
else if(y<100) y+=1900;
if(st)
{
start=new Date(y,m,d,0,0,0,0);
current=new Date(y,m,1,0,0,0,0);
}
end=new Date(y,m,ed,0,0,0,0);
return true;
}
return false;
};
var onclick=function(e)
{
if(calendar && cd.isVisible(calendar))
{
var t=cf.getTarget(e);
if(t!=entry)
{
if(cd.isChild(calendar,t))
{
var d=t.getAttribute("day");
if(!d || d==-1) return;
current.setDate(d);
var c=current.getTime();
current.setDate(1);
end.setTime(c);
if(cf.getShift(e)==1)
{
if(end<start)
{
end.setTime(start.getTime());
start.setTime(c);
}
}
else start.setTime(c);
display();
update();
}
CLASMA.widget.calendar.destroy();
}
}
};
var onkeydown=function(e)
{
var k=cf.getKey(e);
switch(k)
{
case cf.K_TAB:
CLASMA.widget.calendar.destroy();
break;
}
return true;
};
return {
ondisplay:function(e)
{
create();
var w=cw.position(e,calendar);
cd.setWidth(calendar,w-12);
if(e!=entry)
{
cd.addEvent(e,"keydown",onkeydown);
entry=e;
}
setDate(e.value);
display();
cd.setShow(calendar,true);
},
onchange:function(m,y)
{
current.setFullYear(current.getFullYear()+y);
current.setMonth(current.getMonth()+m);
display();
},
ontoday:function()
{
setDate(null);
display();
update();
},
getDate:function()
{
var d=start.getDate();
var m=start.getMonth();
var y=start.getFullYear();
if(start.getTime()==end.getTime())
return months[m]+" "+d+", "+y;
var de=end.getDate();
var me=end.getMonth();
var ye=end.getFullYear();
if(m==me && y==ye)
return months[m]+" "+d+"-"+de+", "+y;
return months[m]+" "+d+", "+y+" to "+months[me]+" "+de+", "+ye;
},
getSqlDate:function(s)
{
if(s)
{
var d=CLASMA.widget.calendar.formatSqlDate(s);
if(d!="") return "$"+d;
}
return "NULL";
},
formatSqlDate:function(s)
{
if(s)
{
s=s.trim().toLowerCase();
if(s!="")
{
setDate(s);
var d=start.getDate();
var m=start.getMonth()+1;
var y=start.getFullYear();
return y+"-"+m+"-"+d;
}
}
return "";
},
destroy:function()
{
if(entry)
{
cd.removeEvent(entry,"keydown",onkeydown);
entry=null;
}
if(calendar) cd.setShow(calendar,false);
}
}; }();
CLASMA.namespace("CLASMA.widget.list");
CLASMA.widget.list=function() {
var cdd=CLASMA.detect;
var cd=CLASMA.dom;
var cf=CLASMA.framework;
var cw=CLASMA.widget;
var ca=CLASMA.ajax;
var list=null;
var gateway=null;
var source=null;
var parent=null;
var exclude=null;
var orig=null;
var entry=null;
var current=-1;
var timerId=null;
var curFilter=null;
var create=function()
{
if(list) return;
list=cw.create(
"list",
"<div id=\"listdisplay\" class=\"listdisplay\"></div>",
onclick);
cd.setShow(list,false);
};
var choose=function(e)
{
var data=cd.getAttr(e,"data");
cd.setAttr(entry,"data",data);
orig=cd.getHtml(e);
};
var showList=function(show,msg)
{
if(typeof show=="undefined") show=true;
var e=$("listdisplay");
cd.setHtml(e,(msg && show)?"<div style=\"margin:5px\">"+msg+"</div>":"");
cd.setDisplay(list,show?"":"none");
current=-1;
curFilter=null;
};
var onclick=function(e)
{
if(!list || !entry) return
var t=cf.getTarget(e);
if(t!=entry)
{
if(cd.isChild(list,t))
{
var d=cd.getAttr(t,"data");
if(d==null) return;
choose(t);
}
if(!cdd.ie)
{
entry.value=orig;
showList(false);
}
else CLASMA.widget.list.destroy();
}
};
var onkeydown=function(e)
{
var k=cf.getKey(e);
switch(k)
{
case cf.K_TAB:
CLASMA.widget.list.destroy();
break;
case cf.K_HOME:
case cf.K_END:
case cf.K_PREV:
case cf.K_NEXT:
if(current!=-1) return false;
break;
}
return true;
};
var onkeypress=function(e)
{
var k=cf.getKey(e);
switch(k)
{
case cf.K_HOME:
case cf.K_END:
case cf.K_PREV:
case cf.K_NEXT:
if(current!=-1) return false;
break;
case cf.K_ESCAPE:
entry.value=orig;
entry.select();
showList(false);
return false;
}
return true;
};
var onkeyup=function(e)
{
var k=cf.getKey(e);
if(timerId!=null)
{
clearTimeout(timerId);
timerId=null;
}
var filter=entry?entry.value.trim():null;
var force=false;
var p=entry?$("listdisplay"):cf.getTarget(e);
var l=cd.getElements("div",p);
var t=l.length;
var cur=-1;
var n;
for(n=0;n<t;n++)
{
if(cd.getClass(l[n])=="listitemsel")
{
cur=n;
break;
}
}
var c=cur;
switch(k)
{
case cf.K_ESCAPE:
case cf.K_TAB:
case cf.K_LEFT:
case cf.K_RIGHT:
return entry?false:true;
case cf.K_RETURN:
force=true;
break;
case cf.K_HOME:
if(entry && current==-1) return true;
c=0;
break;
case cf.K_END:
if(entry && current==-1) return true;
c=99999;
break;
case cf.K_PREV:
c-=5;
break;
case cf.K_NEXT:
c+=5;
break;
case cf.K_UP:
c--;
break;
case cf.K_DOWN:
c++;
break;
default:
if(!entry) return true;
if(k!=cf.K_BS && k!=cf.K_DELETE &&
!CLASMA.lang.isAlphaNum(String.fromCharCode(k)))
return true;
if(filter!=curFilter)
timerId=setTimeout(function(){CLASMA.widget.list.onsearchtimer(filter);},500);
return true;
}
if(entry && !cd.isVisible(list))
{
if(!force && filter.length<3)
{
showList(false);
return false;
}
if(filter==orig) filter="";
if(force || filter!=curFilter)
CLASMA.widget.list.onsearchtimer(filter);
return false;
}
if(entry && k==cf.K_RETURN && cur!=-1)
{
showList(false);
return false;
}
if(c!=cur)
{
if(c>t-1) c=t-1;
if(c<0) c=0;
var d=cd.getAttr(l[c],"data");
if(d==null) return false;
for(n=0;n<t;n++)
{
if(cd.getClass(l[n])=="listitemsel")
cd.setClass(l[n],"listitem");
}
current=-1;
var top=0;
if(c<t)
{
cd.setClass(l[c],"listitemsel");
current=c;
choose(l[c]);
if(entry) entry.value=orig;
var fn=cd.getAttr(p,"change");
if(fn) eval(fn);
var b1=cd.getBoundingBox(p);
var b2=cd.getBoundingBox(l[c]);
top=((c*b2.height)-(b1.height/2))+b2.height;
if(top<0) top=0;
}
cd.setScrollTop(p,top);
}
return false;
};
return {
ondisplay:function(e)
{
create();
var w=cw.position(e,list);
cd.setWidth("listdisplay",w-2);
if(e!=entry)
{
orig=e.value;
cd.addEvent(e,"keydown",onkeydown);
cd.addEvent(e,"keypress",onkeypress);
cd.addEvent(e,"keyup",onkeyup);
entry=e;
}
gateway=cd.getAttr(e,"gateway");
source=cd.getAttr(e,"source");
parent=cd.getAttr(e,"parent");
exclude=cd.getAttr(e,"exclude");
current=-1;
timerId=null;
curFilter=null;
e.select();
showList(true,
"<div style=\"text-align:center\">"+
"<i>Enter search details to show items in this list.</i>"+
"</div>");
},
onclickfocus:function(e)
{
e.focus();
},
onfocus:function(e)
{
cd.addEvent(e,"keydown",onkeyup);
},
onblur:function(e)
{
cd.removeEvent(e,"keydown",onkeyup);
},
onselect:function(l,e)
{
l=cd.getElement(l);
var c=CLASMA.widget.list.getCurrent(l);
if(c) cd.setClass(c,"listitem");
if(e) cd.setClass(e,"listitemsel");
var fn=cd.getAttr(l,"change");
if(fn) eval(fn);
},
onsearchtimer:function(filter)
{
var e=$("listdisplay");
var pn=cd.getAttr(entry,"picknone");
var pc=cd.getAttr(entry,"pickcontent");
var pu=cd.getAttr(entry,"pickurl");
var pp=cd.getAttr(entry,"pickparent");
showList(true,ca.makeMsg());
var callback=function(r)
{
cd.setScrollTop(e,0);
}
var args=new argu();
args.add("source",source);
args.add("parent",parent);
args.add("exclude",exclude);
args.add("filter",filter);
if(pn=="yes") args.add("none","y");
if(pc=="yes") args.add("content","y");
if(pu=="yes") args.add("url","y");
if(pp) args.add("parent",pp);
ca.include(gateway,e,args.get(),callback);
curFilter=filter;
timerId=null;
},
ontreeclick:function(e)
{
var l=e.nextSibling.nextSibling;
if(cd.getClass(e)=="listitemopen")
{
cd.setClass(e,"listitemclosed");
cd.setDisplay(l,"none");
cd.removeElements(l);
return;
}
var p=e.parentNode;
var s=cd.getAttr(p,"source").split(":");
var callback=function(r)
{
if(r.responseText=="")
{
cd.setVisibility(e,"hidden");
return;
}
cd.setClass(e,"listitemopen");
cd.setDisplay(l,"block");
}
var args=new argu();
args.add("source",s[0]);
args.add("filter",s[1]);
args.add("current",source);
ca.include(gateway,l,args.get(),callback);
},
getCurrent:function(l)
{
var c=cd.getElements("div",l,"listitemsel");
return c.length>0?c[0]:null;
},
addItem:function(l,t,d)
{
l=cd.getElement(l);
var e=cd.createElement("div");
cd.setAttr(e,"data",d);
cd.setClass(e,"listitem");
cd.addEvent(e,"click",function(){CLASMA.widget.list.onselect(l,e);});
var n=document.createTextNode(t);
e.appendChild(n);
l.appendChild(e);
return e;
},
removeItem:function(l,e)
{
l=cd.getElement(l);
l.removeChild(e);
},
clearEntry:function(e)
{
if(e)
{
cd.setValue(e,"");
cd.setAttr(e,"data","");
}
orig=null;
},
destroy:function()
{
if(entry)
{
if(orig)
{
entry.value=orig;
orig=null;
}
cd.removeEvent(entry,"keydown",onkeydown);
cd.removeEvent(entry,"keypress",onkeypress);
cd.removeEvent(entry,"keyup",onkeyup);
entry=null;
}
if(list) showList(false);
}
}; }();
CLASMA.namespace("CLASMA.widget.context");
CLASMA.widget.context=function() {
var cd=CLASMA.dom;
var cf=CLASMA.framework;
var cw=CLASMA.widget;
var menu=null;
var menufn=null;
var onclick=function(e)
{
if(menu && cd.isVisible(menu))
{
var t=cf.getTarget(e);
if(cd.isChild(menu,t))
{
var id=t.getAttribute("menuid");
if(!id) return;
CLASMA.widget.context.destroy();
if(menufn) menufn(id);
}
else CLASMA.widget.context.destroy();
}
};
var setMenuPos=function(left,top)
{
var cw=cf.getClientWidth()-30;
var ch=cf.getClientHeight()-5;
var b=cd.getBoundingBox(menu);
if(left+b.width>cw) left=cw-b.width;
if(top+b.height>ch) top=ch-b.height;
if(left<0) left=0;
if(top<0) top=0;
cd.setLeft(menu,left);
cd.setTop(menu,top);
};
return {
create:function(left,top,items,fn)
{
var id="context";
var h="<table cellspacing=\"0\" cellpadding=\"0\">";
for(var n=0;n<items.length;n++)
{
if(items[n] && items[n]!="" && items[n]!="-")
{
var s=items[n].trimsplit("=");
if(s.length>0)
{
var a=s.length>1?(" menuid=\""+s[1]+"\""):"";
h+="<tr><td"+a+" class=\"contextitem\">"+s[0]+"</td></tr>";
continue;
}
}
h+="<tr><td><div class=\"contextsep\"></div></td></tr>";
}
h+="</table>";
if(menu)
{
cd.setHtml(menu,h);
cd.setShow(menu,true);
}
else menu=cw.create(id,h,onclick);
setMenuPos(left,top);
menufn=fn;
},
destroy:function()
{
cd.setShow(menu,false);
}
}; }();
CLASMA.namespace("CLASMA.dialog");
CLASMA.dialog=function() {
var cdd=CLASMA.detect;
var cd=CLASMA.dom;
var cf=CLASMA.framework;
var dialogs=new Array;
var mouseid=null;
var mousemove=true;
var mousetop=0;
var mouseleft=0;
var init=false;
var initialise=function()
{
var e=cd.createElement("div");
cd.setId(e,"DIALOG_bkgnd");
cd.setClass(e,"dialogbkgnd");
cd.getBody().appendChild(e);
cf.opacity(e);
CLASMA.dialog.onresize();
cd.addEvent(window,"resize",CLASMA.dialog.onresize);
cd.addEvent(document,"mousemove",CLASMA.dialog.onmousemove);
cd.addEvent(document,"mouseup",CLASMA.dialog.onmouseup);
};
var getDialog=function(id)
{
for(var n=0;n<dialogs.length;n++)
if(dialogs[n].id==id) return n;
return -1;
};
var setDialog=function(id,info)
{
var n=getDialog(id);
if(n==-1)
{
for(n=0;n<dialogs.length;n++)
if(dialogs[n].id==null) break;
}
dialogs[n]=info;
};
var posSizer=function(id)
{
var b=cd.getBoundingBox(id);
var sizerID=id+"_sizer";
cd.setTop(sizerID,b.height-17);
cd.setLeft(sizerID,b.width-17);
};
return {
setTitle:function(id,title) {cd.setHtml(id+"_title",title);},
setContent:function(id,content) {cd.setHtml(id+"_content",content);},
create:function(id,title,top,left,width,height,content,moveable,sizeable,visible,modal,fn,noclose)
{
if($(id))
{
CLASMA.dialog.setTitle(id,title);
CLASMA.dialog.setContent(id,content);
CLASMA.dialog.size(id,width,height);
if(modal) CLASMA.dialog.center(id);
else CLASMA.dialog.move(id,top,left);
return;
}
var titleID=id+"_title";
var contentID=id+"_content";
var sizerID=id+"_sizer";
if(!init)
{
initialise();
init=true;
}
var e=cd.createElement("div");
cd.setId(e,id);
cd.setClass(e,"dialog");
cf.shadow(e,2);
var oc=" onmousedown=\"CLASMA.dialog.onclose('"+id+"')\"";
var om=moveable?" onmousedown=\"CLASMA.dialog.onstartmove(event,'"+id+"')\"":"";
var os=sizeable?" onmousedown=\"CLASMA.dialog.onstartsize(event,'"+id+"')\"":"";
var h=
"<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\""+om+" class=\"dialogcaption\">"+
"<tr>"+
"<td id=\""+titleID+"\" class=\"dialogtitle\">"+title+"</td>";
if(modal && !noclose)
{
h+= "<td align=\"right\" title=\"Close\""+oc+" class=\"dialogbutton\">"+
"<div class=\"dialogclose\"></div>"+
"</td>";
}
h+= "</tr>"+
"</table>"+
"<div id=\""+contentID+"\" class=\"dialogclient\">"+content+"</div>";
if(sizeable) h+="<div id=\""+sizerID+"\""+os+" class=\"dialogsizer\"></div>";
var i={id:id,modal:modal,fn:fn};
setDialog(id,i);
cd.setHtml(e,h);
cd.getBody().appendChild(e);
CLASMA.dialog.size(id,width,height);
if(modal) CLASMA.dialog.center(id);
else CLASMA.dialog.move(id,top,left);
CLASMA.dialog.show(id,visible);
},
show:function(id,visible)
{
var n=getDialog(id);
var modal=(n!=-1)?dialogs[n].modal:false;
if(visible && modal)
cd.setShow("DIALOG_bkgnd",true);
cd.setShow(id,visible);
},
center:function(id)
{
var b=cd.getBoundingBox(id);
var t=(cf.getClientHeight()-b.height)/2;
var l=(cf.getClientWidth()-b.width)/2;
CLASMA.dialog.move(id,t,l);
},
move:function(id,t,l)
{
var ch=cf.getClientHeight()-10;
var cw=cf.getClientWidth()-10;
var b=cd.getBoundingBox(id);
if(t+b.height>ch) t-=(t+b.height)-ch;
if(l+b.width>cw) l-=(l+b.width)-cw;
if(t<10) t=10;
if(l<10) l=10;
cd.setTop(id,t);
cd.setLeft(id,l);
},
size:function(id,w,h)
{
var ch=cf.getClientHeight()-8;
var cw=cf.getClientWidth()-8;
var b=cd.getBoundingBox(id);
var t=b.top;
var l=b.left;
if(l+w>cw) w-=(l+w)-cw;
if(t+h>ch) h-=(t+h)-ch;
var mw=530;
var mh=300;
if(w<mw) w=mw;
if(h<mh) h=mh;
cd.setWidth(id,w-8);
cd.setHeight(id,h-8);
var n=getDialog(id);
var fn=(n!=-1)?dialogs[n].fn:null;
if(fn) fn(id,w-28,h-54);
posSizer(id);
},
setFocus:function(id,field)
{
if(typeof field=="undefined") field=null;
var f=null;
if(!field)
{
var t=cd.getElements(null,id);
for(var n=0;!f && n<t.length;n++)
{
var e=t[n];
switch(e.tagName.toLowerCase())
{
case "input":
case "textarea":
case "select":
if(e.getAttribute("type")!="hidden" &&
!e.getAttribute("readonly") &&
!e.onfocus) f=e;
break;
}
}
}
else f=$(field);
try {if(f) f.focus();}
catch(e) {}
},
destroy:function(id)
{
var n=getDialog(id);
if(n!=-1) dialogs[n].id=null;
var v=true;
for(var n=0;n<dialogs.length;n++)
if(dialogs[n].id && dialogs[n].modal) v=false;
if(v) cd.setShow("DIALOG_bkgnd",false);
if(typeof CLASMA.widget!="undefined")
CLASMA.widget.destroyAll();
cd.getBody().removeChild($(id));
},
onclose:function(id)
{
CLASMA.dialog.destroy(id);
},
onresize:function()
{
var e=$("DIALOG_bkgnd");
cd.setWidth(e,cf.getClientWidth());
cd.setHeight(e,cf.getClientHeight());
},
onmousemove:function(e)
{
if(!mouseid) return;
if(typeof CLASMA.widget!="undefined")
CLASMA.widget.destroyAll();
if(mousemove) CLASMA.dialog.onmove(e);
else CLASMA.dialog.onsize(e);
},
onmouseup:function(e)
{
cf.setCursor(null);
mouseid=null;
},
onstartmove:function(e,id)
{
var c=cf.getCoords(e);
var b=cd.getBoundingBox(id);
if(!b) return;
mouseid=id;
mousemove=true;
mouseleft=c.left-b.left;
mousetop=c.top-b.top;
},
onmove:function(e)
{
if(!cdd.ie || cf.getButtons(e)!=0)
{
var c=cf.getCoords(e);
CLASMA.dialog.move(mouseid,c.top-mousetop,c.left-mouseleft);
}
else CLASMA.dialog.onmouseup(e);
},
onstartsize:function(e,id)
{
cf.setCursor("se-resize");
mouseid=id;
mousemove=false;
mouseleft=-8;
mousetop=-8;
},
onsize:function(e)
{
if(!cdd.ie || cf.getButtons(e)!=0)
{
var c=cf.getCoords(e);
var b=cd.getBoundingBox(mouseid);
CLASMA.dialog.size(mouseid,(c.left-mouseleft)-b.left,(c.top-mousetop)-b.top);
}
else CLASMA.dialog.onmouseup(e);
}
}; }();
CLASMA.namespace("CLASMA.drag");
CLASMA.drag=function() {
var cd=CLASMA.dom;
var cf=CLASMA.framework;
var targets=[];
var mouseDown=false;
var mouseState=false;
var mouseParent=null;
var mouseTarget=null;
var overlay=null;
var element=null;
var hoverClass=null;
var disable=false;
var dirty=false;
var createOverlay=function(cls)
{
if(overlay) return;
var o=cd.createElement("div");
cd.setClass(o,cls);
cd.setPosition(o,"absolute");
cd.setDisplay(o,"none");
cd.setBackColor(o,"transparent");
mouseParent.appendChild(o);
overlay=o;
};
var changeOverlay=function(e)
{
if(!overlay) return;
for(var n=0;n<overlay.childNodes.length;n++)
overlay.removeChild(overlay.childNodes[n]);
if(e)
{
overlay.appendChild(e.cloneNode(true));
overlay.firstChild.removeAttribute("drag");
cd.setWidth(overlay,e.offsetWidth);
cd.setDisplay(overlay,"block");
}
else cd.setDisplay(overlay,"none");
};
var updateOverlay=function(p)
{
if(!overlay) return;
cd.setTop(overlay,p.top-(overlay.offsetHeight/2));
cd.setLeft(overlay,p.left-(overlay.offsetWidth/2));
};
var switchOverlay=function(t)
{
if(!overlay) return;
cd.setWidth(overlay,t.offsetWidth);
cd.setWidth(overlay.firstChild,t.offsetWidth);
updateHover(overlay.firstChild,getHover(overlay));
};
var enableOverlay=function(enable)
{
if(!overlay) return;
var h=getHover(overlay)
if(!h) return;
cd.setBackColor(h,enable?"":"#ffa0a0");
}
var destroyOverlay=function()
{
if(!overlay) return;
mouseParent.removeChild(overlay);
overlay=null;
};
var getHover=function(e)
{
var h=cd.getElements(null,e,hoverClass);
return (h && h.length>0)?h[0]:null;
};
var createHover=function(e)
{
var h=getHover(e);
if(h) return;
var h=cd.createElement("div");
cd.setClass(h,hoverClass);
cf.opacity(h,0.50);
updateHover(e,h);
e.appendChild(h);
};
var updateHover=function(e,h)
{
if(!h) return;
var box=cd.getBoundingBox(e);
cd.setWidth(h,box.width);
cd.setHeight(h,box.height);
cd.setMarginBottom(e.firstChild,-box.height);
};
var destroyHover=function(e)
{
var h=getHover(e);
if(!h) return;
cd.getStyle(e.firstChild).marginBottom="";
e.removeChild(h);
};
var startDrag=function(e,t,drag)
{
changeOverlay(t);
setDragBox(t);
cd.setDisplay(t,"none");
var tg=targets[drag];
for(var n=0;n<tg.length;n++)
{
var dp=tg[n];
setDragBox(dp);
for(var m=0;m<dp.childNodes.length;m++)
{
var dg=dp.childNodes[m];
if(dg.nodeName=="#text" || dg==element) continue;
setDragBox(dg);
}
}
element=t;
updateDrag(e);
};
var updateDrag=function(e)
{
var target=null;
var p=cf.getCoords(e);
var top=p.top;
var left=p.left;
updateOverlay(p);
var box=cd.getBoundingBox(mouseParent);
var st=0;
var sl=0;
if(top<box.top) st=-1;
else if(top>box.bottom) st=1;
if(left<box.left) sl=-1;
else if(left>box.right) sl=1;
if(st==0 && sl==0)
{
top+=cd.getScrollTop(mouseParent);
left+=cd.getScrollLeft(mouseParent);
var drag=cd.getAttr(element,"drag");
var tg=targets[drag];
for(var n=0;n<tg.length;n++)
{
box=getDragBox(tg[n]);
if(box.top<top && box.left<left &&
box.top+box.height>top && box.left+box.width+10>=left)
{
target=tg[n];
break;
}
}
if(target)
{
var sw=(target!=element.parentNode);
var node=null;
for(var n=target.childNodes.length-1;n>=0;n--)
{
var dg=target.childNodes[n];
if(dg.nodeName=="#text" || dg==element) continue;
box=getDragBox(dg);
if(box.left+box.width+10>=left && box.top+box.height>top)
node=dg;
}
if(node)
{
if(node!=element.nextSibling)
target.insertBefore(element,node);
}
else
{
if(element.nextSibling || element.parentNode!=target)
target.appendChild(element);
}
if(sw) switchOverlay(target);
setTimeout(function(){setDragBox(target);},5);
}
}
var s=target?"":"none";
if(cd.getDisplay(element)!=s)
{
cd.setDisplay(element,s);
if(target) cd.setVisibility(element,"hidden");
enableOverlay(target!=null);
}
if(st!=0) mouseParent.scrollTop+=(st*5);
if(sl!=0) mouseParent.scrollLeft+=(sl*5);
CLASMA.drag.setDirty(true);
};
var setDragBox=function(e)
{
var box=cd.getOffsetBox(e);
cd.setAttr(e,"startTop",box.top);
cd.setAttr(e,"startLeft",box.left);
cd.setAttr(e,"startWidth",box.width);
cd.setAttr(e,"startHeight",box.height);
};
var getDragBox=function(e)
{
var box={top:0,left:0,width:0,height:0};
box.top=parseInt(cd.getAttr(e,"startTop"));
box.left=parseInt(cd.getAttr(e,"startLeft"));
box.width=parseInt(cd.getAttr(e,"startWidth"));
box.height=parseInt(cd.getAttr(e,"startHeight"));
return box;
};
return {
create:function(parentId,clsDrop,clsDrag,clsOver,clsHover)
{
CLASMA.drag.destroy();
mouseParent=cd.getElement(parentId);
if(!mouseParent) return;
var drop=targets.length;
targets[drop]=[];
var cls=clsDrop.split(",");
for(var c=0;c<cls.length;c++)
{
var dp=cd.getElements(null,mouseParent,cls[c]);
for(var n=0;n<dp.length;n++)
{
targets[drop].push(dp[n]);
var dg=cd.getElements(null,dp[n],clsDrag);
for(var m=0;m<dg.length;m++)
cd.setAttr(dg[m],"drag",drop);
}
}
{
hoverClass=clsHover;
createOverlay(clsOver);
cd.addEvent(document,"mousedown",CLASMA.drag.onmousedown);
cd.addEvent(document,"mousemove",CLASMA.drag.onmousemove);
cd.addEvent(document,"mouseup",CLASMA.drag.onmouseup);
cd.addEvent(mouseParent,"scroll",CLASMA.drag.onscroll);
}
},
setDisable:function(f)
{
disable=f;
},
setDirty:function(f)
{
dirty=f;
},
isDirty:function()
{
return dirty;
},
isDragReady:function()
{
return !disable && mouseDown && !element;
},
isDragging:function()
{
return !mouseDown;
},
startItemDrag:function(e,t,drag)
{
t.setAttribute("drag",drag);
createHover(t);
mouseTarget=t;
startDrag(e,t,drag);
switchOverlay(element.parentNode);
enableOverlay(false);
},
updateItemDrag:function(t)
{
createHover(t);
mouseTarget=t;
changeOverlay(t);
cd.setDisplay(overlay.firstChild,"");
switchOverlay(element.parentNode);
enableOverlay(false);
},
destroy:function()
{
targets=[];
mouseDown=false;
mouseState=false;
mouseParent=null;
mouseTarget=null;
overlay=null;
element=null;
hoverClass=null;
},
onmousedown:function(e)
{
if(targets.length>0) mouseDown=true;
},
onmousemove:function(e)
{
if(targets.length==0 || disable) return;
var t=cf.getTarget(e);
while(t)
{
if(!t.getAttribute)
{
t=null;
break;
}
if(cd.getAttr(t,"drag")!=null)
break;
t=t.parentNode;
}
if(mouseTarget && t!=mouseTarget)
destroyHover(mouseTarget);
if(!element)
{
var drag=cd.getAttr(t,"drag");
if(drag!=null)
{
if(t!=mouseTarget) createHover(t);
if(mouseDown && !mouseState)
startDrag(e,t,drag);
}
}
else updateDrag(e);
mouseState=mouseDown;
mouseTarget=t;
},
onmouseup:function(e)
{
if(targets.length==0) return;
mouseDown=false;
mouseState=false;
mouseTarget=element;
if(!element) return;
changeOverlay(null);
if(cd.getDisplay(element)!="none")
{
cd.setDisplay(element,"");
cd.setVisibility(element,"visible");
}
else element.parentNode.removeChild(element);
createHover(element);
element=null;
},
onscroll:function(e)
{
if(targets.length==0) return;
if(!mouseTarget) return;
destroyHover(mouseTarget);
mouseTarget=null;
}
}; }();
CLASMA.namespace("CLASMA.history");
CLASMA.history=function() {
var cd=CLASMA.dom;
var cdd=CLASMA.detect;
var histId="historyFrame";
var histUrl="history.htm";
var histTitle;
var histBase;
var histHash=null;
var histTimerId=null;
var histTimer=200;
var histChange=null;
var histUseNotify;
var histUseFrame;
var histUseUrl;
var histUseTimer;
var histUseTimerAdd;
var getHash=function()
{
var hash=window.location.hash;
return hash?stripHash(hash):"";
};
var setHash=function(hash)
{
if(!cdd.ie || hash!="" || stripHash(window.location.hash)!="")
window.location.hash=hash;
};
var stripHash=function(hash)
{
if(hash && hash.indexOf("#")==0)
return hash.substring(1);
return hash;
};
var writeFrame=function(s)
{
var d=$(histId).contentWindow.document;
d.open("javascript:\"<html></html>\"");
d.write(s);
d.close();
};
var triggerChange=function(hash)
{
if(histUseFrame)
$(histId).contentWindow.document.title=histTitle;
if(histChange) histChange(hash);
};
return {
create:function(title,fnChange)
{
histTitle=title?title:document.title;
histChange=fnChange;
histBase=getHash();
histHash=null;
histUseNotify=false;
histUseFrame=cdd.ie;
histUseUrl=false;
histUseTimer=true;
histUseTimerAdd=cdd.ie;
if(histUseNotify)
{
window.onhashchange=CLASMA.history.onhashchange;
histUseFrame=false;
histUseTimer=false;
CLASMA.history.onhashchange();
}
if(histUseFrame)
{
var e=cd.createElement("iframe");
if(histUseUrl) cd.setSrc(e,histUrl);
cd.setId(e,histId);
cd.setShow(e,false);
cd.appendBody(e);
}
if(histUseTimer)
histTimerId=setTimeout(CLASMA.history.ontimer,histTimer);
},
destroy:function()
{
if(histUseNotify)
window.onhashchange=null;
if(histUseFrame)
document.body.removeChild($(histId));
if(histUseTimer && histTimerId)
{
clearTimeout(histTimerId);
histTimerId=null;
}
},
setTitle:function(t)
{
if(histUseFrame)
$(histId).contentWindow.document.title=t;
},
getBaseHash:function()
{
return histBase;
},
add:function(hash)
{
setHash(hash);
if(histUseFrame)
{
writeFrame(
"<html>"+
"<head>"+
"<script type=\"text/javascript\">"+
"parent.CLASMA.history.onframechange('"+hash+"');"+
"</script>"+
"</head>"+
"<body></body>"+
"</html>");
}
},
onhashchange:function()
{
var hash=getHash();
triggerChange(hash);
},
onframeload:function()
{
var hash=CLASMA.history.getBaseHash();
CLASMA.history.onframechange(hash);
},
onframechange:function(hash)
{
histHash=hash;
hash=stripHash(hash);
setHash(hash);
triggerChange(hash);
},
ontimer:function()
{
var hash=getHash();
if(hash!=histHash)
{
histHash=hash;
if(histUseTimerAdd) CLASMA.history.add(hash);
else triggerChange(hash);
}
histTimerId=setTimeout(CLASMA.history.ontimer,histTimer);
}
}; }();
CLASMA.namespace("CLASMA.analytics");
CLASMA.analytics=function() {
var ga_svtestsite="UA-6056827-1";
var ga_pointview="UA-6056827-2";
return {
create:function(account,user)
{
if(!account)
{
account=(location.hostname=="www.svtestsite.com" ||
location.hostname=="svtestsite.com")?ga_svtestsite:ga_pointview;
}
var tracker=_gat._getTracker(account);
if(user) CLASMA.analytics.setUserVar(tracker,user);
return tracker;
},
setUserVar:function(tracker,user)
{
if(!tracker) return;
tracker._setVar(user);
},
trackPage:function(tracker,page)
{
if(!tracker) return;
tracker._trackPageview(page);
},
trackEvent:function(tracker,category,action,label,value)
{
if(!tracker) return;
tracker._trackEvent(category,action,label,value);
}
}; }();
CLASMA.namespace("CLASMA.pointview");
CLASMA.pointview=function() {
var cl=CLASMA.lang;
var cdd=CLASMA.detect;
var cc=CLASMA.cookie;
var ca=CLASMA.ajax;
var cd=CLASMA.dom;
var cf=CLASMA.framework;
var cdl=CLASMA.dialog;
var cdr=CLASMA.drag;
var ch=CLASMA.history;
var can=CLASMA.analytics;
var cwcd=CLASMA.widget.calendar;
var cwc=CLASMA.widget.context;
var cwt=CLASMA.widget.tree;
var cwl=CLASMA.widget.list;
var cwtb=CLASMA.widget.tab;
var cwte=CLASMA.widget.tabette;
var RS_OK="ok";
var RS_BAD="bad";
var IN_BEGIN="<!-- INF ";
var IN_END=" INF -->";
var AN_BEGIN="<!-- ANB ";
var AN_END=" ANE -->";
var TT_BEGIN="<!-- TTB ";
var TT_END=" TTE -->";
var BC_BEGIN="<!-- BCB -->";
var BC_END="<!-- BCE -->";
var TB_BEGIN="<!-- TBB ";
var TB_END=" TBE -->";
var eventView="future";
var trackView="role";
var forumView="visible";
var feedView="feed";
var taskView="open";
var listFuture=false;
var listPast=false;
var listSites=false;
var listContent=false;
var viewType=null;
var viewId=null;
var viewBread=null;
var viewBreadId=null;
var viewTab=null;
var histType="";
var histSearch="";
var histDate="";
var keepPos=-1;
var contextType=null;
var contextId=null;
var contextHit=false;
var moveAdjust=false;
var moveReorder=false;
var moveCell=null;
var moveRow=null;
var moveClick=null;
var calloutId=null;
var calloutData=null;
var newParent=null;
var newId=null;
var editpid=null;
var editcid=null;
var listSel=null;
var listData=null;
var uploadResult=null;
var adjust=false;
var adjustMin=220;
var adjustMax=400;
var adjustTo=0;
var adjustOfst=0;
var adjustCol=null;
var hHeight=0;
var fHeight=0;
var timerId=null;
var heartId=null;
var curFilter=null;
var disableAction=false;
var inputOk=false;
var parentId=null;
var userId=null;
var userAdmin=false;
var userPolicy=false;
var orgId=null;
var orgAdmin=false;
var orgManager=false;
var contextFuture=[
"!Add Project=add,event"];
var contextPeople=[
"!Add Person=add,person"];
var contextEvent=[
"View Project=view",
"!Delete Project=delete",
"!-",
"!Add Track=add,track,eid",
"!Add Site=add,site,eid",
"!-",
"!Send Mail to Project=mail",
"!-",
"!Properties=prop"];
var contextTrack=[
"View Track=view",
"!Delete Track=delete",
"!-",
"!Add Session=add,session,tid",
"!-",
"!Send Mail to Track=mail",
"!-",
"!Properties=prop"];
var contextSession=[
"View Session=view",
"!Delete Session=delete",
"!-",
"!Add Participant=add,presentation,sid",
"!-",
"!Send Mail to Session=mail",
"!-",
"!Properties=prop"];
var contextPres=[
"View Participant=view",
"!Delete Participant=delete",
"-",
"Send Mail to Participant=mail",
"!-",
"!Properties=prop"];
var contextSubmission=[
"View Submission=view",
"!Delete Submission=delete",
"-",
"Send Mail to Participant=mail",
"!-",
"!Properties=prop"];
var contextPerson=[
"View Person=view",
"*Assume Identity=assume",
"-",
"Send Mail to Person=mail",
"*-",
"*Properties=prop"];
var contextOrg=[
"View Organization=view",
"!Delete Organization=delete",
"!-",
"!Properties=prop"];
var contextMember=[
"View Member=view",
"!Delete Member=delete",
"!-",
"!Properties=prop"];
var contextSite=[
"View Site=view",
"!Delete Site=delete",
"!-",
"!Add Page=add,page,sid",
"!-",
"!Properties=prop"];
var contextPage=[
"View Page=view",
"!Delete Page=delete",
"!-",
"!Properties=prop"];
var contextContent=[
"View Content=view",
"!Delete Content=delete",
"!-",
"!Properties=prop"];
var contextTask=[
"View Task=view",
"!Delete Task=delete",
"!-",
"!Properties=prop"];
var contextFile=[
"View File=view",
"!Delete File=delete",
"!-",
"!Properties=prop"];
var contextLink=[
"View Link=view",
"!Delete Link=delete",
"!-",
"!Properties=prop"];
var contextReport=[
"View Report=view",
"!Delete Report=delete",
"!-",
"!Properties=prop"];
var contextTopic=[
"View Topic=view",
"!Delete Topic=delete",
"!-",
"!Properties=prop"];
var contextFeed=[
"View Feed=view",
"!Delete Feed=delete",
"!-",
"!Properties=prop"];
var contextChannel=[
"View Channel=view",
"!Delete Channel=delete",
"!-",
"!Properties=prop"];
var contextItem=[
"View Item=view",
"!Delete Item=delete",
"!-",
"!Properties=prop"];
var contextInline=[
"View Content=view",
"-",
"Properties=prop"];
var initMain=function()
{
var fn1=CLASMA.pointview.ontreetoggle;
var fn2=CLASMA.pointview.ontreeclick;
cwt.create("futuretree",fn1,fn2,null);
cwt.create("pasttree",fn1,fn2,null);
cwt.create("sitestree",fn1,fn2,null);
cwt.create("contentstree",fn1,fn2,null);
cwt.create("peopletree",fn1,fn2,null);
var n=($("administration"))?"administration":"contents";
if(!cd.isVisible(n+"content")) cd.getStyle(n).borderBottomWidth="0px";
var w=cc.get("divider");
setDivider(w?w:300);
if(userPolicy) showMain();
else CLASMA.pointview.onreviewpolicy();
};
var showMain=function()
{
listFuture=false;
listPast=false;
listSites=false;
listContent=false;
cd.setShow("blank",false);
cd.setShow("splash",false);
cd.setShow("container",true);
CLASMA.pointview.resize();
refreshTreeLists();
ch.create("PointView",CLASMA.pointview.onhistory);
};
var gotoHome=function()
{
ch.add("home");
};
var gotoView=function(type,id,bread,breadid)
{
var hash=type;
if(id) hash+="_"+id;
if(bread) hash+="_"+bread+"_"+breadid;
ch.add(hash);
};
var gotoTab=function(type,id,tab)
{
if(viewType!=type || viewId!=id)
{
viewTab=tab;
gotoView(type,id);
}
else CLASMA.pointview.ontabclick(tab);
};
var gotoPreview=function(type,id)
{
var c=$("tabcontent");
var callback=function(r)
{
setCrumbWait(false);
if(ca.isValid(r))
{
var t=r.responseText;
t=cd.processScripts(t);
cd.setHtml(c,t);
cd.runScripts();
CLASMA.pointview.resize();
}
else ca.setInvalid(c,r);
}
var url="gateway/"+type+".asp";
var args=new argu();
args.add("view",id);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {ca.setError(c,e.message); return;}
setCrumbWait(true);
};
var getList=function(id,source,filter,expand)
{
var e=$(id);
ca.setWait(e);
var callback=function(r)
{
if(ca.isValid(r))
{
cwt.addNodes(e,expand);
setListDrag(e);
}
}
var url="gateway/objects.asp";
var args=new argu();
args.add("source",args.opt(source,filter));
ca.include(url,e,args.get(),callback);
return true;
};
var setListDrag=function(e)
{
var li=cd.getElements("li",e);
if(!li) return;
for(var n=0;n<li.length;n++)
{
var l=li[n];
var f=l.getAttribute("form");
if(f && f.indexOf("content:")==0)
cd.addEvent(l,"mousemove",CLASMA.pointview.ontreedrag);
}
};
var getView=function(type,id,bread,breadid,page)
{
checkPageSave();
checkContentSave();
var l=cd.isVisible("past")?"past":"future";
if(!type || type=="") type="home";
if(type=="home") id=l;
viewType=type;
viewId=id;
viewBread=bread;
viewBreadId=breadid;
inputOk=false;
var callback=function(r)
{
setCrumbWait(false);
if(ca.isValid(r))
{
clearContent();
setContent(r.responseText);
CLASMA.pointview.resize();
restoreScroll();
}
else setContentError("#"+r.status+" "+r.statusText);
}
var url="gateway/overview.asp";
var args=new argu();
args.add("source",args.opt(type,id));
args.add("content","full");
args.add("listing",l);
args.add("tab",viewTab);
args.add("view",getViewType());
args.add("filter",getViewFilter());
args.add("search",getViewSearch());
args.add("date",getViewDate());
args.add("page",page);
args.add("bread",bread);
args.add("breadid",breadid);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {setContentError(e.message); return;}
setCrumbWait(true);
};
var getTab=function(tab)
{
var c=$("tabcontent");
checkPageSave();
checkContentSave();
var l=cd.isVisible("past")?"past":"future";
viewTab=tab;
inputOk=false;
var callback=function(r)
{
setCrumbWait(false);
if(ca.isValid(r))
{
clearContent();
cd.setHtml(c,r.responseText);
CLASMA.pointview.resize();
restoreScroll();
}
else
{
cd.setHtml(c,"<div id=\"contenterror\" class=\"client\"></div>");
ca.setInvalid($("contenterror"),r);
}
}
var url="gateway/overview.asp";
var args=new argu();
args.add("source",args.opt(viewType,viewId));
args.add("content","partial");
args.add("listing",l);
args.add("tab",tab);
args.add("view",getViewType());
args.add("filter",getViewFilter());
args.add("search",getViewSearch());
args.add("date",getViewDate());
args.add("bread",viewBread);
args.add("breadid",viewBreadId);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e)
{
cd.setHtml(c,"<div id=\"contenterror\" class=\"client\"></div>");
ca.setError($("contenterror"),e.message);
return;
}
setCrumbWait(true);
};
var getOverviewTab=function()
{
CLASMA.pointview.ontabclick("overview");
};
var getCurrentTab=function()
{
var e=cwtb.getCurrent("overviewtab");
if(!e) return;
CLASMA.pointview.ontabclick(e.getAttribute("form"));
};
var getDialog=function(title,url,args,id,noclose,tab)
{
disableAction=false;
var contentId=id+"_content";
var cw=cf.getClientWidth();
var ch=cf.getClientHeight();
var w=560;
var h=Math.round((ch/8)*6);
if(h>550) h=550;
var t=(ch-h)/2;
var l=(cw-w)/2;
cdl.create(id,title,t,l,w,h,"",true,false,true,true,CLASMA.pointview.onresizedialog,noclose);
ca.setWait(contentId);
var callback=function(r)
{
if(ca.isValid(r))
{
cdl.create(id,title,t,l,w,h,r.responseText,true,false,true,true,CLASMA.pointview.onresizedialog,noclose);
if(tab) CLASMA.pointview.setForm(id,id.replace("dlg","tab"),tab);
else cdl.setFocus(id);
}
else cdl.setContent(id,"#"+r.status+" "+r.statusText);
}
try {ca.request(url,ca.POST,args,callback);}
catch(e) {ca.setError(id,e.message);}
};
var getViewType=function()
{
if(viewTab=="tasks")
return taskView;
if(viewTab=="review" || viewTab=="forum")
return forumView;
if(viewType=="home" && viewTab=="events")
return eventView;
if(viewType=="home" && viewTab=="news")
return feedView;
if(viewType=="event" && viewTab=="overview")
return trackView;
return null;
};
var getViewFilter=function()
{
if(viewTab=="history")
return histType;
return null;
};
var getViewSearch=function()
{
if(viewTab=="history")
return histSearch;
return null;
};
var getViewDate=function()
{
if(viewTab=="history")
return histDate;
return null;
};
var getObject=function(n)
{
var a=cd.getAttr(n,"form");
if(a)
{
var s=a.split(":");
if(s.length==2) gotoView(s[0],s[1]);
else setContentError("Wrong parameter format");
}
else setContent();
};
var setContentError=function(error)
{
setCrumbWait(false);
cd.setHtml("display","<div id=\"contenterror\" class=\"client\"></div>");
ca.setError("contenterror",error);
};
var setCrumbWait=function(w)
{
disableAction=w;
removeMoveTab();
removeCallout();
var e=$("crumbhome");
cd.setClass(e,"icon"+(w?"wait":"home"));
};
var setContent=function(h)
{
if(h)
{
h=processTitle(h);
h=processAnalytics(h);
h=processCrumbs(h);
h=processTab(h);
}
else h="";
cd.setHtml("display",h);
};
var processInfo=function(h)
{
var m=h.indexOf(IN_BEGIN);
var s=h.indexOf(IN_END);
if(m>-1 && s>m)
{
var i=h.substring(m+IN_BEGIN.length,s);
var s=i.split(";");
userId=s[0];
userAdmin=(s[1]=="y");
userPolicy=(s[2]=="y");
orgId=s[3];
orgAdmin=(s[4]=="y");
orgManager=(s[5]=="y");
h=h.substring(0,m)+h.substr(s+IN_END.length);
}
return h;
};
var processAnalytics=function(h)
{
var m=h.indexOf(AN_BEGIN);
var s=h.indexOf(AN_END);
if(m>-1 && s>m)
{
can.trackPage(CLASMA.pointview.tracker,h.substring(m+AN_BEGIN.length,s));
h=h.substring(0,m)+h.substr(s+AN_END.length);
}
return h;
};
var processTitle=function(h)
{
var m=h.indexOf(TT_BEGIN);
var s=h.indexOf(TT_END);
if(m>-1 && s>m)
{
document.title="PointView - "+h.substring(m+TT_BEGIN.length,s);
h=h.substring(0,m)+h.substr(s+TT_END.length);
}
return h;
};
var processCrumbs=function(h)
{
var m=h.indexOf(BC_BEGIN);
var s=h.indexOf(BC_END);
if(m>-1 && s>m)
{
cd.setHtml("caption",h.substring(m+BC_BEGIN.length,s));
h=h.substring(0,m)+h.substr(s+BC_END.length);
}
return h;
};
var processTab=function(h)
{
var m=h.indexOf(TB_BEGIN);
var s=h.indexOf(TB_END);
if(m>-1 && s>m)
{
viewTab=h.substring(m+TB_BEGIN.length,s);
h=h.substring(0,m)+h.substr(s+TB_END.length);
}
return h;
};
var seekMoveTab=function(e)
{
if(disableAction || cd.isVisible("context")) return;
var p=cf.getTarget(e);
var o=$("movetab");
if(p==o || (cd.getParent(p)==o)) return;
removeMoveTab()
var d=null;
while(p && p.getAttribute)
{
d=cd.getAttr(p,"move");
if(d) break;
p=cd.getParent(p);
}
if(!d) return;
moveCell=p;
moveRow=cd.getParent(p);
positionMoveTab();
cd.setDisplay(o,"block");
};
var positionMoveTab=function()
{
var b=cd.getBoundingBox(moveCell);
var t=b.top+((b.height-16)/2);
var l=b.left-(16-4);
if(cdd.ie) {l-=2; t-=2;}
var o=$("movetab");
cd.setTop(o,t);
cd.setLeft(o,l);
};
var removeMoveTab=function()
{
moveCell=null;
moveRow=null;
moveClick=null;
cd.setDisplay("movetab","none");
};
var startRowMove=function(e)
{
if(!moveRow) return false;
moveClick=moveCell.onclick;
moveAdjust=true;
moveReorder=false;
removeCallout();
return true;
};
var updateRowMove=function(e)
{
if(!moveAdjust) return false
var t=getMoveTarget(e);
if(!t || t==moveRow) return true;
moveCell.onclick=null;
var p=moveRow.parentNode;
var c=moveRow.cloneNode(true);
t=p.replaceChild(c,t);
p.replaceChild(t,moveRow);
p.replaceChild(moveRow,c);
moveReorder=true;
positionMoveTab();
return true;
};
var endRowMove=function(e)
{
if(!moveAdjust) return false;
moveAdjust=false;
if(!moveReorder) return false;
var r=moveCell;
var h=moveClick;
setTimeout(function(){r.onclick=h;},100);
var p=cd.getParent(moveRow);
var t=cd.getParent(p);
var s=cd.getAttr(t,"source");
var o=cd.getAttr(t,"order")+":";
var c=cd.getFirst(p);
while(c)
{
o+=cd.getAttr(cd.getFirst(c),"move");
c=cd.getNext(c);
if(c) o+=",";
}
var callback=function(r)
{
if(!ca.isValid(r))
invalidDialog(r);
}
var url="gateway/order.asp";
var args=new argu();
args.add("source",s);
args.add("order",o);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
return true;
};
var getMoveTarget=function(e)
{
var t=cf.getCoords(e).top;
var p=cd.getParent(moveRow);
var b=cd.getBoundingBox(cd.getParent(p));
if(t<b.top) return cd.getFirst(p);
if(t>b.bottom) return cd.getLast(p);
var c=cd.getFirst(p);
while(c)
{
b=cd.getBoundingBox(c);
if(t>=b.top && t<=b.bottom) return c;
c=cd.getNext(c);
}
return null;
};
var seekCallout=function(e)
{
if(disableAction || moveAdjust || !cdr.isDragging() || cd.isVisible("context"))
{
removeCallout();
return;
}
var o=$("callout");
var p=cf.getTarget(e);
var a=(cd.getTag(p)=="a");
var d=null;
while(p && p.getAttribute)
{
d=cd.getAttr(p,"menu");
if(d) break;
if(a)
{
d=cd.getAttr(p,"form");
if(d) break;
}
p=cd.getParent(p);
}
var pos=cf.getCoords(e);
if(d==calloutData && cd.isVisible(o))
{
positionCallout(pos);
return;
}
removeCallout();
if(!d) return;
if(calloutId) clearTimeout(calloutId);
calloutId=setTimeout(function(){deferCallout(d,pos);},500);
};
var deferCallout=function(d,pos)
{
calloutId=null;
if(d==calloutData)
{
cd.setDisplay("callout","block");
positionCallout(pos);
return;
}
var e=$("calloutcontent");
ca.setWait(e);
var callback=function(r)
{
cd.setDisplay("callout","block");
positionCallout(pos);
}
var url="gateway/callout.asp";
var args=new argu();
args.add("source",d);
ca.include(url,e,args.get(),callback);
calloutData=d;
};
var positionCallout=function(pos)
{
var t=pos.top+21;
var l=pos.left;
if(cdd.ie) {t-=2; l-=2;}
var o=$("callout");
var cw=cf.getClientWidth();
var ch=cf.getClientHeight();
var b=cd.getBoundingBox(o);
if(l+(b.width+5)>cw) l=cw-(b.width+5);
if(t+(b.height+5)>ch) t=ch-(b.height+5);
cd.setTop(o,t);
cd.setLeft(o,l);
};
var removeCallout=function()
{
if(calloutId)
{
clearTimeout(calloutId);
calloutId=null;
}
cd.setDisplay("callout","none");
};
var setDropTargets=function(type)
{
if(type!="page") return;
cdr.create(
"viewcontent",
"vcedheader,vcedcolumn,vcedfooter",
"vcedcontent",
"viewcontent",
"vcedhilight");
cdr.setDirty(false);
};
var getContentIds=function(e)
{
var l=cd.getElements(null,e,"vcedcontent");
var s="";
for(var n=0;n<l.length;n++)
{
if(n>0) s+=",";
s+=l[n].getAttribute("cid")
}
return s;
};
var getTabContent=function(url,args)
{
var c=$("tabcontent");
var callback=function(r)
{
setCrumbWait(false);
clearContent();
if(ca.isValid(r))
{
cd.setHtml(c,r.responseText);
CLASMA.pointview.resize();
setDropTargets(viewType);
}
else ca.setInvalid(c,r);
}
try {ca.request(url,ca.POST,args,callback);}
catch(e) {ca.setError(c,e.message); return;}
setCrumbWait(true);
};
var refreshTreeLists=function()
{
if(cd.isVisible("objectscontent"))
{
if(cd.isVisible("future") && !listFuture)
listFuture=getList("futuretree","events:future");
if(cd.isVisible("past") && !listPast)
listPast=getList("pasttree","events:past");
}
if(cd.isVisible("contentscontent"))
{
if(cd.isVisible("sevents") && !listSites)
listSites=getList("sitestree","sevents:future");
if(cd.isVisible("content") && !listContent)
listContent=getList("contentstree","cevents:future");
}
};
var refreshDetails=function(type)
{
var id=type+"group";
var callback=function(r)
{
setDivider();
CLASMA.pointview.resize();
}
var url="gateway/details.asp";
var args=new argu();
args.add("source",type);
ca.include(url,id,args.get(),callback);
};
var refreshTree=function(type,id,mode)
{
if(listFuture) listFuture=refreshTreeList("future",type,id,mode);
if(listPast) listPast=refreshTreeList("past",type,id,mode);
if(listSites) listSites=refreshTreeList("sevents",type,id,mode);
if(listContent) listContent=refreshTreeList("content",type,id,mode);
refreshTreeLists();
};
var refreshTreeList=function(w,type,id,mode)
{
if(mode==1)
{
if(type=="future")
return false;
}
var n=cwt.findNode(w,"form",type+":"+id);
if(!n)
{
if(mode==2 && type=="event")
return false;
return true;
}
if(mode==3)
{
cwt.deleteNode(n);
return true;
}
if(mode==2)
{
n=n.parentNode.parentNode;
if(cd.getTag(n)=="div")
return false;
}
cwt.closeNode(n);
cwt.deleteAll(n);
treeToggle(n);
return true;
};
var refreshContent=function(scrollTop)
{
if(!scrollTop) keepPos=cd.getScrollTop("tabscroll");
getView(viewType,viewId,viewBread,viewBreadId);
};
var refreshTab=function()
{
getTab(viewTab);
};
var restoreScroll=function()
{
if(keepPos==-1) return;
cd.setScrollTop("tabscroll",keepPos);
keepPos=-1;
};
var treeToggle=function(n)
{
var s=cd.getAttr(n,"source");
if(!s || s=="") return;
if(!cwt.isOpen(n))
{
var i=parseInt(cd.getAttr(n,"icon"));
cwt.setNodeIcon(n,-1);
var callback=function(r)
{
if(ca.isValid(r))
{
cwt.openNode(n);
cwt.setNodeIcon(n,i);
cwt.addHtml(n,r.responseText);
setListDrag(n);
}
else cwt.setNodeIcon(n,1);
}
var url="gateway/objects.asp";
var args=new argu();
args.add("source",s);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {cwt.setNodeIcon(n,1);}
}
else
{
cwt.closeNode(n);
cwt.deleteAll(n);
}
};
var checkPageSave=function()
{
if(!editpid) return;
if(cdr.isDirty())
{
var ok=confirm("Save changes made to this page?");
if(ok) CLASMA.pointview.onsavepage(editpid,true);
}
editpid=null;
};
var checkContentSave=function()
{
if(!editcid) return;
var e=FCKeditorAPI.GetInstance("compose");
if(e.IsDirty())
{
var ok=confirm("Save changes made to this content?");
if(ok) CLASMA.pointview.onsavecontent(editcid,true);
}
editcid=null;
};
var getFormField=function(id,field)
{
var e=cd.getElementById(id,field);
return e?e.value:"";
};
var setFormLabel=function(field,label)
{
var e=document.getElementById(field);
if(!e) return;
var td=cd.getElements("td",e.parentNode.parentNode);
if(td) td[0].innerHTML=label+":";
};
var setContext=function(e,m)
{
var s=m.trimsplit(":");
contextType=s.length>0?s[0]:null;
contextId=s.length>1?s[1]:null;
var c;
switch(contextType)
{
case "future": c=contextFuture; break;
case "people": c=contextPeople; break;
case "event": c=contextEvent; break;
case "track": c=contextTrack; break;
case "session": c=contextSession; break;
case "presentation": c=contextPres; break;
case "submission": c=contextSubmission; break;
case "person": c=contextPerson; break;
case "organization": c=contextOrg; break;
case "member": c=contextMember; break;
case "site": c=contextSite; break;
case "page": c=contextPage; break;
case "content": c=contextContent; break;
case "task": c=contextTask; break;
case "file": c=contextFile; break;
case "link": c=contextLink; break;
case "report": c=contextReport; break;
case "topic": c=contextTopic; break;
case "feed": c=contextFeed; break;
case "channel": c=contextChannel; break;
case "item": c=contextItem; break;
case "inline": c=contextInline; contextType="content"; break;
default: return;
}
var items=[];
for(var n=0;n<c.length;n++)
{
switch(c[n].charAt(0))
{
case "*":
if(userAdmin)
items.push(c[n].substr(1));
break;
case "!":
if(userAdmin || orgAdmin)
items.push(c[n].substr(1));
break;
default:
items.push(c[n]);
break;
}
}
if(items.length==0) return
var pt=cf.getCoords(e);
cwc.create(pt.left,pt.top,items,CLASMA.pointview.oncontext);
removeMoveTab();
removeCallout();
};
var packForm=function(id,tabid,formid)
{
var d=cd.getElementById(id,formid);
if(!d) return null;
var ef=cd.getElements(null,d);
if(!ef) return null;
var args="";
var pass=null;
var conf=null;
var section=null;
var rq=false;
for(var n=0;n<ef.length;n++)
{
var e=ef[n];
var tag=e.tagName.toLowerCase();
var cls=e.className?e.className:"";
var name=null;
var value=null;
switch(tag)
{
case "table":
var s=cd.getAttr(e,"section");
if(s) section=s;
break;
case "td":
if(cls=="required")
rq=true;
break;
case "div":
name=cd.getAttr(e,"name");
if(name && name!="")
{
if(cls=="listdisplay")
{
var cur=cwl.getCurrent(e);
if(cur) value="$"+cd.getAttr(cur,"data");
}
else value=cd.getAttr(e,"data");
}
break;
case "input":
var type=cd.getAttr(e,"type");
switch(type)
{
case "hidden":
case "text":
case "password":
case "file":
name=cd.getAttr(e,"name");
switch(cls)
{
case "pickperson":
case "pickorganization":
case "pickpage":
value=cd.getAttr(e,"data");
break;
case "picksqldate":
value=cwcd.getSqlDate(e.value);
break;
default:
var v=e.value.replace(/\"/g,"'");
if(type=="hidden") value=v;
else value="$"+v;
if(name=="_password") {name=null; pass=v;}
if(name=="_confirm") {name=null; conf=v;}
if(name=="password")
{
if(v!="" && v.length<6)
{
msgBox("Passwords must be at least 6 characters long.");
CLASMA.pointview.setForm(id,tabid,"eventdetails");
cf.setFocus("password");
return null;
}
}
break;
}
break;
case "radio":
name=cd.getId(e);
value=e.checked?-1:0;
break;
case "checkbox":
name=cd.getAttr(e,"name");
value=e.checked?-1:0;
break;
}
break;
case "textarea":
name=cd.getAttr(e,"name");
value="$"+e.value;
break;
case "select":
name=cd.getAttr(e,"name");
value=e.value;
if(!cl.isNum(value) && value!="NULL")
value="$"+value;
break;
}
if(name)
{
if(rq && (!value || value=="" || value=="$"))
{
msgBox("A required field is missing from this dialog.");
if(tabid && section) CLASMA.pointview.setForm(id,tabid,section);
cf.setFocus(e);
return null;
}
if(args!="") args+="&";
args+=encodeURIComponent(name)+"="+encodeURIComponent(value);
rq=false;
}
}
if(pass && pass!="")
{
var err=null;
if(pass.length<6) err="Passwords must be at least 6 characters long.";
else if(pass!=conf) err="The Password and Confirmation fields do not match.";
if(err)
{
msgBox(err);
CLASMA.pointview.setForm(id,tabid,"persondetails");
cf.setFocus("_password");
return null;
}
if(args!="") args+="&";
args+=encodeURIComponent("password")+"="+encodeURIComponent("$"+pass);
}
return args;
};
var setContractState=function(type,id,dist,mail)
{
var callback=function(r)
{
if(ca.isValid(r))
{
refreshDetails("todo");
refreshContent();
if(mail) CLASMA.pointview.onemail("presentation",id,false);
}
else invalidDialog(r);
}
var url="gateway/contract.asp";
var args=new argu();
args.add(type,id);
if(typeof dist!="undefined") args.add("dist",(dist?"y":"n"));
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
};
var setTaskStatus=function(id,status)
{
if(disableAction) return;
var callback=function(r)
{
disableAction=false;
if(ca.isValid(r))
{
refreshDetails("todo");
refreshContent();
}
else invalidDialog(r);
}
var url="gateway/task.asp";
var args=new argu();
args.add("status",args.opt(id,status));
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);return;}
disableAction=true;
};
var showGroup=function(id,v)
{
cd.setShow(id+"content",v);
cd.setClass(id+"icon",v?"groupshow":"grouphide");
};
var setShowState=function(id,v)
{
if(v) cc.set(id,"show");
else cc.erase(id);
};
var setHideState=function(id,v)
{
if(v) cc.erase(id);
else cc.set(id,"hide");
};
var startAdjust=function(col)
{
cdr.setDisable(true);
cf.setCursor("e-resize");
adjustTo=-1;
adjustOfst=cdd.ie?-13:-11;
adjustCol=col;
if(col) adjustOfst-=(parseInt(cd.getStyle("vcedadjust"+col).width)/2)-3;
adjust=true;
};
var stopAdjust=function()
{
cdr.setDisable(false);
cf.setCursor();
adjust=false;
};
var setDivider=function(w)
{
if(typeof w=="undefined")
w=parseInt($("left").style.width);
w=Math.max(adjustMin,Math.min(w,adjustMax));
cd.setWidth("left",w);
cd.setWidth("details",w);
cd.setWidth("detailscontent",w);
cd.setWidth("todocontent",w);
cd.setWidth("objectscontent",w);
cd.setWidth("contentscontent",w);
cd.setWidth("administrationcontent",w);
cd.setWidth("c_search",w-(30+16));
if(cdd.ie)
{
cd.setWidth("future",w);
cd.setWidth("past",w);
cd.setWidth("sevents",w);
cd.setWidth("content",w);
cd.setWidth("people",w);
}
};
var setColumn=function(col,pos)
{
var pc=(cd.getStyle("vcedwidth"+col).width.indexOf("%")!=-1);
var t=(pc?"%":"px");
var mw=cd.getBoundingBox("vcedview").width;
var m=pc?100:(mw-10);
var w=(pos-cd.getBoundingBox("vcedwidth"+col).left)+8;
for(var n=1;n<4;n++)
{
var s=cd.getStyle("vcedwidth"+n);
if(!s) break;
if(n!=col) m-=parseInt(s.width);
s=cd.getStyle("vcedwidth"+(n+1));
if(!s) break;
s=cd.getStyle("vcedadjust"+n);
if(s) m-=parseInt(s.width);
}
if(pc) w=Math.max(1,Math.min(Math.floor((w/mw)*100),Math.max(0,m)));
else w=Math.max(10,Math.min(w,Math.max(0,m)));
var h=$("vcedwidth"+col);
var c=$("vcedcolumn"+col);
var sh=cd.getStyle(h);
var sc=cd.getStyle(c);
sh.width=w+t;
sc.width=w+t;
if(!pc)
{
bx=cd.getBoundingBox("vcedwidth"+col);
if(w!=bx.width)
{
w=bx.width;
sh.width=w+t;
sc.width=w+t;
}
}
cd.setHtml(h,w+t);
cdr.setDirty(true);
};
var getComposeHeight=function()
{
var e=$("tabcontent");
if(!e) return 200;
var b=cd.getBoundingBox(e);
var h=cf.getClientHeight()-(b.top+93);
if(cdd.safari) h-=3;
if(cdd.firefox || cdd.chrome) h-=5;
if(h<0) h=0;
return h;
};
var checkEmail=function(dlgid,tabid)
{
if(!checkEmailField("email",dlgid,tabid,"persondetails","")) return false;
if(!checkEmailField("assistemail",dlgid,tabid,"personassistant","Assistant ")) return false;
if(!checkEmailField("contact",dlgid,tabid,"organizationweb","Contact ")) return false;
if(!checkEmailField("webmaster",dlgid,tabid,"organizationweb","Web Master ")) return false;
return true;
};
var checkEmailField=function(id,dlgid,tabid,tab,type)
{
var e=$(id);
if(e && e.value!="" && !e.value.validEmail())
{
msgBox(type+"Email address is not valid.");
CLASMA.pointview.setForm(dlgid,tabid,tab);
cf.setFocus(e);
return false;
}
return true;
};
var clearContent=function()
{
var e=$("vcpagestyle");
if(e) e.parentNode.removeChild(e);
e=cd.getElements("iframe",cd.getBody());
if(!e) return;
for(var n=0;n<e.length;n++)
{
var i=e[n];
if(cd.getSrc(i)=="javascript:void(0)")
i.parentNode.removeChild(i);
}
};
var processResponse=function(r)
{
var ok;
var s=r.responseText.split(":");
switch(s[0])
{
case RS_OK:
ok=true;
break;
case RS_BAD:
ok=false;
break;
default:
msgBox("Ajax: Invalid server response.");
return false;
}
if(s.length>1) msgBox(s[1]);
return ok;
};
var invalidDialog=function(r)
{
msgBox("Ajax: A server error has occurred.\n(#"+r.status+" "+r.statusText+")");
};
var msgBox=function(err)
{
alert(err);
};
return {
tracker:null,
onload:function()
{
hHeight=parseInt($("c_strip").offsetHeight);
fHeight=parseInt($("footer").offsetHeight);
cd.setHeight("header",hHeight);
cd.addEvent(window,"resize",CLASMA.pointview.onresize);
cd.addEvent(document,"mousedown",CLASMA.pointview.onmousedown);
cd.addEvent(document,"mousemove",CLASMA.pointview.onmousemove);
cd.addEvent(document,"mouseup",CLASMA.pointview.onmouseup);
cd.addEvent(document,"mousewheel",CLASMA.pointview.onmousewheel);
cd.addEvent(document,"contextmenu",CLASMA.pointview.oncontextmenu);
cf.styleBrowser();
cf.disableBrowser();
CLASMA.pointview.resize();
can.trackPage(CLASMA.pointview.tracker,"/PointView");
},
onhistory:function(hash)
{
var s=hash.toLowerCase().split("_");
var n=s.length;
var type=n>0?s[0]:null;
var id=n>1?s[1]:null;
var bread=n>2?s[2]:null;
var breadid=n>3?s[3]:null;
getView(type,id,bread,breadid);
},
onresize:function()
{
CLASMA.pointview.resize();
},
onresizedialog:function(id,w,h)
{
CLASMA.pointview.resizeDialog(id);
},
onmousedown:function(e)
{
if(startRowMove(e)) return;
var id=cf.getTarget(e).id;
switch(id)
{
case "c_adjust":
if(cd.isVisible("left"))
startAdjust(null);
break;
case "vcedadjust1":
case "vcedadjust2":
case "vcedadjust3":
startAdjust(id.charAt(id.length-1));
break;
}
},
onmousemove:function(e)
{
if(updateRowMove(e)) return;
if(adjust)
{
var pos=cf.getCoords(e);
adjustTo=pos.left+adjustOfst;
if(adjustCol) setColumn(adjustCol,adjustTo);
else setDivider(adjustTo);
return;
}
seekMoveTab(e);
seekCallout(e);
},
onmouseup:function(e)
{
if(endRowMove(e)) return;
if(adjust)
{
if(!adjustCol && adjustTo!=-1)
cc.set("divider",adjustTo);
stopAdjust()
}
},
onmousewheel:function(e)
{
removeMoveTab();
removeCallout();
},
onshowpanel:function()
{
cd.setDisplay("lefthide","none");
cd.setDisplay("left","");
cd.getStyle("c_adjust").cursor="";
setHideState("panel",true)
CLASMA.pointview.resize();
},
onhidepanel:function()
{
cd.setDisplay("left","none");
cd.setDisplay("lefthide","");
cd.getStyle("c_adjust").cursor="default";
setHideState("panel",false)
CLASMA.pointview.resize();
},
ongroupclick:function(id)
{
var v=cd.isVisible(id+"content");
switch(id)
{
case "details":
case "todo":
showGroup(id,!v);
setHideState(id,!v);
break;
default:
if(v) id=(id=="contents")?(($("administration"))?"administration":"objects"):"contents";
showGroup("objects",false);
showGroup("contents",false);
showGroup("administration",false);
setHideState("objects",false);
setHideState("contents",false);
setHideState("administration",false);
showGroup(id,true);
setHideState(id,true);
var e=($("administration"))?"administrationcontent":"contentscontent";
var n=($("administration"))?"administration":"contents";
var b=cd.isVisible(e);
cd.getStyle(n).borderBottomWidth=b?"1px":"0px";
refreshTreeLists();
break;
}
CLASMA.pointview.resize();
},
setTab:function(id,n)
{
cwte.setCurrent(id,n);
CLASMA.pointview.resize();
refreshTreeLists();
},
setForm:function(dlgid,tabid,section)
{
var e=cwtb.getTabFromText(tabid,section);
cwtb.setCurrent(tabid,e);
var t=cd.getElements("table",dlgid);
var c=null;
var s;
for(var n=0;n<t.length;n++)
{
e=t[n];
s=cd.getAttr(e,"section");
if(s)
{
if(s==section) c=e;
cd.setShow(e,false);
}
}
if(c)
{
cd.setShow(c,true);
cdl.setFocus(c);
}
CLASMA.pointview.resize();
},
onnexttab:function(e,tab)
{
var id=tab+"tab";
var t=cwtb.getCurrent(id);
if(!t) return;
t=cd.getNext(t);
if(!t) return;
t.onclick();
t=cd.getNext(t);
if(!t || cd.getClass(t)=="tabsep")
cd.setDisplay(e,"none");
},
ontabclick:function(tab)
{
var e=cwtb.getTabFromText("overviewtab",tab);
cwtb.setCurrent("overviewtab",e);
getTab(tab);
},
ontreetoggle:function()
{
var n=cwt.locateNode(this);
treeToggle(n);
},
ontreedrag:function(e)
{
if(!cdr.isDragReady()) return;
var c=$("vcedcolumn1");
if(!c) return;
var n=cwt.locateNode(cf.getTarget(e));
var f=n.getAttribute("form");
var cid=f.substr(8);
var t=cd.createElement("div");
cd.setClass(t,"vcedcontent");
t.setAttribute("menu","inline:"+cid);
t.setAttribute("cid",cid);
c.insertBefore(t,c.firstChild);
ca.setWait(t);
cdr.startItemDrag(e,t,"0");
var callback=function(r) {cdr.updateItemDrag(t);}
var url="gateway/content.asp";
var args=new argu();
args.add("fetch",cid);
ca.include(url,t,args.get(),callback);
},
ontreeclick:function()
{
var n=cwt.locateNode(this);
cwt.selectNode(n);
getObject(n);
},
oncontextmenu:function(e)
{
var t=cf.getTarget(e);
var anch=(cd.getTag(t)=="a");
var p=t;
var m=null;
while(p && p.getAttribute)
{
m=cd.getAttr(p,"menu");
if(m) break;
if(anch)
{
m=cd.getAttr(p,"form");
if(m) break;
}
var i=cd.getId(p);
if(i=="future" || i=="people")
{
m=i;
break;
}
p=cd.getParent(p);
}
if(!m)
{
if(!cwt.locateNode(t))
cwc.destroy();
}
else setContext(e,m);
return cf.oncheckexempt(e);
},
oncontext:function(id)
{
var s=id.split(",");
var type=s.length>0?s[0]:null;
var arg1=s.length>1?s[1]:null;
var arg2=s.length>2?s[2]:null;
switch(type)
{
case "add": CLASMA.pointview.onnew(arg1,arg2,contextId); break;
case "view": CLASMA.pointview.onview(null,contextType,contextId); break;
case "edit": break;
case "delete": CLASMA.pointview.ondelete(contextType,contextId); break;
case "remove": break;
case "mail": CLASMA.pointview.onemail(contextType,contextId); break;
case "assume": CLASMA.online.strip.onassume(contextId); break;
case "prop": CLASMA.pointview.onedit(contextType,contextId); break;
}
contextHit=true;
},
onsearchchange:function(e)
{
if(timerId!=null)
{
clearTimeout(timerId);
timerId=null;
}
var filter=$("c_search").value;
if(filter!=curFilter)
{
switch(cf.getKey(e))
{
case cf.K_RETURN:
CLASMA.pointview.onsearchtimer(filter);
break;
default:
timerId=setTimeout(function(){CLASMA.pointview.onsearchtimer(filter);},500);
break;
}
}
return true;
},
onsearchtimer:function(filter)
{
getList("peopletree","people",filter,false);
curFilter=filter;
},
onfindpress:function(e)
{
if(cf.getKey(e)==cf.K_RETURN)
{
CLASMA.pointview.onfetchlist();
return false;
}
return true;
},
onfetchlist:function()
{
var e=$("c_existlist");
var h="<div style=\"margin:5px\">"+ca.makeMsg()+"</div>";
cd.setHtml(e,h);
var callback=function(r)
{
if(ca.isValid(r))
{
if(r.responseText!=RS_OK)
{
cd.setDisplay("pickimage","none");
cd.setAttr("next1","disabled","disabled");
cd.setHtml(e,r.responseText);
listSel=null;
listData=null;
}
}
else invalidDialog(r);
}
var url="gateway/pick.asp";
var args=new argu();
args.add("source","existing");
args.add("filter",getFormField("persondlg","_findname"));
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
onnew:function(type,parent,parentid,gateway,eid,tid,sid,id,pid)
{
contextHit=false;
newParent=parent;
newId=parentid;
var title="Add ";
switch(type)
{
case "event": title+="Project"; break;
case "presentation": title+="Participant"; break;
default: title+=type.toTitle(); break;
}
var url="gateway/"+type+".asp";
var args=new argu();
args.add("source","new");
args.add("parent",parentid);
args.add("gateway",gateway);
args.add("eid",eid);
args.add("tid",tid);
args.add("sid",sid);
args.add("id",id);
args.add("pid",pid);
getDialog(title,url,args.get(),type+"dlg");
},
onnewpresentation:function(sid)
{
parentId=sid;
var url="gateway/participant.asp";
var args=new argu();
args.add("source","new");
getDialog("Add Participant",url,args.get(),"persondlg");
},
onpersonchange:function()
{
var p=$("c_existlist");
var c=cwl.getCurrent(p);
listData=c?cd.getAttr(c,"data"):null;
var i=c?cd.getAttr(c,"image"):null;
p=$("pickimage");
if(i && p) cd.setSrc(p,i);
cd.setDisplay(p,c?"block":"none");
cd.setAttr("next1","disabled",c?"":"disabled");
},
onaddperson:function()
{
if(cd.getAttr("next1","disabled")=="disabled")
return;
cdl.destroy("persondlg");
CLASMA.pointview.onselectrole(listData);
},
onselectrole:function(pid)
{
newParent="sid";
newId=parentId;
var url="gateway/role.asp";
var args=new argu();
args.add("source","new");
args.add("person",pid);
getDialog("Add Participant",url,args.get(),"presentationdlg");
},
oncreateenable:function()
{
var enable=($("email").value!="" && $("fname").value!="" &&
$("lname").value!="" && $("company").value!="");
cd.setAttr("next2","disabled",enable?"":"disabled");
return true;
},
oncreateperson:function()
{
if(cd.getAttr("next2","disabled")=="disabled")
return;
CLASMA.pointview.onsave("persondlg",true);
},
onrolechange:function()
{
var c=cwl.getCurrent("rolelist");
cd.setHtml("roledesc",cd.getAttr(c,"desc"));
},
onview:function(e,type,id,bread,breadid)
{
if(e) cf.cancelBubble(e);
gotoView(type,id,bread,breadid);
},
onviewtab:function(type,id,tab)
{
gotoTab(type,id,tab);
},
onedit:function(type,id,tab)
{
var title;
contextHit=false;
if(type=="person" && id==userId) title="My Profile";
else
{
switch(type)
{
case "event": title="Project"; break;
case "note": title="History"; break;
default: title=type.toTitle(); break;
}
title+=" Properties";
}
if(userAdmin || orgAdmin) title+=" ("+id+")";
var u=(type=="submission")?"presentation":type;
var url="gateway/"+u+".asp";
var args=new argu();
args.add("source",id);
if(type=="submission") args.add("submission","y");
getDialog(title,url,args.get(),u+"dlg",false,tab);
},
ondelete:function(type,id)
{
contextHit=false;
if(type=="person")
{
msgBox("People cannot be deleted.")
return;
}
var ok=confirm("Are you sure you want to delete this "+type+"?");
if(!ok) return;
var callback=function(r)
{
if(ca.isValid(r))
{
if(r.responseText==RS_OK)
{
refreshTree(type,id,3);
if(type==viewType && id==viewId) gotoHome();
else refreshContent();
}
else msgBox("The server has failed to delete this item.");
}
else invalidDialog(r);
}
var url="gateway/delete.asp";
var args=new argu();
args.add("source",args.opt(type,id));
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
onsave:function(id,details)
{
if(disableAction) return;
var ee=$("rolelist");
if(ee && !cwl.getCurrent(ee))
{
msgBox("You must select a role for this presenter.");
return;
}
var tabid=id.replace("dlg","tab");
var gateway=getFormField(id,"_gateway");
var field=getFormField(id,"_field");
var source=getFormField(id,"_source");
var args=packForm(id,tabid,"editform");
if(!args) return;
if(!checkEmail(id,tabid)) return;
if(source=="new" && gateway!="person" && newParent)
{
if(args!="") args+="&";
args+=encodeURIComponent(newParent)+"="+encodeURIComponent(newId);
}
var callback=function(r)
{
disableAction=false;
if(ca.isValid(r))
{
if(r.responseText.indexOf(RS_OK)==0)
{
var s=r.responseText.split(":");
var pid=s.length>1?s[1]:null;
var update=false;
if(gateway=="person")
{
update=!details;
if(source==userId)
{
refreshDetails("details");
refreshDetails("todo");
}
}
else update=true;
if(update)
{
if(source=="new")
{
if(contextHit) refreshTree(contextType,contextId,1);
else refreshTree(viewType,viewId,1);
}
else refreshTree(gateway,source,2);
if(gateway=="member" || gateway=="task")
refreshDetails("todo");
refreshContent();
}
calloutData=null;
var status=(cd.getValue("_kickstatus")=="-1");
CLASMA.pointview.onclose(id);
if(details) CLASMA.pointview.onselectrole(pid);
if(status) CLASMA.pointview.onstatus(pid);
}
else
{
msgBox(r.responseText);
}
}
else invalidDialog(r);
}
var url="gateway/update.asp";
try {ca.request(url,ca.POST,args,callback);}
catch(e) {msgBox(e.message);return;}
disableAction=true;
},
onclose:function(id)
{
cdl.destroy(id);
},
onhome:function()
{
gotoHome();
},
onoverview:function(type,id)
{
viewTab="overview";
gotoView(type,id);
},
onperson:function(pid)
{
viewTab="index";
gotoView("person",pid);
},
onreviewpolicy:function()
{
cd.setShow("splash",false);
cd.setShow("container",false);
cd.setShow("blank",true);
var url="gateway/policy.asp";
var args=new argu();
args.add("source","new");
getDialog("Review Privacy Policy",url,args.get(),"policydlg",true);
},
onpolicyaccept:function()
{
cdl.destroy("policydlg");
var callback=function(r)
{
if(ca.isValid(r))
{
showMain();
refreshDetails("todo");
}
else invalidDialog(r);
}
var url="gateway/policy.asp";
var args=new argu();
args.add("accept",userId);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
onpolicydecline:function()
{
cdl.destroy("policydlg");
CLASMA.online.strip.invoke("logout");
},
oncontract:function(id,upload)
{
var url="gateway/contract.asp";
var args=new argu();
args.add("source",id);
if(upload) args.add("upload","y");
getDialog("Confirm Participation",url,args.get(),"contractdlg");
},
oncontractaccept:function(id,upload)
{
for(var n=0;n<4;n++)
{
if(!$("c_con"+(n+1)).checked)
{
msgBox("A required field for participation is not checked.");
return;
}
}
var dist=$("c_distribute").checked;
cdl.destroy("contractdlg");
setContractState("accept",id,dist);
if(upload) CLASMA.pointview.onupload("Upload Presentation","presentation",id,false);
},
oncontractdecline:function(id)
{
cdl.destroy("contractdlg");
setContractState("decline",id);
},
onverbal:function(id)
{
var url="gateway/verbal.asp";
var args=new argu();
args.add("source",id);
getDialog("Verbal Contract",url,args.get(),"verbaldlg");
},
onverbalaccept:function(id)
{
for(var n=0;n<1;n++)
{
if(!$("c_verb"+(n+1)).checked)
{
msgBox("A required field for participation is not checked.");
return;
}
}
var callback=function(r)
{
if(ca.isValid(r))
{
CLASMA.pointview.onclose("verbaldlg");
refreshContent();
}
else invalidDialog(r);
}
var url="gateway/verbal.asp";
var args=new argu();
args.add("accept",id);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
onstatus:function(id)
{
var url="gateway/status.asp";
var args=new argu();
args.add("source",id);
getDialog("Presentation Status",url,args.get(),"statusdlg");
},
onsetstatus:function(id,state,dist,mail)
{
cdl.destroy("statusdlg");
setContractState(state,id,dist,mail);
},
oninvite:function(id)
{
var url="gateway/invite.asp";
var args=new argu();
args.add("source",id);
getDialog("Invite Participant",url,args.get(),"invitedlg");
},
onsendinvite:function(id,presid,mail)
{
var callback=function(r)
{
if(ca.isValid(r)) refreshContent();
else invalidDialog(r);
}
var url="gateway/invite.asp";
var args=new argu();
if(mail)
{
args.add("mail",presid);
args.add("message",cd.getValue("c_invitemsg"));
if(cd.isChecked("c_adddetails")) args.add("details","y");
if(cd.isChecked("c_addlogin")) args.add("login","y");
if(cd.isChecked("c_copyme")) args.add("copy","y");
}
else args.add("nomail",presid);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
if(id) cdl.destroy(id);
},
ondecline:function(id)
{
var ok=confirm("Are you sure you want to decline participation in this session?");
if(!ok) return;
setContractState("decline",id);
},
onfinal:function(id)
{
var ok=confirm("Are you sure you want to finalize participation in this session?");
if(!ok) return;
setContractState("final",id);
},
oncomplete:function(id)
{
var ok=confirm("Are you sure you want to complete this presentation?");
if(!ok) return;
setContractState("complete",id);
},
onemail:function(type,id,filter)
{
var title="Send Mail to ";
if(type=="presentation") title+="Participant";
else
{
if(type=="event") title+="Project";
else title+=type.toTitle();
}
var url="gateway/mail.asp";
var args=new argu();
args.add("source",args.opt(type,id));
args.add("filter",filter?"yes":"no");
getDialog(title,url,args.get(),"maildlg");
},
onemailall:function(e,field,type,id)
{
var b=cd.isChecked(e);
var l=cd.getElements("input","_filter"+field+"_list",null);
if(!l) return;
for(var n=0;n<l.length;n++)
cd.setChecked(l[n],b);
CLASMA.pointview.onemailfilter(type,id);
},
onemailfilter:function(type,id)
{
var callback=function(r)
{
var filt="";
var count="";
var names="";
var to="";
if(ca.isValid(r))
{
var l=r.responseText.indexOf("---count:");
var n=r.responseText.indexOf("---names:");
var m=r.responseText.indexOf("---to:");
if(l>=0 && n>=0 && m>=0)
{
count=r.responseText.substring(9,n);
names=r.responseText.substring(n+9,m);
to=r.responseText.substring(m+6);
filt=names;
}
else filt="Malformed filter response.";
}
else filt="Internal filter error.";
var s="To";
if(count>1) s+=" ("+count+")";
setFormLabel("_filternames",s);
setFormLabel("_mailnames",s);
cd.setValue("_filternames",filt);
cd.setValue("_mailnames",names);
cd.setValue("_mailto",to);
}
var url="gateway/mail.asp";
var args=new argu();
args.add("source",args.opt(type,id));
args.add("filter","get");
for(var n=1;n<10;n++)
{
var f="_filter"+n
var v="";
var m=1;
var e;
switch(n)
{
case 1:
case 2:
while(e=$(f+"_"+m))
{
if(cd.isChecked(e))
{
if(v!="") v=v+",";
v+=cd.getAttr(e,"data");
}
if(n==2 && m==7) m+=2;
m++;
}
break;
case 3:
case 4:
case 5:
if(cd.isChecked(f)) v="yes";
break;
default:
var yes=cd.isChecked(f+"_yes");
var no=cd.isChecked(f+"_no");
if((yes || no) && !(yes && no))
v=yes?"yes":"no";
break;
}
args.add("f"+n,v);
}
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message); return;}
setFormLabel("_filternames","To");
setFormLabel("_mailnames","To");
cd.setValue("_filternames","Requesting content...");
},
onsend:function(id,gateway,ref)
{
if(disableAction) return;
var to=cd.getValue("_mailto");
if(to=="")
{
msgBox("No mail recipients.");
return;
}
if(id=="maildlg")
{
var a=packForm(id,"mailtab","editform");
if(!a) return;
}
var callback=function(r)
{
disableAction=false;
if(ca.isValid(r))
{
if(processResponse(r))
CLASMA.pointview.onclose(id);
}
else invalidDialog(r);
}
var url="gateway/send.asp";
var args=new argu();
args.add("source",args.opt(gateway,ref));
args.add("to",to);
args.add("from",cd.getValue("_mailfrom"));
args.add("copy",cd.isChecked("_mailcopy")?"y":"n");
var c=$("_mailcopytrack");
if(c) args.add("copytrack",c.checked?"y":"n");
c=$("_mailcopysession");
if(c) args.add("copysession",c.checked?"y":"n");
args.add("visible",cd.isChecked("_mailvisible")?"y":"n");
args.add("subject",cd.getValue("_mailsubject"));
args.add("body",cd.getValue("_mailbody"));
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message); return;}
disableAction=true;
},
onemailpassword:function(user)
{
var ok=confirm("Are you sure you want to send this persons password Email?");
if(!ok) return;
var callback=function(r)
{
if(ca.isValid(r))
{
if(r.responseText==RS_OK) msgBox("Password Email has been successfully sent to this person.");
else msgBox("An error occured trying to send this persons password Email.");
}
else invalidDialog(r);
}
var url="gateway/request.asp";
var args=new argu();
args.add("user",user);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
onemailactivation:function(user)
{
var ok=confirm("Are you sure you want to send this persons activation Email?");
if(!ok) return;
var callback=function(r)
{
if(ca.isValid(r))
{
if(r.responseText==RS_OK) msgBox("Activation Email has been successfully sent to user.");
else msgBox("An error occured trying to send this users activation Email.");
}
else invalidDialog(r);
}
var url="gateway/signup.asp";
var args=new argu();
args.add("resend",user);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
onupload:function(title,source,ref,conf,eid,tid,sid,id,pid)
{
if(conf)
{
CLASMA.pointview.oncontract(ref,true);
return;
}
newParent=null;
newId=null;
var url="gateway/upload.asp";
var args=new argu();
args.add("source",args.opt(source,ref));
args.add("eid",eid);
args.add("tid",tid);
args.add("sid",sid);
args.add("id",id);
args.add("pid",pid);
getDialog(title,url,args.get(),"uploaddlg");
},
onuploadsubmit:function(convert,types)
{
if(!packForm("uploaddlg",null,"editform"))
return false;
var s=cd.getValue("_sourfile1");
var m=s.parseFile();
var e=m.ext.toLowerCase();
if(types.indexOf("."+e+",")==-1)
{
msgBox("File type '"+e+"' is not valid for upload.");
return false;
}
s=cd.getValue("_destfile1");
var n=s.parseFile();
cd.setValue("_destfile1",n.path+n.file+"."+e);
if(cd.getValue("_destexist1")=="yes")
{
var ok=confirm("A version of this file has previously been uploaded.\nDo you want to overwrite it?");
if(!ok) return false;
}
cd.setDisplay("uploadstep1","none");
cd.setDisplay("uploadstep2","");
var callback=function(r)
{
if(ca.isValid(r))
{
uploadResult=r;
if(convert)
{
cd.setHtml("progressmsg","Your file is now being converted. Please wait...");
CLASMA.pointview.onconvert(cd.getValue("_id"));
}
else
{
cd.setDisplay("uploadstep2","none");
cd.setDisplay("uploadstep1","");
cdl.destroy("uploaddlg");
refreshContent();
processResponse(r);
}
}
else
{
cd.setDisplay("uploadstep2","none");
cd.setDisplay("uploadstep1","");
msgBox("An error has occured during upload.\nMake sure the file you have specified exists and try again.");
}
}
var f=document.forms["editform"];
ca.submitMultiForm(f,callback);
return true;
},
onconvert:function(id)
{
var callback=function(r)
{
cd.setDisplay("uploadstep2","none");
cd.setDisplay("uploadstep1","");
if(ca.isValid(r))
{
cdl.destroy("uploaddlg");
refreshContent();
processResponse(uploadResult);
}
else msgBox("An error has occured converting your file.\nMake sure the file is valid and try again.");
}
var url="gateway/convert.asp";
var args=new argu();
args.add("source",args.opt("presentation",id));
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
onfilechange:function(e)
{
var v=cd.getValue(e);
var n=v.parseFile().file;
cd.setValue("_title",n);
},
onpage:function(page)
{
getView(viewType,viewId,viewBread,viewBreadId,page);
},
onpagecolumns:function(w)
{
var pc=(cd.getValue("width1").indexOf("%")!=-1);
var c=parseInt($("columns").value)-1;
cd.setDisplay("c_width2",c>0?"":"none");
cd.setDisplay("c_width3",c>1?"":"none");
cd.setDisplay("c_spacing1",c>0?"":"none");
cd.setDisplay("c_spacing2",c>1?"":"none");
w=parseInt(w);
var w1=pc?["100%","20%","20%"]:[w+"px","160px","160px"];
var w2=pc?["","79%","45%"]:["",(w-(160+10))+"px",(w-((160+10)+10+200))+"px"];
var w3=pc?["","","33%"]:["","","200px"];
cd.setValue("width1",w1[c]);
cd.setValue("width2",w2[c]);
cd.setValue("width3",w3[c]);
var s1=pc?["","1%","1%"]:["","10px","10px"];
var s2=pc?["","","1%"]:["","","10px"];
cd.setValue("spacing1",s1[c]);
cd.setValue("spacing2",s2[c]);
CLASMA.pointview.onpagecheck(w);
},
onpagecheck:function(w)
{
var pc=(cd.getValue("width1").indexOf("%")!=-1);
var w1=parseInt(cd.getValue("width1"));
var w2=cd.isVisible("c_width2")?parseInt(cd.getValue("width2")):0;
var w3=cd.isVisible("c_width3")?parseInt(cd.getValue("width3")):0;
var s1=cd.isVisible("c_spacing1")?parseInt(cd.getValue("spacing1")):0;
var s2=cd.isVisible("c_spacing2")?parseInt(cd.getValue("spacing2")):0;
if(isNaN(w1)) w1=0;
if(isNaN(w2)) w2=0;
if(isNaN(w3)) w3=0;
if(isNaN(s1)) s1=0;
if(isNaN(s2)) s2=0;
var t=w1+s1+w2+s2+w3;
var m=pc?100:parseInt(w);
var s=t+(pc?"%":"px")
if(t>m) s="<div class=\"badvalue\">"+s+"</div>";
cd.setHtml("c_pagetotal",s);
cd.setHtml("c_pagewidth",pc?"100%":(w+"px"));
},
oncontextview:function(dlgid,type,id,bread,breadid)
{
CLASMA.pointview.onclose(dlgid);
viewTab="overview";
gotoView(type,id,bread,breadid);
},
oncommentfocus:function(e)
{
if(inputOk) return;
e.value="";
inputOk=true;
},
onhisttoggle:function(b)
{
var bb=cd.getElements("div","c_histbar","iconuu");
for(var n=0;n<bb.length;n++)
cd.setClass(bb[n],"icondd");
var bb=cd.getElements("div","c_histbar","icondd");
var box=["c_commentbox","c_filterbox"];
for(n=0;n<box.length;n++)
{
var e=$(box[n]);
var v=(n==b?(cd.getDisplay(e)=="block"):true);
cd.setClass(bb[n],v?"icondd":"iconuu");
cd.setDisplay(e,v?"none":"block");
}
CLASMA.pointview.resize();
},
oncommentbtn:function(source,id,type)
{
var e=$("c_comment");
if(inputOk)
{
var note=cd.getValue(e);
if(note!="") CLASMA.pointview.onaddcomment(null,source,id,type,note);
}
else cf.setFocus(e);
},
onaddcomment:function(id,source,ref,type,note)
{
if(disableAction) return;
var callback=function(r)
{
disableAction=false;
if(ca.isValid(r))
{
if(id) CLASMA.pointview.onclose(id);
refreshContent();
}
else invalidDialog(r);
}
var url="gateway/comment.asp";
var args=new argu();
args.add("source",args.opt(source,ref));
args.add("type",type);
args.add("note",note);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message); return;}
disableAction=true;
},
onforumicon:function(action,nid)
{
if(disableAction) return;
var callback=function(r)
{
disableAction=false;
if(ca.isValid(r)) refreshContent();
else invalidDialog(r);
}
var url="gateway/comment.asp";
var args=new argu();
args.add(action,nid);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message); return;}
disableAction=true;
},
onsubmit:function(id)
{
newParent="sid";
newId=id;
var url="gateway/submit.asp";
var args=new argu();
args.add("source",id);
getDialog("Submit",url,args.get(),"submitdlg",false);
},
onaddmanager:function()
{
var mn=$("_managername");
var ml=$("_managerlist");
var mm=$("_managers");
var n=cd.getValue(mn);
var p=cd.getAttr(mn,"data");
if(p!=null && p!="")
{
var m=cd.getAttr(mm,"data");
var s="pid"+p+"=";
var i=m.indexOf(s);
if(i==-1)
{
if(m!="") m+=",";
m+="pid"+p+"=1111";
cd.setAttr(mm,"data",m);
var e=cwl.addItem(ml,n,p);
cwl.onselect(ml,e);
}
cwl.clearEntry(mn);
}
},
onremovemanager:function()
{
var mn=$("_managername");
var ml=$("_managerlist");
var mo=$("_manageropt");
var mm=$("_managers");
var e=cwl.getCurrent(ml);
if(e)
{
var p=cd.getAttr(e,"data");
var m=cd.getAttr(mm,"data");
var s="pid"+p+"=";
var i=m.indexOf(s);
if(i!=-1)
{
m=m.substr(0,i)+m.substr(i+s.length+5);
if(m.substr(m.length-1,1)==",") m=m.substr(0,m.length-1);
cd.setAttr(mm,"data",m);
}
cwl.removeItem(ml,e);
cd.setShow(mo,false);
}
cwl.clearEntry(mn);
},
onselectmanager:function()
{
var ml=$("_managerlist");
var mo=$("_manageropt");
var mm=$("_managers");
var e=cwl.getCurrent(ml);
if(e)
{
var p=cd.getAttr(e,"data");
var m=cd.getAttr(mm,"data");
var s="pid"+p+"=";
var i=m.indexOf(s);
if(i!=-1)
{
m=m.substr(i+s.length,4);
for(var n=0;n<4;n++)
cd.setChecked("_manageropt"+(n+1),m.substr(n,1)=="1");
cd.setShow(mo,true);
}
}
else cd.setShow(mo,false);
},
onmanageropt:function()
{
var ml=$("_managerlist");
var mm=$("_managers");
var e=cwl.getCurrent(ml);
if(e)
{
var p=cd.getAttr(e,"data");
var m=cd.getAttr(mm,"data");
var s="pid"+p+"=";
var i=m.indexOf(s);
if(i!=-1)
{
var o="";
for(var n=0;n<4;n++)
o+=cd.isChecked("_manageropt"+(n+1))?"1":"0";
i+=s.length;
m=m.substr(0,i)+o+m.substr(i+4);
cd.setAttr(mm,"data",m);
}
}
},
onadddelegate:function()
{
var mn=$("_delegatename");
var ml=$("_delegatelist");
var mm=$("_delegates");
var n=cd.getValue(mn);
var p=cd.getAttr(mn,"data");
if(p!=null && p!="")
{
var m=cd.getAttr(mm,"data");
var d=","+m+",";
var s=","+p+",";
var i=d.indexOf(s);
if(i==-1)
{
if(m!="") m+=",";
cd.setAttr(mm,"data",m+p);
var e=cwl.addItem(ml,n,p);
cwl.onselect(ml,e);
}
cwl.clearEntry(mn);
}
},
onremovedelegate:function()
{
var mn=$("_delegatename");
var ml=$("_delegatelist");
var mm=$("_delegates");
var e=cwl.getCurrent(ml);
if(e)
{
var p=cd.getAttr(e,"data");
var m=cd.getAttr(mm,"data");
var d=","+m+",";
var s=","+p+",";
var i=d.indexOf(s);
if(i!=-1)
{
d=d.substr(0,i)+","+d.substr(i+s.length);
d=d.substr(1,d.length-2);
cd.setAttr(mm,"data",d);
}
cwl.removeItem(ml,e);
}
cwl.clearEntry(mn);
},
onpreview:function(rid,eid,tid,sid,id,pid)
{
var c=$("tabcontent");
var callback=function(r)
{
setCrumbWait(false);
if(ca.isValid(r))
{
cd.setHtml(c,r.responseText);
CLASMA.pointview.resize();
}
else ca.setInvalid(c,r);
}
var url="gateway/report.asp";
var args=new argu();
args.add("view",rid);
args.add("eid",eid);
args.add("tid",tid);
args.add("sid",sid);
args.add("id",id);
args.add("pid",pid);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {ca.setError(c,e.message); return;}
setCrumbWait(true);
},
onpublish:function(sid)
{
var ok=confirm("Are you sure you want to publish this site?");
if(!ok) return;
var callback=function(r)
{
if(ca.isValid(r))
{
if(r.responseText==RS_OK)
{
msgBox("Site published successfully.");
refreshContent();
}
else
{
var s=r.responseText.split(":");
msgBox("Site could not be published: "+s[1]+".");
}
}
else invalidDialog(r);
}
var url="gateway/publish.asp";
var args=new argu();
args.add("source",sid);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
oneditpage:function(pid)
{
editpid=pid;
var url="gateway/page.asp";
var args=new argu();
args.add("compose",pid);
getTabContent(url,args.get());
},
onsavepage:function(pid,force)
{
if(force || cdr.isDirty())
{
cdr.setDirty(false);
var callback=function(r)
{
setCrumbWait(false);
if(ca.isValid(r))
{
if(!force) getOverviewTab();
}
else invalidDialog(r);
}
var url="gateway/page.asp";
var args=new argu();
args.add("save",pid);
var e=$("vcedheader");
if(e) args.add("h",getContentIds(e));
for(var n=1;n<4;n++)
{
e=$("vcedcolumn"+n);
var w="";
var c="";
if(e)
{
w=cd.getStyle(e).width;
c=getContentIds(e);
}
args.add("w"+n,w);
args.add("c"+n,c);
}
e=$("vcedfooter");
if(e) args.add("f",getContentIds(e));
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message); return;}
setCrumbWait(true);
}
else if(!force) getOverviewTab();
},
oncancelpage:function()
{
if(cdr.isDirty())
{
var ok=confirm("Discard changes made to this page?");
if(!ok) return;
cdr.setDirty(false);
}
getOverviewTab();
},
oncontent:function(cid)
{
var url="gateway/content.asp";
var args=new argu();
args.add("view",cid);
getTabContent(url,args.get());
},
oneditcontent:function(cid)
{
window.thiscid=cid;
editcid=cid;
var url="gateway/content.asp";
var args=new argu();
args.add("compose",cid);
args.add("width","100%");
args.add("height",getComposeHeight());
getTabContent(url,args.get());
},
onsavecontent:function(cid,force)
{
var e=FCKeditorAPI.GetInstance("compose");
if(force || e.IsDirty())
{
if(e.EditorDocument)
{
var de=e.EditorDocument.getElementsByTagName("span");
for(var n=0;n<de.length;n++)
{
var d=cd.getAttr(de[n],"dynamic");
if(d) cd.setHtml(de[n],d.toUpperCase());
}
}
e.ResetIsDirty();
var callback=function(r)
{
setCrumbWait(false);
if(ca.isValid(r))
{
if(!force) getCurrentTab();
}
else invalidDialog(r);
}
var url="gateway/content.asp";
var args=new argu();
args.add("save",cid);
args.add("content",e.GetData(true));
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message); return;}
setCrumbWait(true);
}
else if(!force) getCurrentTab();
},
oncancelcontent:function()
{
var e=FCKeditorAPI.GetInstance("compose");
if(e.IsDirty())
{
var ok=confirm("Discard changes made to this content?");
if(!ok) return;
e.ResetIsDirty();
}
getCurrentTab();
},
ontaskstatus:function(tid,status)
{
setTaskStatus(tid,status);
},
onfile:function(fid)
{
gotoPreview("file",fid);
},
onlink:function(lid)
{
gotoPreview("link",lid);
},
onfeed:function(fid)
{
gotoPreview("feed",fid);
},
onfeedempty:function(fid)
{
var ok=confirm("Are you sure you want to empty this feed?");
if(!ok) return;
var callback=function(r)
{
if(ca.isValid(r)) refreshContent();
else invalidDialog(r);
}
var url="gateway/feed.asp";
var args=new argu();
args.add("empty",fid);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
onfeedupdate:function(fid)
{
var callback=function(r)
{
if(ca.isValid(r))
{
refreshContent();
processResponse(r);
}
else invalidDialog(r);
}
var url="gateway/feed.asp";
var args=new argu();
args.add("update",fid);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
onjoin:function(type,pid,oid)
{
var o=(!pid || pid==userId);
var s=o?"you want to":"this person should";
var ok=confirm("Are you sure "+s+" join this organization?");
if(!ok) return;
var callback=function(r)
{
if(ca.isValid(r))
{
if(processResponse(r))
{
if(o) refreshDetails("details");
refreshDetails("todo");
refreshContent();
}
}
else invalidDialog(r);
}
if(!pid) pid=userId;
var url="gateway/organization.asp";
var args=new argu();
args.add(type,args.opt(pid,oid));
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
onleave:function(pid,oid)
{
var o=(!pid || pid==userId);
var s=o?"you want to":"this person should";
var ok=confirm("Are you sure "+s+" leave this organization?");
if(!ok) return;
var callback=function(r)
{
if(ca.isValid(r))
{
if(processResponse(r))
{
refreshDetails("todo");
if(o && oid==orgId) cf.reloadSite();
else refreshContent();
}
}
else invalidDialog(r);
}
if(!pid) pid=userId;
var url="gateway/organization.asp";
var args=new argu();
args.add("leave",args.opt(pid,oid));
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
onorganization:function(e)
{
if(e) cf.cancelBubble(e);
var callback=function(r)
{
if(ca.isValid(r))
{
var b=cd.getBoundingBox("c_orgselect");
var m=r.responseText.split(",");
if(cdd.ie) {b.left-=2; b.bottom-=2;}
cwc.create(b.left,b.bottom-1,m,CLASMA.pointview.onorgcontext);
removeMoveTab();
removeCallout();
}
else invalidDialog(r);
}
var url="gateway/organization.asp";
var args=new argu();
args.add("menu",userId);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
onorgcontext:function(oid)
{
var callback=function(r)
{
if(ca.isValid(r))
{
if(processResponse(r))
cf.reloadSite();
}
else invalidDialog(r);
}
var url="gateway/organization.asp";
var args=new argu();
args.add("select",args.opt(userId,oid));
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
oneventview:function(view)
{
eventView=view;
refreshTab();
},
ontrackview:function(view)
{
trackView=view;
refreshTab();
},
onforumview:function(view)
{
forumView=view;
refreshTab();
},
onfeedview:function(view)
{
feedView=view;
refreshTab();
},
ontaskview:function(view)
{
taskView=view;
refreshTab();
},
ontracktype:function(e)
{
var t=cd.getValue(e);
cd.setDisplay("c_trackdates",t==0?"":"none");
cd.setDisplay("c_tracksubdates",t==1?"":"none");
},
ontrackday:function()
{
var c=$("days");
var d=cd.getValue("day");
var e=cd.getElements("option",c);
if(!e) return;
var t=e.length;
var m=(t-d);
for(var n=0;n<t;n++)
{
cd.setDisplay(e[n],n<m?"":"none");
cd.setDisabled(e[n],n>=m);
}
n=cd.getValue(c);
if(n>=m-1) cd.setValue(c,m-1);
},
onfeedtype:function(e)
{
var t=cd.getValue(e);
cd.setDisplay("c_feedexternal",t==1?"":"none");
},
onhistsearch:function(clear)
{
if(clear)
{
histType="";
histSearch="";
histDate="";
}
else
{
histType=cd.getValue("c_histtype");
histSearch=cd.getValue("c_histsearch");
histDate=cwcd.formatSqlDate(cd.getValue("c_histdate"));
}
refreshContent(true);
},
onprint:function(id)
{
CLASMA.framework.onprint(id);
},
onprintframe:function(id)
{
CLASMA.framework.onprintframe(id);
},
onhelp:function(chapter)
{
CLASMA.framework.help(chapter);
},
resize:function()
{
var ch=cf.getClientHeight();
var bh=cl.floorit(ch,-(hHeight+fHeight));
cd.setHeight("blank",bh);
cd.setHeight("splash",bh);
cd.setHeight("container",bh);
if(cd.isVisible("left"))
{
var t=null;
var c=0;
if(cd.isVisible("objectscontent"))
{
if(cd.isVisible("future")) t="future";
if(cd.isVisible("past")) t="past";
if($("contents")) c++;
if($("administration")) c++;
}
if(cd.isVisible("contentscontent"))
{
if(cd.isVisible("sevents")) t="sevents";
if(cd.isVisible("content")) t="content";
if($("administration")) c++;
}
if(cd.isVisible("administrationcontent"))
{
if(cd.isVisible("people")) t="people";
}
if(t)
{
var h=parseInt($("details").offsetHeight);
var o=(c*h)-1;
if(cdd.firefox) o+=2;
if(cdd.safari || cdd.chrome) o+=3;
bh=cl.floorit(ch,-(cd.getBoundingBox(t).top+o+(8+fHeight)));
cd.setHeight(t,bh);
}
}
else cd.setHeight("lefthidecontent",bh-18);
var o=0;
if(cdd.ie) o--;
if(cdd.firefox) o++;
if(cdd.safari || cdd.chrome) o+=2;
var e=$("tabscroll");
if(e)
{
bh=cl.floorit(ch,-(cd.getBoundingBox(e).top+o+(8+fHeight)));
cd.setHeight(e,bh);
if(cdd.ie && (viewTab=="review" || viewTab=="forum" || viewTab=="history"))
{
var h1=cd.getBoundingBox(e).height;
var h2=cd.getScrollHeight(e);
cd.getStyle(e).paddingRight=(h1<h2)?"17px":"";
}
}
e=$("viewcontent");
if(e)
{
if(cd.getTag(e)!="iframe") o+=20;
bh=cl.floorit(ch,-(cd.getBoundingBox(e).top+o+(8+fHeight)));
cd.setHeight(e,bh);
cd.setHeight("viewlist",bh);
}
e=$("compose___Frame");
if(e)
{
bh=getComposeHeight();
cd.setHeight(e,bh);
}
},
resizeDialog:function(id)
{
var w=532;
var h=Math.round((cf.getClientHeight()/8)*6);
if(h<300) h=300;
if(h>550) h=550;
cd.setWidth(id+"_form",w);
cd.setHeight(id+"_form",h-92);
var ef=null;
var e;
var q=cd.getElements("div",id,"editformframe");
if(q.length>0)
{
ef=q[0];
if(ef && cd.isVisible(ef))
cd.setHeight(ef,cl.floorit(h,-111));
}
q=cd.getElements("div",id,"editform");
if(q.length>0)
{
ef=q[0];
if(ef && cd.isVisible(ef))
cd.setHeight(ef,cl.floorit(h,-87));
}
if($("invitedlg"))
{
e=$("message");
if(e) cd.setWidth(e,cl.floorit(w,-42));
}
w=cl.floorit(w,-44);
h=cl.floorit(h,-202);
if($("submitdlg"))
h=cl.floorit(h,23);
var ta=cd.getElements("textarea",id,"fullarea");
for(var n=0;n<ta.length;n++)
{
e=ta[n];
if(e && cd.isVisible(e))
{
cd.setWidth(e,w);
cd.setHeight(e,h);
}
}
if($("maildlg") && $("_mailnames"))
{
w=cl.floorit(w,-96);
cd.setWidth("_mailnames",w+2);
cd.setWidth("_mailsubject",w);
cd.setWidth("_filternames",w+2);
e=$("_mailbody");
if(e && ef)
{
var bf=cd.getBoundingBox(ef);
w=cl.floorit(w,-14);
h=cl.floorit(bf.height,-191);
if(cdd.firefox) h-=12;
cd.setWidth(e,w);
cd.setHeight(e,h);
cd.getStyle(e).margin="5px 0px 0px 0px";
}
}
},
getDispatchUrl:function(args)
{
return "/pv/gateway/strip.asp";
},
onstriphome:function()
{
},
onstriplogin:function(user)
{
CLASMA.pointview.onstripprofile(user);
var callback=function(r)
{
if(ca.isValid(r))
{
var h=processInfo(r.responseText);
cd.setHtml("container",h);
initMain();
}
else invalidDialog(r);
}
var url="gateway/display.asp";
var args=new argu();
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {msgBox(e.message);}
},
onstripassume:function(user)
{
window.location.hash="";
CLASMA.pointview.onstriplogin(user);
},
onstriplogout:function()
{
CLASMA.pointview.onstripprofile(null);
cd.setShow("blank",false);
cd.setShow("container",false);
cd.setShow("splash",true);
document.title="PointView - Login";
cd.setHtml("container","");
ch.destroy();
},
onstripprofile:function(user)
{
can.setUserVar(CLASMA.pointview.tracker,user);
},
onstripupdate:function()
{
refreshDetails("details");
refreshDetails("todo");
refreshContent();
}
}; }();
CLASMA.pointview.tracker=CLASMA.analytics.create(null);
CLASMA.dom.addDomLoadEvent(CLASMA.pointview.onload);
CLASMA.namespace("CLASMA.online.strip");
CLASMA.online.strip=function() {
var cl=CLASMA.lang;
var cdd=CLASMA.detect;
var cc=CLASMA.cookie;
var cd=CLASMA.dom;
var cf=CLASMA.framework;
var ca=CLASMA.ajax;
var can=CLASMA.analytics;
var co=(typeof CLASMA.online.site=="undefined")?
CLASMA.pointview:
CLASMA.online.site;
var loggedIn=false;
var loggedPid=null;
var loggedUser="";
var secTest=false;
var secButton=null;
var secAction=null;
var secDialog=null;
var secWidth=0;
var secTab=null;
var secParams=null;
var secRight=false;
var secModal=false;
var secBuffer=false;
var listGroup="major";
var dlgModal=false;
var storeErase="";
var storeSet="";
var storeValues="";
var updateId=1;
var login=function(user,pass,reconnect)
{
var err="Login problem";
showWait("Logging in...");
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
secTest=(!reconnect || typeof CLASMA.pointview!="undefined");
if(!reconnect) storeLogin("yes");
userLogin(resp.info);
co.onstriplogin(loggedUser);
break;
case ca.RS_ACT:
showError(err,
"<h2>Account not activated</h2>"+
"<p>You have not yet activated your account.<br/>"+
"Follow the instructions in your <b>Account Activation</b> Email.</p>");
if(reconnect) storeLogin(null);
break;
case ca.RS_BAD:
showError(err,
"<h2>Incorrect login details</h2>"+
"<p>Your Email address or password is incorrect.<br/>"+
"Please check and try again.</p>"+
"<p>To receive your password, <a onclick=\"CLASMA.online.strip.onreceive()\">click here</a>.</p>");
if(reconnect) storeLogin(null);
break;
default:
showError(err);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","login");
args.add("user",user);
args.add("pass",pass);
args.add("reconnect",reconnect?"y":"n");
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var logout=function()
{
var err="Logout problem";
showWait("Logging out...");
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
storeLogin(null);
if(!cd.isChecked("c_keep"))
{
cd.setValue("c_user","");
cd.setValue("c_pass","");
cd.setChecked("c_keep",true);
}
userLogout()
co.onstriplogout();
break;
case ca.RS_BAD:
showError(err,"<h2>Failed to logout</h2>");
break;
default:
showError(err);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","logout");
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var assume=function(pid,action)
{
var err="Identity assume problem";
showWait("Assuming identity...");
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
userLogin(resp.info);
co.onstripassume(loggedUser);
break;
case ca.RS_BAD:
showError(err,
"<h2>Failed to assume identity</h2>",
"<p>"+resp.info+"</p>");
break;
default:
showError(err);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action",action);
args.add("pid",pid);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var signup=function(email,fname,lname,company,pass)
{
var err="Sign-up problem";
showWait("Signing-up...");
var callback=function(r)
{
if(ca.isValid(r))
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
showInfo("Sign-up successful",
"<h1>Your sign-up request has been accepted</h1>"+
"<p>Check for an <b>Account Activation</b> Email that we<br/>have sent to your sign-up address.</p>"+
"<div class=\"note\">Note: Allow 1-2 minutes for your Email to arrive.</div>");
var email=cd.getValue("c_email");
cd.setValue("c_user",email);
cd.setValue("c_pass","");
enableButtons();
break;
default:
showError(err,r.responseText);
break;
}
}
else showError(err);
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","signup");
args.add("email",email);
args.add("fname",fname);
args.add("lname",lname);
args.add("company",company);
args.add("pass",pass);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var request=function(email)
{
var err="Password request problem";
showWait("Requesting password...");
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
showInfo("Password request accepted",
"<h1>Your password has been sent</h1>"+
"<p>Check your Email and login using the enclosed<br/>Email address and password.</p>"+
"<div class=\"note\">Note: Allow 1-2 minutes for your Email to arrive.</div>");
break;
case ca.RS_BAD:
showError(err,
"<h2>Email address not registered</h2>"+
"<p>Your Email address has not been registered.<br/>"+
"Please check and try again.</p>");
break;
default:
showError(err);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","request");
args.add("email",email);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var membership=function(oid)
{
var err="Membership problem";
showWait("Requesting membership...");
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
showInfo("Membership successful",
"<h1>Membership request accepted</h1>"+
"<div>Your membership request has been accepted.</div>");
break;
default:
showError(err);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","membership");
args.add("oid",oid);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var security=function(pass)
{
var err="Security check problem";
showWait("Security check...");
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
secTest=true;
showMenu(false);
showContent(secButton,secAction,secDialog,secWidth,secTab,secParams,secRight,secModal,secBuffer);
break;
case ca.RS_BAD:
showError(err,
"<h2>Incorrect password</h2>"+
"<p>The password you have entered is incorrect.<br/>"+
"Please check and try again.</p>");
break;
default:
showError(err);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","check");
args.add("pass",pass);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var fetchlist=function(c,action)
{
var err="Request problem";
var callback=function(r)
{
if(ca.isValid(r)) cd.setHtml(c,r.responseText);
else showError(err);
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action",action);
args.add("group",listGroup);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>"); return;}
var l=cd.getElements("div",c,"tabclient");
if(l.length<1) return;
var p=l[0];
cd.setHeight(p,cl.floorit(cd.getBoundingBox(p).height,-21));
ca.setWait(p);
};
var details=function(i,action,type,id,curr)
{
var err="Request problem";
var c=cd.getParentElement(i,null,"stripdialog");
if(!c) return;
c=cd.getElementById(c,id);
if(!c) return;
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
cd.getStyle(c).height="";
cd.setHtml(c,resp.info);
break;
default:
showError(err);
break;
}
if(curr)
{
cd.setId(curr,"");
if(i) cd.setId(i,curr);
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action",action);
args.add("details",type);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>"); return;}
cd.setHeight(c,cl.floorit(cd.getBoundingBox(c).height,-21));
ca.setWait(c);
};
var taskupdate=function(id,title,desc,assignpid,duedate,priority)
{
var err="Task problem";
showWait((id?"Updating":"Creating")+" task...");
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
showStrip();
co.onstripupdate();
break;
case ca.RS_BAD:
showError(err,
"<h2>Failed to update</h2>"+
"<p>The task could not be updated.<br/>"+
"Please try again.</p>");
break;
default:
showError(err);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","tasks");
if(id) args.add("update",id);
else args.add("create",loggedPid);
args.add("title",title);
args.add("description",desc);
args.add("assignpid",assignpid);
args.add("duedate",duedate);
args.add("priority",priority);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var taskpresstatus=function(id,status,dist)
{
var err="Update problem";
showWait("Updating task...");
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
resetTaskList();
co.onstripupdate();
switch(status)
{
case "4":
showInfo("Update successful",
"<h1>Confirmation request accepted</h1>"+
"<div>Your confirmation request has been accepted.</div>");
break;
case "5":
showInfo("Update successful",
"<h1>Make changes request accepted</h1>"+
"<div>Your request to make changes request has been accepted.</div>");
break;
case "6":
showInfo("Update successful",
"<h1>Finalize request accepted</h1>"+
"<div>Your finalize request has been accepted.</div>");
break;
case "10":
showInfo("Update successful",
"<h1>Decline request accepted</h1>"+
"<div>Your decline request has been accepted.</div>");
break;
default:
}
break;
default:
showError(err);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","tasks");
args.add("presstatus",args.opt(id,status));
if(typeof dist!="undefined")
args.add("distribute",dist?"y":"n");
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var taskstatus=function(id,status,dist)
{
var err="Update problem";
showWait("Updating task...");
var callback=function(r)
{
showSpinner(false);
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
showStrip();
co.onstripupdate();
break;
default:
showError(err);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","tasks");
args.add("status",args.opt(id,status));
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>"); return;}
showSpinner(true);
};
var submitfile=function(fid)
{
var err="Update problem";
showWait("Updating...");
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
resetTaskList();
co.onstripupdate();
showMenu(false);
break;
default:
showError(err,r.responseText);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","files");
args.add("submit",fid);
args.add("title",cd.getValue("_title"));
args.add("description",cd.getValue("_description"));
args.add("before",cd.isChecked("_before"));
args.add("during",cd.isChecked("_during"));
args.add("after",cd.isChecked("_after"));
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var deletefile=function(fid)
{
var err="File problem";
showWait("Deleting...");
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
resetTaskList();
co.onstripupdate();
showInfo("Delete successful",
"<h1>File delete request accepted</h1>"+
"<div>Your file has been deleted from the server.</div>");
break;
default:
showError(err,r.responseText);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","files");
args.add("delete",fid);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var submission=function(sid,id,title,abst,topics,notes)
{
var err=(id?"Update":"Submission")+" problem";
showWait(id?"Updating...":"Submitting...");
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
resetSubmitList();
resetTaskList();
co.onstripupdate();
if(id)
{
showMenu(false);
break;
}
showInfo("Submission successful",
"<h1>Your submission is now under review</h1>"+
"<p>You have been sent an Email with further instructions<br/>"+
"to your sign-up address: "+cd.getValue("c_user")+".</p>"+
"<div class=\"note\">Note: Allow 1-2 minutes for your Email to arrive.</div>");
break;
case ca.RS_BAD:
showError(err,
"<h2>Failed to "+(id?"update":"submit")+"</h2>"+
"<p>"+(id?"Your changes could not be updated.":"Your submission could not be processed.")+"<br/>"+
"Please try again.</p>");
break;
default:
showError(err);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","submit");
if(id) args.add("update",id);
else args.add("create",sid);
args.add("title",title);
args.add("abstract",abst);
args.add("topics",topics);
args.add("notes",notes);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var sendmail=function(id,subject,text,managers,speakers,copyme)
{
var err="Email problem";
showWait("Sending...");
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
showInfo("Email successful",
"<h1>Email has been sent</h1>"+
"<p>Your Email has been successfully sent.</p>");
break;
case ca.RS_BAD:
showError(err,
"<h2>Failed to send Email</h2>"+
"<p>Your Email could not be sent.</p>");
break;
default:
showError(err);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","email");
args.add("send",id);
args.add("subject",subject);
args.add("text",text);
args.add("managers",managers?"y":"n");
args.add("speakers",speakers?"y":"n");
args.add("copyme",copyme?"y":"n");
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var sendupload=function(id,ppt)
{
var err="Upload problem";
var callback=function(r)
{
cd.setDisplay("c_uploadwait","none");
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
cd.setDisplay("c_uploadok","");
if(ppt)
{
convertppt(id);
break;
}
resetTaskList();
co.onstripupdate();
showUploadResult(false,
"<h1>Upload successful</h1>"+
"<div>Your file has now been successfully uploaded.</div>");
break;
case ca.RS_BAD:
cd.setDisplay("c_uploadbad","");
showUploadResult(true,
"<h6>Failed to upload file</h6>"+
"<p>"+resp.info+"<br/>Make sure your file exists and try again.</p>");
break;
default:
showError(err);
break;
}
}
var f=document.forms["c_uploadform"];
ca.submitMultiForm(f,callback);
var e=getStripItem("c_menustrip","tasks");
showUploading(e,408,true,true);
};
var convertppt=function(id)
{
var err="Conversion problem";
var callback=function(r)
{
cd.setDisplay("c_convwait","none");
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
cd.setDisplay("c_convok","");
resetTaskList();
co.onstripupdate();
showUploadResult(false,
"<h1>Upload successful</h1>"+
"<div>Your file has now been successfully uploaded.</div>");
break;
case ca.RS_BAD:
cd.setDisplay("c_convbad","");
showUploadResult(true,
"<h6>Failed to convert file</h6>"+
"<p>An error occured during conversion.</p>");
break;
default:
showError(err);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","convert");
args.add("ppt",id);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>"); return;}
cd.setDisplay("c_convwait","");
};
var profile=function(email,salute,fname,lname,cert,tel,mobile,company,title,dept,curl,assname,assemail,asstel,bio,pass)
{
var err="Update problem";
showWait("Updating...");
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
loggedUser=resp.info;
cd.setValue("c_user",email);
cd.setValue("c_femail",email);
if(pass!="") cd.setValue("c_pass",pass);
if(cd.isChecked("c_keep"))
{
storeStart();
storeValue("user",email);
if(pass!="") storeValue("pass",pass);
storeUpdate();
}
co.onstripprofile(loggedUser);
co.onstripupdate();
showUser();
showMenu(false);
break;
case ca.RS_BAD:
showError(err,
"<h2>Failed to update</h2>"+
"<p>Your profile could not be updated.<br/>"+
"Please try again.</p>");
break;
default:
showError(err);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","profile");
args.add("update","0");
args.add("email",email);
args.add("salute",salute);
args.add("fname",fname);
args.add("lname",lname);
args.add("cert",cert);
args.add("tel",tel);
args.add("mobile",mobile);
args.add("company",company);
args.add("title",title);
args.add("dept",dept);
args.add("url",curl);
args.add("assname",assname);
args.add("assemail",assemail);
args.add("asstel",asstel);
args.add("bio",bio);
args.add("pass",pass)
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>");}
};
var heartbeat=function()
{
var callback=function(r)
{
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_OK:
break;
case ca.RS_BAD:
if(!resp.info)
{
userLogout();
co.onstriplogout();
break;
}
userLogin(resp.info);
co.onstripassume(loggedUser);
break;
default:
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action","heartbeat");
args.add("pid",loggedPid);
try {ca.request(url,ca.POST,args.get(),callback);}
catch(e) {}
};
var userLogin=function(info)
{
var s=info.split("=");
loggedIn=true;
loggedPid=s[0];
loggedUser=s[1];
showUser();
showMenu(false);
}
var userLogout=function()
{
loggedIn=false;
loggedPid=null;
loggedUser="";
showUser();
showMenu(true);
}
var showUser=function()
{
var e=getStripItem("c_menustrip","user");
if(!e) return;
cd.setHtml(e,loggedUser?(
"<table cellpadding=\"0\" cellspacing=\"0\">"+
"<tr>"+
"<td style=\"white-space:nowrap\">"+loggedUser+"</td>"+
"<td><div class=\"userbutton\"></div></td>"+
"</tr>"+
"</table>"):"&nbsp;");
cd.setClass(e,loggedUser?"stripbl":"stript");
e.onclick=loggedUser?
function(){CLASMA.online.strip.onstrip(e);}:
function(){CLASMA.online.strip.onhidestrip();};
};
var showUploading=function(button,width,right,show)
{
removeDialogs();
if(!show) return;
cd.setId(button,"stripcur");
cd.setDisplay("c_uploadwait","");
cd.setDisplay("c_uploadok","none");
cd.setDisplay("c_uploadbad","none");
cd.setDisplay("c_convwait","none");
cd.setDisplay("c_convok","none");
cd.setDisplay("c_convbad","none");
cd.setDisplay("c_uploadresult","none");
cd.setDisplay("c_uploadprob","none");
cd.setHtml("c_uploadcancel","Cancel");
showDialog("c_uploading",width,right,true);
};
var showUploadResult=function(bad,info)
{
cd.setHtml("c_uploadresult",info);
cd.setDisplay("c_uploadprob",bad?"":"none");
cd.setDisplay("c_uploadresult","");
cd.setHtml("c_uploadcancel","Close");
};
var showWaiting=function(button,width,right,show)
{
removeDialogs();
if(!show) return;
cd.setId(button,"stripcur");
showDialog("c_waiting",width,right,true);
};
var showSpinner=function(show)
{
cd.setDisplay("c_pvicon",show?"none":"");
cd.setDisplay("c_waiticon",show?"inline":"none");
};
var showWait=function(t)
{
showStrip(t);
};
var showMenu=function(login)
{
displayStripItem("c_menustrip","signup",login);
displayStripItem("c_menustrip","login",login);
displayStripItem("c_menustrip","submit",!login);
displayStripItem("c_menustrip","tasks",!login);
displayStripItem("c_menustrip","profile",!login);
displayStripItem("c_menustrip","logout",!login);
showStrip();
};
var showInfo=function(t,s)
{
cd.setDisplay("c_infowarning","inline");
cd.setDisplay("c_infoerror","none");
showStrip(t,s);
var e=getStripItem("c_infostrip","ok");
if(e) cd.setId(e,"stripcur");
cd.setHtml("c_infocontent",s);
showDialog("c_info",400,false,false);
};
var showError=function(t,s)
{
if(typeof s=="undefined")
s="<h2>Invalid server response</h2>";
cd.setDisplay("c_infowarning","none");
cd.setDisplay("c_infoerror","inline");
showStrip(t,s);
var e=getStripItem("c_infostrip","ok");
if(e) cd.setId(e,"stripcur");
cd.setHtml("c_errorcontent",s);
showDialog("c_error",408,false,false);
};
var showStrip=function(t,s)
{
removeDialogs();
var w=false;
var i=false;
var m=false;
if(s) i=true;
else
{
if(t) w=true;
else m=true;
}
if(!w) removeBack();
cd.setDisplay("c_waitstrip",w?"block":"none");
cd.setDisplay("c_infostrip",i?"block":"none");
cd.setDisplay("c_menustrip",m?"block":"none");
var e=null;
if(w) e=getStripItem("c_waitstrip","text");
if(i) e=getStripItem("c_infostrip","text");
if(e) cd.setHtml(e,t);
};
var showAbout=function(e)
{
var args=new argu();
args.add("font",cookie_font);
args.add("fontsize",cookie_fontsize);
args.add("fontspace",cookie_fontspace);
args.add("theme",cookie_theme);
args.add("hue",cookie_hue);
args.add("saturation",cookie_saturation);
args.add("lightness",cookie_lightness);
args.add("background",cookie_background);
showContent(e,"about","c_about",400,null,args.get(),false,true,false);
};
var showSecure=function(button,action,dialog,width,tab,params,right,modal,buffer)
{
if(typeof button=="string")
button=getStripItem("c_menustrip",button);
if(secTest)
{
showContent(button,action,dialog,width,tab,params,right,modal,buffer);
return;
}
removeDialogs();
if(button) cd.setId(button,"stripcur");
cd.setValue("c_secpass","");
enableButtons();
secButton=button;
secAction=action;
secDialog=dialog;
secWidth=width;
secTab=tab;
secParams=params;
secRight=right;
secModal=modal;
secBuffer=buffer;
showDialog("c_security",240,true,false);
};
var showContent=function(button,action,dialog,width,tab,params,right,modal,buffer)
{
var err="Content request problem";
var c=dialog+"content";
if(typeof button=="string")
button=getStripItem("c_menustrip",button);
if(buffer && cd.getHtml(c)!="")
{
if(button) cd.setId(button,"stripcur");
if(tab) setTab(action,tab);
showDialog(dialog,width,right,modal);
return;
}
var callback=function(r)
{
if(button) showWaiting(null,0,false,false);
if(!ca.isValid(r))
{
showError(err);
return;
}
var resp=ca.getResponse(r);
switch(resp.code)
{
case ca.RS_BAD:
showError(err,
"<h2>Request failed</h2>"+
"<p>"+resp.info+"</p>");
break;
default:
cd.setHtml(c,r.responseText);
showDialog(dialog,width,right,modal);
if(button) cd.setId(button,"stripcur");
if(tab) setTab(action,tab);
break;
}
}
var args=new argu();
var url=co.getDispatchUrl(args);
args.add("action",action);
if(action=="submit" || action=="tasks")
args.add("group",listGroup);
var p=args.get();
if(params && params!="")
{
if(p && p!="") p+="&";
p+=params;
}
try {ca.request(url,ca.POST,p,callback);}
catch(e) {showError(err,"<h2>"+e.message+"<h2>"); return;}
if(button) showWaiting(button,width,right,true);
};
var showDialog=function(id,width,right,modal)
{
showBack();
dlgModal=modal;
var d=$(id);
cd.setWidth(d,width);
cd.setDisplay(d,"block");
alignDialog(d,right);
enableButtons();
setInitialFocus(d);
};
var alignDialog=function(d,right)
{
d=cd.getElement(d);
if(!d) return;
var sh=parseInt($("c_strip").offsetHeight)
cd.setTop(d,sh);
if(right)
{
var cl=cf.getClientWidth()-parseInt(d.offsetWidth);
if(cl<0) cl=0;
cd.setLeft(d,cl);
}
else cd.setLeft(d,0);
};
var removeDialogs=function()
{
cd.setDisplay("c_login","none");
cd.setDisplay("c_forgot","none");
cd.setDisplay("c_signup","none");
cd.setDisplay("c_security","none");
cd.setDisplay("c_about","none");
cd.setDisplay("c_delegate","none");
cd.setDisplay("c_submit","none");
cd.setDisplay("c_tasks","none");
cd.setDisplay("c_profile","none");
cd.setDisplay("c_dialog","none");
cd.setDisplay("c_waiting","none");
cd.setDisplay("c_uploading","none");
cd.setDisplay("c_info","none");
cd.setDisplay("c_error","none");
cd.setId("stripcur","");
};
var showBack=function()
{
cd.setDisplay("c_stripback","block");
cf.shadow("c_strip",2);
};
var removeBack=function()
{
cd.setDisplay("c_stripback","none");
cf.shadow("c_strip",0);
};
var setInitialFocus=function(id)
{
var f=null;
var t=cd.getElements(null,id);
for(var n=0;!f && n<t.length;n++)
{
var e=t[n];
switch(cd.getTag(e))
{
case "input":
case "textarea":
case "select":
if(e.getAttribute("type")!="hidden" &&
!e.getAttribute("readonly") &&
!e.onfocus) f=e;
break;
}
}
if(!f) return;
try {cf.setFocus(f);}
catch(e) {}
};
var displayHint=function(e,text,field,dialog,tab)
{
if(text)
{
if(dialog) setTab(dialog,tab);
cd.setHtml(e,text);
cd.setDisplay(e,"block");
if(field) cf.setFocus(field);
}
else cd.setDisplay(e,"none");
};
var enableButtons=function()
{
displayHint("c_loginhint");
displayHint("c_forgothint");
displayHint("c_signuphint");
displayHint("c_securityhint");
displayHint("c_submithint");
displayHint("c_taskhint");
displayHint("c_mailhint");
displayHint("c_uploadhint");
displayHint("c_profilehint");
var d=(cd.getValue("c_user")=="" ||
cd.getValue("c_pass")=="");
cd.setAttr("c_loginbtn","disabled",d?"disabled":"");
d=(cd.getValue("c_femail")=="");
cd.setAttr("c_fbtn","disabled",d?"disabled":"");
d=(cd.getValue("c_email")=="" ||
cd.getValue("c_fname")=="" ||
cd.getValue("c_lname")=="" ||
cd.getValue("c_password")=="" ||
cd.getValue("c_confirm")=="" ||
!cd.isChecked("c_terms"));
cd.setAttr("c_subtn","disabled",d?"disabled":"");
if(!cd.getValue("c_password").validPassword())
{
displayHint(
"c_signuphint",
"Your password must be at least 6 characters long and contain at least one number.");
}
d=(cd.getValue("c_secpass")=="")
cd.setAttr("c_secbtn","disabled",d?"disabled":"");
var c=cd.getElementById("tabssubmit","tabcurrent");
if(c && cd.getAttr(c,"form")=="notes")
{
cd.setDisplay("c_smnextbtn","none");
cd.setDisplay("c_smbtn","");
}
var c=cd.getElementById("tabsabout","tabcurrent");
if(c && cd.getAttr(c,"form")=="options")
{
cd.setDisplay("c_optsavebtn","");
cd.setHtml("c_optclosebtn","Cancel");
}
};
var getStripItem=function(d,id)
{
var e=cd.getElements("td",d);
for(var n=0;n<e.length;n++)
{
if(cd.getAttr(e[n],"stripitem")==id)
return e[n];
}
return null;
};
var displayStripItem=function(d,id,visible)
{
var e=getStripItem(d,id);
if(e) cd.setDisplay(e,visible?"":"none");
};
var setTab=function(dialog,tab)
{
var id="tabs"+dialog;
var c=cd.getElementById(id,"tabcurrent");
if(c)
{
cd.setId(c,"");
cd.setDisplay("tab"+cd.getAttr(c,"form"),"none");
}
var t=cd.getElements("td",id);
for(var n=0;n<t.length;n++)
{
if(cd.getAttr(t[n],"form")==tab)
{
c="tab"+tab;
cd.setId(t[n],"tabcurrent");
cd.setDisplay(c,"block");
setInitialFocus(c);
break;
}
}
enableButtons();
};
var resetSubmitList=function()
{
cd.setHtml("c_submitcontent","");
};
var resetTaskList=function()
{
cd.setHtml("c_taskscontent","");
};
var toggleListIcon=function(e,v,i1,i2)
{
var n=cd.getElements("div",e,v?i1:i2);
if(n.length>0)
{
cd.setClass(n[0],v?i2:i1);
return true;
}
return false;
};
var storeLogin=function(v)
{
storeStart();
storeValue("login",v);
storeUpdate();
};
var storeStart=function()
{
storeErase="";
storeSet="";
storeValues="";
};
var storeOption=function(s)
{
var v=cd.getValue("_"+s);
if(v=="default") v=null;
storeValue(s,v);
};
var storeValue=function(s,v)
{
var d=(cookieMethod=="direct");
if(!v || v=="")
{
if(d) cc.erase(s);
else
{
if(storeErase!="") storeErase+=",";
storeErase+=s;
}
return;
}
if(d) cc.set(s,v);
else
{
if(storeSet!="") storeSet+=",";
storeSet+=s;
storeValues+="&value"+s+"="+encodeURIComponent(v);
}
};
var storeUpdate=function()
{
if(storeErase!="") pointviewCookies("erase",storeErase,"");
if(storeSet!="") pointviewCookies("set",storeSet,storeValues);
};
var storeReload=function()
{
if(cookieMethod=="direct") cf.reloadPage();
else setTimeout(cf.reloadPage,3000);
};
var pointviewCookies=function(action,cookies,values)
{
if(cdd.ie || cdd.firefox || cdd.chrome)
{
var e=cd.createElement("script");
cd.setAttr(e,"type","text/javascript");
cd.setSrc(e,cookieBase+"/pv/cookies.asp?action="+action+"&method=server&cookies="+cookies+values);
cd.appendBody(e);
return;
}
window.open(
cookieBase+"/pv/cookies.asp?action="+action+"&method=client&cookies="+cookies+values,
"cookieUpdate"+updateId,
"top=10,left=10,width=60,height=60,"+
"menubar=no,"+
"toolbar=no,"+
"location=no,"+
"scrollbars=no,"+
"resizable=no,"+
"status=no");
updateId++;
};
return {
invoke:function(cmd,id)
{
switch(cmd)
{
case "about":
case "signup":
case "submit":
case "tasks":
case "profile":
case "login":
case "logout":
break;
default:
alert("Unknown Strip command '"+cmd+"'.");
return;
}
if(cd.getDisplay("c_menustrip")!="block")
{
alert("Cannot invoke strip command '"+cmd+"' while Strip is busy.");
return;
}
var e=getStripItem("c_menustrip",cmd);
if(cd.getDisplay(e)=="none")
{
if(cmd=="logout") return;
if(cmd!="submit" && cmd!="tasks" && cmd!="profile")
{
alert("Cannot invoke strip command '"+cmd+"' when context is wrong.");
return;
}
cmd="login";
e=getStripItem("c_menustrip",cmd);
}
if(cmd=="submit" && typeof id!="undefined")
{
removeDialogs();
cd.setId(e,"stripcur");
CLASMA.online.strip.onsubmission(id);
return;
}
CLASMA.online.strip.onstrip(e);
},
onload:function()
{
cf.disableBrowser("c_strip");
cf.opacity("c_stripback");
cd.addEvent(window,"resize",CLASMA.online.strip.onresize);
cd.addEvent(window,"scroll",CLASMA.online.strip.onresize);
CLASMA.online.strip.onresize();
cd.setValue("c_user",cookie_user);
cd.setValue("c_pass",cookie_pass);
enableButtons();
cd.setChecked("c_keep",true);
ca.setHeartbeat(
1*(15*1000),
CLASMA.online.strip.onheartbeat);
if(cookie_user!="" && cookie_pass!="" && cookie_login=="yes")
{
login(cookie_user,cookie_pass,true);
return;
}
showMenu(true);
co.onstriphome();
},
onresize:function()
{
var cw=cf.getClientWidth();
var ch=cf.getClientHeight();
var sh=parseInt($("c_strip").offsetHeight);
var e=$("c_stripback");
cd.setTop(e,sh);
cd.setWidth(e,cw);
cd.setHeight(e,cl.floorit(ch,-sh));
alignDialog("c_login",true);
alignDialog("c_forgot",true);
alignDialog("c_signup",true);
alignDialog("c_security",true);
alignDialog("c_submit",true);
alignDialog("c_tasks",true);
alignDialog("c_profile",true);
alignDialog("c_dialog",true);
},
onstrip:function(e)
{
var id=cd.getAttr(e,"stripitem");
var c=$("stripcur");
removeDialogs();
if(e==c)
{
removeBack();
switch(id)
{
case "ok":
showStrip();
break;
}
return;
}
switch(id)
{
case "about":
showAbout(e);
return;
case "user":
showContent(e,"delegate","c_delegate",240,null,"",false,false,false);
break;
case "login":
showDialog("c_login",190,true,false);
break;
case "signup":
showDialog("c_signup",240,true,true);
break;
case "submit":
showContent(e,"submit","c_submit",480,null,"",true,false,false);
return;
case "tasks":
showContent(e,"tasks","c_tasks",480,null,"",true,false,false);
return;
case "profile":
showSecure(e,"profile","c_profile",408,null,"",true,true,false);
return;
case "logout":
logout();
break;
default:
showError("Option problem",
"<h2>Not yet implemented</h2>"+
"<p>This option has not yet been implemented.<br/>"+
"Please be patient and check back soon.</p>");
return;
}
cd.setId(e,"stripcur");
},
onhidestrip:function()
{
if(dlgModal) return;
var m=(cd.getDisplay("c_info")=="block" ||
cd.getDisplay("c_error")=="block");
removeDialogs();
removeBack();
if(m) showMenu(!loggedIn);
},
onlogin:function()
{
if(cd.getAttr("c_loginbtn","disabled")=="disabled")
return;
var user=cd.getValue("c_user");
var pass=cd.getValue("c_pass");
if(user=="" || pass=="")
{
cf.setFocus("c_user");
return;
}
if(!user.validEmail())
{
displayHint(
"c_loginhint",
"Your Email address does not look valid.",
"c_user");
return;
}
displayHint("c_loginhint");
if(cd.isChecked("c_keep"))
{
storeStart();
storeValue("user",user);
storeValue("pass",pass);
storeUpdate();
}
login(user,pass,false);
},
onreceive:function()
{
var email=cd.getValue("c_user");
request(email);
},
onsignup:function()
{
if(cd.getAttr("c_subtn","disabled")=="disabled")
return;
var email=cd.getValue("c_email");
var fname=cd.getValue("c_fname");
var lname=cd.getValue("c_lname");
var company=cd.getValue("c_company");
var pass=cd.getValue("c_password");
var conf=cd.getValue("c_confirm");
if(email=="" || fname=="" || lname=="" || pass=="" || conf=="")
{
displayHint(
"c_signuphint",
"A required field is missing.",
"c_email");
return;
}
if(!email.validEmail())
{
displayHint(
"c_signuphint",
"Your Email address does not look valid.",
"c_email");
return;
}
if(!pass.validPassword())
{
displayHint(
"c_signuphint",
"Your password must be at least 6 characters long and contain at least one number.",
"c_password");
return;
}
if(pass!=conf)
{
displayHint(
"c_signuphint",
"Your password confirmation does not match.",
"c_confirm");
return;
}
if(!cd.isChecked("c_terms"))
{
displayHint(
"c_signuphint",
"You must agree to our terms of service before you can continue.",
"c_terms");
return;
}
displayHint("c_signuphint");
signup(email,fname,lname,company,pass);
},
onresend:function()
{
if(cd.getAttr("c_fbtn","disabled")=="disabled")
return;
var email=cd.getValue("c_femail");
if(email=="")
{
displayHint(
"c_forgothint",
"Enter your Email address.",
"c_femail");
return;
}
if(!email.validEmail())
{
displayHint(
"c_forgothint",
"Your Email address does not look valid.",
"c_femail");
return;
}
cd.setValue("c_user",email);
enableButtons();
displayHint("c_forgothint");
request(email);
},
onforgot:function(ditch)
{
cd.setDisplay("c_login","none");
cd.setDisplay("c_security","none");
var email=cd.getValue("c_user");
cd.setValue("c_femail",email);
enableButtons();
showDialog("c_forgot",240,true,false);
},
onrequest:function()
{
var email=cd.getValue("c_email");
request(email);
},
onkeep:function()
{
if(!cd.isChecked("c_keep"))
{
storeStart();
storeValue("user",null);
storeValue("pass",null);
storeValue("login",null);
storeUpdate();
}
},
ontermschange:function()
{
enableButtons();
},
onshowterms:function()
{
window.open(cookieBase+"/pv/policy.asp");
cd.setChecked("c_terms",true);
enableButtons();
},
onsecurity:function()
{
if(cd.getAttr("c_secbtn","disabled")=="disabled")
return;
var pass=cd.getValue("c_secpass");
if(pass=="")
{
displayHint(
"c_securityhint",
"Enter your password to continue.",
"c_secpass");
return;
}
displayHint("c_securityhint");
security(pass);
},
onmembership:function(oid)
{
membership(oid);
},
ondelegate:function(pid)
{
assume(pid,"delegate");
},
onassume:function(pid)
{
var ok=confirm("Are you sure you want to assume the identity of this person?");
if(!ok) return;
assume(pid,"assume");
},
onlistsection:function(e)
{
var n=e.nextSibling;
var v=cd.isVisible(n);
cd.setShow(n,!v);
if(!toggleListIcon(e,v,"icond","iconr"))
toggleListIcon(e,v,"iconuu","icondd");
},
onsubdetails:function(e,type)
{
if(cd.getId(e)!="subcurr")
details(e,"submit",type,"c_subdetails","subcurr");
},
onsubmission:function(sid)
{
showSecure("submit","submit","c_dialog",480,null,"new="+sid,true,true,false);
},
onsubmit:function(sid,id)
{
var title=cd.getValue("c_smtitle");
var abst=cd.getValue("c_smabstract");
var notes=cd.getValue("c_smnotes");
if(abst=="")
{
displayHint(
"c_submithint",
"You must enter an abstract.",
"c_smabstract",
"submit",
"abstract");
return;
}
var topics="";
var e=cd.getElements("input","tabtopics");
for(var n=0;n<e.length;n++)
{
var c=e[n];
var s=cd.getId(c);
if(s.substr(0,7)=="c_topic" && cd.isChecked(c))
{
if(topics!="") topics+=",";
topics+=s.substr(7);
}
}
displayHint("c_submithint");
submission(sid,id,title,abst,topics,notes);
},
onsubmitnext:function()
{
var n;
var c=cd.getElementById("tabssubmit","tabcurrent");
switch(cd.getAttr(c,"form"))
{
case "introduction": n="details"; break;
case "details": n="abstract"; break;
case "abstract": n="topics"; break;
case "topics": n="notes"; break;
default: return;
}
setTab("submit",n);
},
ontaskdetails:function(e,type)
{
if(cd.getId(e)!="taskcurr")
details(e,"tasks",type,"c_taskdetails","taskcurr");
},
ontaskmanage:function(type,id)
{
removeDialogs();
removeBack();
var hash=type+"_"+id;
if(typeof CLASMA.pointview=="undefined")
{
window.location=cookieBase+"/pv/pointview.asp#"+hash;
return;
}
resetSubmitList();
resetTaskList();
window.location.hash=hash;
},
ontaskadd:function()
{
showSecure("tasks","tasks","c_dialog",408,null,"add="+loggedPid,true,true,false);
},
ontaskedit:function(id)
{
showSecure("tasks","tasks","c_dialog",408,null,"edit="+id,true,true,false);
},
ontaskupdate:function(id)
{
var title=cd.getValue("c_title");
var desc=cd.getValue("c_description");
var assignpid=cd.getValue("c_assignpid");
var duedate=cd.getValue("c_duedate");
var priority=cd.getValue("c_priority");
if(title=="")
{
displayHint(
"c_taskhint",
"A required field is missing.",
"c_title");
return;
}
displayHint("c_taskhint");
taskupdate(id,title,desc,assignpid,duedate,priority);
},
ontaskview:function(id)
{
removeDialogs();
removeBack();
window.location.hash="task_"+id;
},
ontaskpresedit:function(id)
{
showSecure("tasks","submit","c_dialog",480,null,"edit="+id,true,true,false);
},
ontaskmore:function(e)
{
var c=cd.getParentElement(e,null,"striplistdetails");
if(!c) return;
c=cd.getElementById(c,"c_taskmore");
if(!c) return;
var v=(cd.getDisplay(c)=="none");
cd.setValue(e,v?"Less":"More");
cd.setDisplay(c,v?"block":"none");
},
ontaskconfirm:function(id)
{
showSecure("tasks","tasks","c_dialog",480,null,"confirm="+id,true,true,false);
},
ontaskconfirmed:function(id)
{
for(var n=1;n<5;n++)
{
var f="c_con"+n;
if(!cd.isChecked(f))
{
displayHint(
"c_submithint",
"A required field is missing.",
f);
return;
}
}
var dist=cd.isChecked("c_distribute");
displayHint("c_submithint");
taskpresstatus(id,"4",dist);
},
ontaskwithdraw:function(id)
{
showSecure("tasks","tasks","c_dialog",480,null,"withdraw="+id,true,true,false);
},
ontaskdecline:function(id)
{
showSecure("tasks","tasks","c_dialog",480,null,"decline="+id,true,true,false);
},
ontaskdeclined:function(id)
{
taskpresstatus(id,"10");
},
ontasknoppt:function(id)
{
showSecure("tasks","tasks","c_dialog",480,null,"noppt="+id,true,true,false);
},
ontaskfinalize:function(id)
{
showSecure("tasks","tasks","c_dialog",480,null,"finalize="+id,true,true,false);
},
ontaskfinalized:function(id)
{
taskpresstatus(id,"6");
},
ontaskchange:function(id)
{
showSecure("tasks","tasks","c_dialog",480,null,"change="+id,true,true,false);
},
ontaskchanged:function(id)
{
taskpresstatus(id,"5");
},
ontaskstart:function(id)
{
taskstatus(id,"1");
},
ontaskcomplete:function(id)
{
taskstatus(id,"2");
},
ontaskclose:function(id)
{
taskstatus(id,"3");
},
ontasklater:function(e)
{
var c=cd.getParentElement(e,null,"striplistdetails");
if(!c) return;
cd.setHtml(c,"<div class=\"sdetails4anp\">Select an item from the list to see its details.</div>");
},
ongroupby:function(e)
{
listGroup=cd.getAttr(e,"form");
var c=cd.getParentElement(e,"div");
if(!c) return;
var action=(c.id=="c_taskscontent")?"tasks":"submit";
fetchlist(c,action);
},
onfiles:function(id)
{
var args="source=presentation:"+id;
showSecure("tasks","files","c_dialog",480,null,args,true,false,false);
},
onfiledetails:function(e,type)
{
details(e,"files",type,"c_filedetails","taskcurr");
},
onfileview:function(url)
{
window.open(url,'_blank')
},
onfileedit:function(fid)
{
var args="edit="+fid;
showSecure("tasks","files","c_dialog",408,null,args,true,true,false);
},
onfilesubmit:function(fid)
{
submitfile(fid);
},
onfiledelete:function(fid)
{
var ok=confirm("Are you sure you want to delete this file?");
if(!ok) return;
deletefile(fid);
},
onfilechange:function(e)
{
var sour=cd.getValue("_sourfile1");
cd.setValue("_title",sour.parseFile().file);
},
onfileupload:function(id,type)
{
var args=type+"="+id;
showSecure("tasks","upload","c_dialog",408,null,args,true,true,false);
},
onfilesend:function(id,ppt,types)
{
var sour=cd.getValue("_sourfile1");
var dest=cd.getValue("_destfile1");
if(sour=="")
{
displayHint(
"c_uploadhint",
"You must select a file to upload.",
"_sourfile1");
return;
}
var s=sour.parseFile();
var e=s.ext.toLowerCase();
if(types.indexOf("."+e+",")==-1)
{
displayHint(
"c_uploadhint",
"File type '"+e+"' is not valid for upload.",
"_sourfile1");
return;
}
if(!ppt && cd.getValue("_title")=="")
{
displayHint(
"c_uploadhint",
"You must supply a title for your file.",
"_title");
return;
}
if(cd.getValue("_destexist1")=="yes")
{
var ok=confirm("A version of this file has previously been uploaded.\nDo you want to overwrite it?");
if(!ok) return false;
}
var d=dest.parseFile();
cd.setValue("_destfile1",d.path+d.file+"."+e);
sendupload(id,ppt);
},
onemail:function(id)
{
showSecure("tasks","email","c_dialog",408,null,"new="+id,true,true,false);
},
onsendemail:function(id)
{
var subject=cd.getValue("c_emsubject");
var text=cd.getValue("c_emtext");
var managers=cd.isChecked("c_emmanagers");
var speakers=cd.isChecked("c_emspeakers");
var copyme=cd.isChecked("c_emcopyme");
if(subject=="")
{
displayHint(
"c_mailhint",
"You must supply a subject for your Email.",
"c_emsubject");
return;
}
if(text=="")
{
displayHint(
"c_mailhint",
"You must supply a message for your Email.",
"c_emtext");
return;
}
if(!managers && !speakers)
{
displayHint(
"c_mailhint",
"You specify who you want to send your Email to.",
"c_emmanagers");
return;
}
displayHint("c_mailhint");
sendmail(id,subject,text,managers,speakers,copyme);
},
onprofileedit:function(tab)
{
removeDialogs();
showSecure("profile","profile","c_profile",408,tab,"",true,true,true);
},
onprofile:function()
{
var email=cd.getValue("c_acemail");
var salute=cd.getValue("c_acsalute");
var fname=cd.getValue("c_acfname");
var lname=cd.getValue("c_aclname");
var cert=cd.getValue("c_accert");
var tel=cd.getValue("c_actel");
var mobile=cd.getValue("c_acmobile");
var company=cd.getValue("c_accompany");
var title=cd.getValue("c_actitle");
var dept=cd.getValue("c_acdept");
var url=cd.getValue("c_acurl");
var assname=cd.getValue("c_acassname");
var assemail=cd.getValue("c_acassemail");
var asstel=cd.getValue("c_acasstel");
var bio=cd.getValue("c_acbio");
var pass=cd.getValue("c_acpass");
var conf=cd.getValue("c_acconf");
if(email=="" || fname=="" || lname=="")
{
displayHint(
"c_profilehint",
"A required field is missing.",
"c_acemail",
"profile",
"personal");
return;
}
if(!email.validEmail())
{
displayHint(
"c_profilehint",
"Your Email address does not look valid.",
"c_acemail",
"profile",
"personal");
return;
}
if(assemail!="" && !assemail.validEmail())
{
displayHint(
"c_profilehint",
"Your assistants Email address does not look valid.",
"c_acassemail",
"profile",
"assistant");
return;
}
if(pass!="" || conf!="")
{
if(!pass.validPassword())
{
displayHint(
"c_profilehint",
"Your password must be at least 6 characters long and contain at least one number.",
"c_acpass",
"profile",
"password");
return;
}
if(pass!=conf)
{
displayHint(
"c_profilehint",
"Your password confirmation does not match.",
"c_acconf",
"profile",
"password");
return;
}
}
displayHint("c_profilehint");
profile(email,salute,fname,lname,cert,tel,mobile,
company,title,dept,url,
assname,assemail,asstel,
bio,
pass);
},
onprofilecancel:function()
{
showMenu(false);
setTimeout(function(){cd.setHtml("c_profilecontent","");},100);
},
onopttheme:function()
{
var v=(cd.getValue("_theme")=="custom");
cd.setDisplay("c_custtheme",v?"":"none");
},
onoptsave:function()
{
storeStart();
storeOption("font");
storeOption("fontsize");
storeOption("fontspace");
storeOption("theme");
storeOption("hue");
storeOption("saturation");
storeOption("lightness");
storeOption("background");
storeOption('_blank');
storeUpdate();
CLASMA.online.strip.oncancel();
storeReload();
},
ontab:function(dialog,tab)
{
setTab(dialog,tab);
enableButtons();
},
oneditfield:function(e)
{
enableButtons();
return true;
},
onnextfield:function(e,next)
{
enableButtons();
if(cf.getKey(e)==cf.K_RETURN)
{
cf.setFocus(next);
return false;
}
return true;
},
onnexttab:function(e,dialog,tab)
{
enableButtons();
if(cf.getKey(e)==cf.K_RETURN)
{
setTab(dialog,tab);
return false;
}
return true;
},
onlastfield:function(e,fn)
{
enableButtons();
if(cf.getKey(e)==cf.K_RETURN)
{
fn();
return false;
}
return true;
},
oncancel:function()
{
showMenu(!loggedIn);
},
onheartbeat:function()
{
heartbeat();
}
}; }();
CLASMA.dom.addDomLoadEvent(CLASMA.online.strip.onload);
